1
// Copyright 2016 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
jc "github.com/juju/testing/checkers"
12
type SpaceSerializationSuite struct {
13
SliceSerializationSuite
16
var _ = gc.Suite(&SpaceSerializationSuite{})
18
func (s *SpaceSerializationSuite) SetUpTest(c *gc.C) {
19
s.SliceSerializationSuite.SetUpTest(c)
20
s.importName = "spaces"
21
s.sliceName = "spaces"
22
s.importFunc = func(m map[string]interface{}) (interface{}, error) {
23
return importSpaces(m)
25
s.testFields = func(m map[string]interface{}) {
26
m["spaces"] = []interface{}{}
30
func (s *SpaceSerializationSuite) TestNewSpace(c *gc.C) {
36
space := newSpace(args)
37
c.Assert(space.Name(), gc.Equals, args.Name)
38
c.Assert(space.Public(), gc.Equals, args.Public)
39
c.Assert(space.ProviderID(), gc.Equals, args.ProviderID)
42
func (s *SpaceSerializationSuite) TestParsingSerializedData(c *gc.C) {
51
newSpace(SpaceArgs{Name: "foo"}),
55
bytes, err := yaml.Marshal(initial)
56
c.Assert(err, jc.ErrorIsNil)
58
var source map[string]interface{}
59
err = yaml.Unmarshal(bytes, &source)
60
c.Assert(err, jc.ErrorIsNil)
62
spaces, err := importSpaces(source)
63
c.Assert(err, jc.ErrorIsNil)
65
c.Assert(spaces, jc.DeepEquals, initial.Spaces_)