public void ShouldSetAzureSubscription()
        {
            // If the Azure test certificate is not installed, we cannot run, so ignore
            OctopusTestAzureSubscription.IgnoreIfCertificateNotInstalled();

            var variablesFile = Path.GetTempFileName();
            var variables     = new VariableDictionary();

            variables.Set(SpecialVariables.Account.AccountType, "AzureSubscription");
            variables.Set(SpecialVariables.Account.Name, "AzureTest");
            variables.Save(variablesFile);
            OctopusTestAzureSubscription.PopulateVariables(variables);

            var output = Invoke(Calamari()
                                .Action("run-script")
                                .Argument("script", GetFixtureResouce("AzureSubscription.ps1"))
                                .Argument("variables", variablesFile));

            output.AssertZero();
            output.AssertOutput("Current subscription ID: " + OctopusTestAzureSubscription.AzureSubscriptionId);
        }
Example #2
0
        public void CertificateRemovedAfterScriptExecution()
        {
            OctopusTestAzureSubscription.IgnoreIfCertificateNotInstalled();
            var powershellContext = new AzurePowerShellContext();
            var scriptEngine      = Substitute.For <IScriptEngine>();
            var commandLineRunner = Substitute.For <ICommandLineRunner>();

            var variables = new CalamariVariableDictionary();

            OctopusTestAzureSubscription.PopulateVariables(variables);

            using (var variablesFile = new TemporaryFile(Path.GetTempFileName()))
            {
                var expectedCertFile = Path.Combine(variablesFile.DirectoryPath, "azure_certificate.pfx");

                scriptEngine
                .When(engine => engine.Execute(Arg.Any <string>(), variables, commandLineRunner))
                .Do(callInfo => Assert.True(File.Exists(expectedCertFile)));

                powershellContext.ExecuteScript(scriptEngine, variablesFile.FilePath, variables, commandLineRunner);

                Assert.False(File.Exists(expectedCertFile));
            }
        }