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); }
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)); } }