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);
            }
        }
Esempio n. 2
0
 ///GENMHASH:A7E90FDB3C926DF27F7112B4B162FAF4:18F40888397DB8447972CA66C758B20D
 internal VirtualMachineExtensionImageImpl(IVirtualMachineExtensionImageVersion version, VirtualMachineExtensionImageInner inner) : base(inner)
 {
     this.version = version;
 }