github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/uniter/runner/jujuc/jujuctesting/version.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package jujuctesting 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 }