public void CanGetExtensionTypeVersionAndImage() { using (var context = FluentMockContext.Start(GetType().FullName)) { var azure = TestHelper.CreateRollupClient(); var extensionImages = azure.VirtualMachineExtensionImages .ListByRegion(Region.USEast); string dockerExtensionPublisherName = "Microsoft.Azure.Extensions"; string dockerExtensionImageTypeName = "DockerExtension"; // Lookup Azure docker extension publisher // var publishers = azure.VirtualMachineExtensionImages .Publishers .ListByRegion(Region.USEast); IVirtualMachinePublisher azureDockerExtensionPublisher = publishers .Where(publisher => publisher.Name.Equals(dockerExtensionPublisherName, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); Assert.NotNull(azureDockerExtensionPublisher); // Lookup Azure docker extension type // var extensionImageTypes = azureDockerExtensionPublisher.ExtensionTypes; Assert.True(extensionImageTypes.List().Count() > 0); var dockerExtensionImageType = extensionImageTypes .List() .Where(imageType => imageType.Name.Equals(dockerExtensionImageTypeName, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); Assert.NotNull(dockerExtensionImageType); Assert.NotNull(dockerExtensionImageType.Id); Assert.Equal(dockerExtensionImageType.Name, dockerExtensionImageTypeName, ignoreCase: true); Assert.Equal("eastus", dockerExtensionImageType.RegionName, ignoreCase: true); Assert.EndsWith("/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.Azure.Extensions/ArtifactTypes/VMExtension/Types/DockerExtension".ToLower(), dockerExtensionImageType.Id .ToLower() ); Assert.NotNull(dockerExtensionImageType.Publisher); Assert.Equal(dockerExtensionImageType.Publisher.Name, dockerExtensionPublisherName, ignoreCase: true); // Fetch Azure docker extension versions // var extensionImageVersions = dockerExtensionImageType.Versions; Assert.True(extensionImageVersions.List().Count() > 0); IVirtualMachineExtensionImageVersion extensionImageFirstVersion = extensionImageVersions.List().FirstOrDefault(); Assert.NotNull(extensionImageFirstVersion); String versionName = extensionImageFirstVersion.Name; Assert.EndsWith(("/Providers/Microsoft.Compute/Locations/eastus/Publishers/Microsoft.Azure.Extensions/ArtifactTypes/VMExtension/Types/DockerExtension/Versions/" + versionName).ToLower(), extensionImageFirstVersion.Id .ToLower() ); Assert.NotNull(extensionImageFirstVersion.Type); // Fetch the Azure docker extension image // var dockerExtensionImage = extensionImageFirstVersion.GetImage(); Assert.Equal("eastus", dockerExtensionImage.RegionName, ignoreCase: true); Assert.Equal(dockerExtensionImage.PublisherName, dockerExtensionPublisherName, ignoreCase: true); Assert.Equal(dockerExtensionImage.TypeName, dockerExtensionImageTypeName, ignoreCase: true); Assert.Equal(dockerExtensionImage.VersionName, versionName, ignoreCase: true); Assert.True(dockerExtensionImage.OSType == OperatingSystemTypes.Linux || dockerExtensionImage.OSType == OperatingSystemTypes.Windows); } }
///GENMHASH:A7E90FDB3C926DF27F7112B4B162FAF4:18F40888397DB8447972CA66C758B20D internal VirtualMachineExtensionImageImpl(IVirtualMachineExtensionImageVersion version, VirtualMachineExtensionImageInner inner) : base(inner) { this.version = version; }