~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/worker/uniter/runner/jujuc/testing/version.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2016 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package testing
 
5
 
 
6
import (
 
7
        "github.com/juju/errors"
 
8
)
 
9
 
 
10
// Version holds values for the hook context.
 
11
type Version struct {
 
12
        WorkloadVersion string
 
13
}
 
14
 
 
15
// ContextVersion is a test double for jujuc.ContextVersion.
 
16
type ContextVersion struct {
 
17
        contextBase
 
18
        info *Version
 
19
}
 
20
 
 
21
// UnitWorkloadVersion implements jujuc.ContextVersion.
 
22
func (c *ContextVersion) UnitWorkloadVersion() (string, error) {
 
23
        c.stub.AddCall("UnitWorkloadVersion")
 
24
        if err := c.stub.NextErr(); err != nil {
 
25
                return "", errors.Trace(err)
 
26
        }
 
27
        return c.info.WorkloadVersion, nil
 
28
}
 
29
 
 
30
// SetUnitWorkloadVersion implements jujuc.ContextVersion.
 
31
func (c *ContextVersion) SetUnitWorkloadVersion(version string) error {
 
32
        c.stub.AddCall("SetUnitWorkloadVersion", version)
 
33
        if err := c.stub.NextErr(); err != nil {
 
34
                return errors.Trace(err)
 
35
        }
 
36
        c.info.WorkloadVersion = version
 
37
        return nil
 
38
}