public void CommandOperator_DefaultValues_SetsNothing()
        {
            var expected = new NewAzureVmConfigCommand();

            Command actual = expected;

            Assert.That(actual.Parameters, Is.Empty);
        }
        public void CommandOperator_InstanceSizeIsEmpty_SetsNothing()
        {
            var expected = new NewAzureVmConfigCommand
            {
                InstanceSize = AzureVirtualMachineSize.None
            };

            Command command = expected;
            var actual = command.Parameters.FirstOrDefault(x => x.Name == NewAzureVmConfigCommand.InstanceSizeParameter);

            Assert.That(actual, Is.Null);
        }
        public void CommandOperator_ImageNameIsEmpty_SetsNothing()
        {
            var expected = new NewAzureVmConfigCommand
            {
                ImageName = String.Empty
            };

            Command command = expected;
            var actual = command.Parameters.FirstOrDefault(x => x.Name == NewAzureVmConfigCommand.ImageNameParameter);

            Assert.That(actual, Is.Null);
        }
        public void CommandOperator_InstanceSizeIsSomething_SetsInstanceSize()
        {
            var expected = new NewAzureVmConfigCommand
            {
                InstanceSize = AzureVirtualMachineSize.ExtraSmall,
            };

            Command command = expected;
            var actual = command.Parameters.FirstOrDefault(x => x.Name == NewAzureVmConfigCommand.InstanceSizeParameter);

            Assert.That(actual, Is.Not.Null);
            Assert.That(actual.Value, Is.EqualTo(expected.InstanceSize));
        }
        public void CommandOperator_ImageNameIsSomething_SetsImageName()
        {
            var expected = new NewAzureVmConfigCommand
            {
                ImageName = "SomeName"
            };

            Command command = expected;
            var actual = command.Parameters.FirstOrDefault(x => x.Name == NewAzureVmConfigCommand.ImageNameParameter);

            Assert.That(actual, Is.Not.Null);
            Assert.That(actual.Value, Is.EqualTo(expected.ImageName));
        }
        private static void ProvisionVirtualMachine(IPowershellExecutor executor, VirtualMachine virtualMachine, string imageName, string serviceName)
        {
            var newAzureVmConfigCommand = new NewAzureVmConfigCommand
            {
                Name = virtualMachine.Name,
                ImageName = imageName,
                InstanceSize = virtualMachine.Size
            };

            var addAzureProvisioningConfigCommand = new AddAzureProvisioningConfigCommand
            {
                Windows = true,
                AdminPassword = virtualMachine.AdminPassword,
                AdminUsername = virtualMachine.AdminUserName,
                TimeZone = virtualMachine.TimeZone
            };

            var newAzureVmCommand = new NewAzureVmCommand
            {
                //Location = virtualMachine.Location,
                ServiceName = serviceName,
                DeploymentName = serviceName,
                WaitForBoot = false
            };

            var results = executor.Execute(newAzureVmConfigCommand, addAzureProvisioningConfigCommand, newAzureVmCommand);
        }