private IEnumerable <PSNodeVMExtension> GetExtensionByName(string poolId, string nodeId, string extensionName, PoolOperations poolOperations, ListComputeNodeExtensionParameters options)
        {
            WriteVerbose(string.Format(Resources.GetComputeNodeExtensionByName, extensionName, nodeId, poolId));

            ODATADetailLevel  getDetailLevel = new ODATADetailLevel(selectClause: options.Select);
            NodeVMExtension   extension      = poolOperations.GetComputeNodeExtension(poolId, nodeId, extensionName, detailLevel: getDetailLevel, additionalBehaviors: options.AdditionalBehaviors);
            PSNodeVMExtension psExtension    = new PSNodeVMExtension(extension);

            return(new PSNodeVMExtension[] { psExtension });
        }
        public void TestComputeNodeExtensionListAll()
        {
            using BatchClient client = ClientUnitTestCommon.CreateDummyClient();
            List <BatchClientBehavior> behaviors = new List <BatchClientBehavior> {
                CreateListAllInterceptor()
            };

            NodeVMExtension extension = client.PoolOperations.ListComputeNodeExtensions("poolId", "nodeId", behaviors).FirstOrDefault();

            AssertExtension(extension);
        }
        public void TestComputeNodeExtensionGet()
        {
            string name = "getTestExtension";

            using BatchClient client = ClientUnitTestCommon.CreateDummyClient();
            List <BatchClientBehavior> behaviors = new List <BatchClientBehavior> {
                CreateGetInterceptor(name)
            };

            NodeVMExtension extension = client.PoolOperations.GetComputeNodeExtension("poolId", "nodeId", name, null, behaviors);

            AssertExtension(extension, name);
        }
        private void AssertExtension(NodeVMExtension extension, string name = "batchNodeExtension")
        {
            Assert.NotNull(extension);

            Assert.NotNull(extension.VmExtension);
            Assert.Equal(name, extension.VmExtension.Name);
            Assert.Equal("Microsoft.Azure.Extensions", extension.VmExtension.Publisher);
            Assert.Equal("CustomScript", extension.VmExtension.Type);
            Assert.Equal("2.0", extension.VmExtension.TypeHandlerVersion);
            Assert.True(extension.VmExtension.AutoUpgradeMinorVersion);

            Assert.NotNull(extension.InstanceView);
            Assert.Equal(name, extension.InstanceView.Name);

            Assert.NotNull(extension.InstanceView.Statuses);
            Assert.Single(extension.InstanceView.Statuses);
            InstanceViewStatus status = extension.InstanceView.Statuses.First();

            Assert.Equal("ProvisioningState/succeeded", status.Code);
            Assert.Equal("Provisioning succeeded", status.DisplayStatus);
            Assert.True(status.Level.HasValue);
            Assert.Equal(Models.StatusLevelTypes.Info.ToString(), status.Level.Value.ToString());
            Assert.Equal("Enable succeeded: Enabling and starting agent and controller", status.Message);
        }