public async Task ExecuteAsync_UploadsCorrectlyModifiedBuild() { // Arrange var build = TestUtilities.CreateValidBuild(); var expectedBuild = TestUtilities.CreateValidBuild(); expectedBuild["variables"]["Variable"] = TestUtilities.CreateValidVariableJObject(); var variables = new Dictionary <string, Variable> { { "Variable", TestUtilities.CreateValidVariable() } }; var azureClient = CreateValidAzureClient(); azureClient.GetAsync(Arg.Any <string>()).Returns(JsonConvert.SerializeObject(build)); var output = CreateValidOutput(); var options = CreateValidSetOptions(AvmObjectType.BuildVariables); File.WriteAllText(options.SourceFilePath, JsonConvert.SerializeObject(variables)); var setCommand = new SetCommand(options, new ReleaseTransformer(), new VariableContainerTransformer(), CreateValidUrlStore(), azureClient, output); // Act await setCommand.ExecuteAsync(); File.Delete(options.SourceFilePath); // Assert await azureClient.Received().PutAsync(Arg.Any <string>(), Arg.Is <string>(res => JToken.DeepEquals(JsonConvert.DeserializeObject <JToken>(res), expectedBuild))); }
public async Task ExecuteAsync_UploadsCorrectlyModifiedRelease() { // Arrange var release = TestUtilities.CreateValidRelease(); var env = TestUtilities.CreateValidReleaseEnvironment(); ((JArray)release["environments"]).Add(env); var expectedRelease = TestUtilities.CreateValidRelease(); expectedRelease["variables"]["Variable"] = TestUtilities.CreateValidVariableJObject(); env = TestUtilities.CreateValidReleaseEnvironment(); ((JArray)expectedRelease["environments"]).Add(env); env["variables"]["Variable"] = TestUtilities.CreateValidVariableJObject(); var variablesFileContent = new ReleaseVariables { Environments = new List <PipelineEnvironment> { new PipelineEnvironment { Id = 1, Name = "Release 1", Variables = new Dictionary <string, Variable> { { "Variable", TestUtilities.CreateValidVariable() } } } }, Variables = new Dictionary <string, Variable> { { "Variable", TestUtilities.CreateValidVariable() } } }; var options = CreateValidSetOptions(AvmObjectType.ReleaseVariables); File.WriteAllText(options.SourceFilePath, JsonConvert.SerializeObject(variablesFileContent)); var azureClient = CreateValidAzureClient(); azureClient.GetAsync(Arg.Any <string>()).Returns(JsonConvert.SerializeObject(release)); var output = CreateValidOutput(); var urlStore = CreateValidUrlStore(); var setCommand = new SetCommand(options, new ReleaseTransformer(), new VariableContainerTransformer(), urlStore, azureClient, output); // Act await setCommand.ExecuteAsync(); File.Delete(options.SourceFilePath); // Assert await azureClient.Received().PutAsync(Arg.Any <string>(), Arg.Is <string>(res => JToken.DeepEquals(JsonConvert.DeserializeObject <JToken>(res), expectedRelease))); }
public async Task ChangeVersionTest() { using (var fs = new DisposableFileSystem()) { fs.CreateFile("MySolution.sln"); fs.CreateFolder("src/Services"); fs.CreateFile("src/Services/project1.csproj", ProjectHelper.SetVersion("1.5.1")); var store = new ProjectStore(); var command = new SetCommand(GitHelper.CreateDefaultGitMock().Object); var context = new CommandContext(_console, Verbosity.Info); context.Directory = fs.RootPath; await command.ExecuteAsync(context, "3.0.1"); var project = store.Read(PathHelper.GetFile(fs, "src/Services/project1.csproj")); Assert.Equal("3.0.1", project.Version); } }
public async Task ExecuteAsync_UploadsRelease() { // Arrange var options = CreateValidSetOptions(AvmObjectType.Release); var release = TestUtilities.CreateValidRelease(); File.WriteAllText(options.SourceFilePath, JsonConvert.SerializeObject(release)); var azureClient = CreateValidAzureClient(); var output = CreateValidOutput(); var setCommand = new SetCommand(options, new ReleaseTransformer(), new VariableContainerTransformer(), CreateValidUrlStore(), azureClient, output); // Act await setCommand.ExecuteAsync(); File.Delete(options.SourceFilePath); // Assert await azureClient.PutAsync(Arg.Any <string>(), Arg.Is <string>(res => JToken.DeepEquals(JsonConvert.DeserializeObject <JToken>(res), release))); }
public async Task ChangeNullVersionTest() { using (var fs = new DisposableFileSystem()) { fs.CreateFile("MySolution.sln") .CreateFolder("src/Services/project1") .CreateFile("src/Services/project1/project1.csproj", ProjectHelper.SetVersion("1.5.1")) .CreateFolder("src/Services/project2") .CreateFile("src/Services/project2/project2.csproj", ProjectHelper.SetVersion("2.1.0")); var store = new ProjectStore(); var command = new SetCommand(GitHelper.CreateDefaultGitMock().Object); var context = new CommandContext(_console, Verbosity.Info); context.Directory = fs.RootPath; var exception = await Assert.ThrowsAsync <ArgumentNullException>(() => command.ExecuteAsync(context, null)); Assert.Equal("version", exception.ParamName); } }