github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/payload/api/helpers_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package api 5 6 import ( 7 "github.com/juju/testing" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 "gopkg.in/juju/charm.v6" 11 "gopkg.in/juju/names.v2" 12 13 "github.com/juju/juju/apiserver/params" 14 "github.com/juju/juju/payload" 15 ) 16 17 type helpersSuite struct { 18 testing.IsolationSuite 19 } 20 21 var _ = gc.Suite(&helpersSuite{}) 22 23 func (helpersSuite) TestPayload2api(c *gc.C) { 24 apiPayload := Payload2api(payload.FullPayloadInfo{ 25 Payload: payload.Payload{ 26 PayloadClass: charm.PayloadClass{ 27 Name: "spam", 28 Type: "docker", 29 }, 30 ID: "idspam", 31 Status: payload.StateRunning, 32 Labels: []string{"a-tag"}, 33 Unit: "a-application/0", 34 }, 35 Machine: "1", 36 }) 37 38 c.Check(apiPayload, jc.DeepEquals, params.Payload{ 39 Class: "spam", 40 Type: "docker", 41 ID: "idspam", 42 Status: payload.StateRunning, 43 Labels: []string{"a-tag"}, 44 Unit: names.NewUnitTag("a-application/0").String(), 45 Machine: names.NewMachineTag("1").String(), 46 }) 47 } 48 49 func (helpersSuite) TestAPI2Payload(c *gc.C) { 50 pl, err := API2Payload(params.Payload{ 51 Class: "spam", 52 Type: "docker", 53 ID: "idspam", 54 Status: payload.StateRunning, 55 Labels: []string{"a-tag"}, 56 Unit: names.NewUnitTag("a-application/0").String(), 57 Machine: names.NewMachineTag("1").String(), 58 }) 59 c.Assert(err, jc.ErrorIsNil) 60 61 c.Check(pl, jc.DeepEquals, payload.FullPayloadInfo{ 62 Payload: payload.Payload{ 63 PayloadClass: charm.PayloadClass{ 64 Name: "spam", 65 Type: "docker", 66 }, 67 ID: "idspam", 68 Status: payload.StateRunning, 69 Labels: []string{"a-tag"}, 70 Unit: "a-application/0", 71 }, 72 Machine: "1", 73 }) 74 }