...

Source file src/github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachineimage/entities_test.go

Documentation: github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachineimage

     1  // +build go1.7
     2  
     3  package virtualmachineimage
     4  
     5  // Copyright (c) Microsoft Corporation. All rights reserved.
     6  // Licensed under the MIT License. See License.txt in the project root for license information.
     7  
     8  import (
     9  	"encoding/xml"
    10  	"testing"
    11  )
    12  
    13  const xml1 = `
    14  <VMImage>
    15  	<Name>imgName</Name>
    16  	<Label>PackerMade_Ubuntu_Serv14</Label>
    17  	<Category>User</Category>
    18  	<Description>packer made image</Description>
    19  	<OSDiskConfiguration>
    20  		<Name>OSDisk</Name>
    21  		<HostCaching>ReadWrite</HostCaching>
    22  		<OSState>Generalized</OSState>
    23  		<OS>Linux</OS>
    24  		<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd</MediaLink>
    25  		<LogicalDiskSizeInGB>30</LogicalDiskSizeInGB>
    26  		<IOType>Standard</IOType>
    27  	</OSDiskConfiguration>
    28  	<DataDiskConfigurations/>
    29  	<ServiceName>PkrSrvf3mz03u4mi</ServiceName>
    30  	<DeploymentName>PkrVMf3mz03u4mi</DeploymentName>
    31  	<RoleName>PkrVMf3mz03u4mi</RoleName>
    32  	<Location>Central US</Location>
    33  	<CreatedTime>2015-12-12T08:59:29.1936858Z</CreatedTime>
    34  	<ModifiedTime>2015-12-12T08:59:29.1936858Z</ModifiedTime>
    35  	<ImageFamily>PackerMade</ImageFamily>
    36  	<RecommendedVMSize>Small</RecommendedVMSize>
    37  	<IsPremium>false</IsPremium>
    38  	<VMImageState>VMImageReadyForUse</VMImageState>
    39  	<RoleStateOnCapture>StoppedVM</RoleStateOnCapture>
    40  	<RoleSizeOnCapture>Small</RoleSizeOnCapture>
    41  </VMImage>`
    42  const xml2 = `
    43  <VMImage>
    44  	<Name>imgName</Name>
    45  	<Label>PackerMade_Ubuntu_Serv14</Label>
    46  	<Category>User</Category>
    47  	<Description>packer made image</Description>
    48  	<OSDiskConfiguration>
    49  		<Name>OSDisk</Name>
    50  		<HostCaching>ReadWrite</HostCaching>
    51  		<OSState>Generalized</OSState>
    52  		<OS>Linux</OS>
    53  		<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd</MediaLink>
    54  		<LogicalDiskSizeInGB>30</LogicalDiskSizeInGB>
    55  		<IOType>Standard</IOType>
    56  	</OSDiskConfiguration>
    57  	<DataDiskConfigurations>
    58  		<DataDiskConfiguration>
    59  			<Name>DataDisk1</Name>
    60  			<HostCaching>ReadWrite</HostCaching>
    61  			<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd1.vhd</MediaLink>
    62  			<LogicalDiskSizeInGB>31</LogicalDiskSizeInGB>
    63  			<IOType>Standard</IOType>
    64  		</DataDiskConfiguration>
    65  		<DataDiskConfiguration>
    66  			<Name>DataDisk2</Name>
    67  			<HostCaching>ReadWrite</HostCaching>
    68  			<MediaLink>https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd2.vhd</MediaLink>
    69  			<LogicalDiskSizeInGB>32</LogicalDiskSizeInGB>
    70  			<IOType>Standard</IOType>
    71  		</DataDiskConfiguration>
    72  	</DataDiskConfigurations>
    73  	<ServiceName>PkrSrvf3mz03u4mi</ServiceName>
    74  	<DeploymentName>PkrVMf3mz03u4mi</DeploymentName>
    75  	<RoleName>PkrVMf3mz03u4mi</RoleName>
    76  	<Location>Central US</Location>
    77  	<CreatedTime>2015-12-12T08:59:29.1936858Z</CreatedTime>
    78  	<ModifiedTime>2015-12-12T08:59:29.1936858Z</ModifiedTime>
    79  	<ImageFamily>PackerMade</ImageFamily>
    80  	<RecommendedVMSize>Small</RecommendedVMSize>
    81  	<IsPremium>false</IsPremium>
    82  	<VMImageState>VMImageReadyForUse</VMImageState>
    83  	<RoleStateOnCapture>StoppedVM</RoleStateOnCapture>
    84  	<RoleSizeOnCapture>Small</RoleSizeOnCapture>
    85  </VMImage>`
    86  
    87  func Test_NoDataDisksUnmarshal(t *testing.T) {
    88  	var image VMImage
    89  	if err := xml.Unmarshal([]byte(xml1), &image); err != nil {
    90  		t.Fatal(err)
    91  	}
    92  
    93  	check := checker{t}
    94  	check.Equal(0, len(image.DataDiskConfigurations))
    95  }
    96  
    97  func Test_DataDiskCountUnmarshal(t *testing.T) {
    98  	var image VMImage
    99  	if err := xml.Unmarshal([]byte(xml2), &image); err != nil {
   100  		t.Fatal(err)
   101  	}
   102  
   103  	check := checker{t}
   104  	check.Equal(2, len(image.DataDiskConfigurations))
   105  	check.Equal("DataDisk1", image.DataDiskConfigurations[0].Name)
   106  	check.Equal("DataDisk2", image.DataDiskConfigurations[1].Name)
   107  }
   108  
   109  type checker struct{ *testing.T }
   110  
   111  func (a *checker) Equal(expected, actual interface{}) {
   112  	if expected != actual {
   113  		a.T.Fatalf("Expected %q, but got %q", expected, actual)
   114  	}
   115  }
   116  

View as plain text