File: entities_test.go

package info (click to toggle)
golang-github-azure-azure-sdk-for-go 2.1.1~beta-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 4,596 kB
  • ctags: 7,237
  • sloc: makefile: 4
file content (110 lines) | stat: -rw-r--r-- 3,626 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package virtualmachineimage

import (
	"encoding/xml"
	"testing"
)

const xml1 = `
<VMImage>
	<Name>imgName</Name>
	<Label>PackerMade_Ubuntu_Serv14</Label>
	<Category>User</Category>
	<Description>packer made image</Description>
	<OSDiskConfiguration>
		<Name>OSDisk</Name>
		<HostCaching>ReadWrite</HostCaching>
		<OSState>Generalized</OSState>
		<OS>Linux</OS>
		<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd</MediaLink>
		<LogicalDiskSizeInGB>30</LogicalDiskSizeInGB>
		<IOType>Standard</IOType>
	</OSDiskConfiguration>
	<DataDiskConfigurations/>
	<ServiceName>PkrSrvf3mz03u4mi</ServiceName>
	<DeploymentName>PkrVMf3mz03u4mi</DeploymentName>
	<RoleName>PkrVMf3mz03u4mi</RoleName>
	<Location>Central US</Location>
	<CreatedTime>2015-12-12T08:59:29.1936858Z</CreatedTime>
	<ModifiedTime>2015-12-12T08:59:29.1936858Z</ModifiedTime>
	<ImageFamily>PackerMade</ImageFamily>
	<RecommendedVMSize>Small</RecommendedVMSize>
	<IsPremium>false</IsPremium>
	<VMImageState>VMImageReadyForUse</VMImageState>
	<RoleStateOnCapture>StoppedVM</RoleStateOnCapture>
	<RoleSizeOnCapture>Small</RoleSizeOnCapture>
</VMImage>`
const xml2 = `
<VMImage>
	<Name>imgName</Name>
	<Label>PackerMade_Ubuntu_Serv14</Label>
	<Category>User</Category>
	<Description>packer made image</Description>
	<OSDiskConfiguration>
		<Name>OSDisk</Name>
		<HostCaching>ReadWrite</HostCaching>
		<OSState>Generalized</OSState>
		<OS>Linux</OS>
		<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd</MediaLink>
		<LogicalDiskSizeInGB>30</LogicalDiskSizeInGB>
		<IOType>Standard</IOType>
	</OSDiskConfiguration>
	<DataDiskConfigurations>
		<DataDiskConfiguration>
			<Name>DataDisk1</Name>
			<HostCaching>ReadWrite</HostCaching>
			<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd1.vhd</MediaLink>
			<LogicalDiskSizeInGB>31</LogicalDiskSizeInGB>
			<IOType>Standard</IOType>
		</DataDiskConfiguration>
		<DataDiskConfiguration>
			<Name>DataDisk2</Name>
			<HostCaching>ReadWrite</HostCaching>
			<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd2.vhd</MediaLink>
			<LogicalDiskSizeInGB>32</LogicalDiskSizeInGB>
			<IOType>Standard</IOType>
		</DataDiskConfiguration>
	</DataDiskConfigurations>
	<ServiceName>PkrSrvf3mz03u4mi</ServiceName>
	<DeploymentName>PkrVMf3mz03u4mi</DeploymentName>
	<RoleName>PkrVMf3mz03u4mi</RoleName>
	<Location>Central US</Location>
	<CreatedTime>2015-12-12T08:59:29.1936858Z</CreatedTime>
	<ModifiedTime>2015-12-12T08:59:29.1936858Z</ModifiedTime>
	<ImageFamily>PackerMade</ImageFamily>
	<RecommendedVMSize>Small</RecommendedVMSize>
	<IsPremium>false</IsPremium>
	<VMImageState>VMImageReadyForUse</VMImageState>
	<RoleStateOnCapture>StoppedVM</RoleStateOnCapture>
	<RoleSizeOnCapture>Small</RoleSizeOnCapture>
</VMImage>`

func Test_NoDataDisksUnmarshal(t *testing.T) {
	var image VMImage
	if err := xml.Unmarshal([]byte(xml1), &image); err != nil {
		t.Fatal(err)
	}

	check := checker{t}
	check.Equal(0, len(image.DataDiskConfigurations))
}

func Test_DataDiskCountUnmarshal(t *testing.T) {
	var image VMImage
	if err := xml.Unmarshal([]byte(xml2), &image); err != nil {
		t.Fatal(err)
	}

	check := checker{t}
	check.Equal(2, len(image.DataDiskConfigurations))
	check.Equal("DataDisk1", image.DataDiskConfigurations[0].Name)
	check.Equal("DataDisk2", image.DataDiskConfigurations[1].Name)
}

type checker struct{ *testing.T }

func (a *checker) Equal(expected, actual interface{}) {
	if expected != actual {
		a.T.Fatalf("Expected %q, but got %q", expected, actual)
	}
}