public void ShouldLoadOptionsFromFile() { createReleaseCommand = new CreateReleaseCommand(RepositoryFactory, Log, new OctopusPhysicalFileSystem(Log), versionResolver, releasePlanBuilder, ClientFactory); Assert.Throws <CouldNotFindException>(delegate { createReleaseCommand.Execute("--configfile=Commands/Resources/CreateRelease.config.txt"); }); Assert.AreEqual("Test Project", createReleaseCommand.ProjectName); Assert.AreEqual("1.0.0", createReleaseCommand.VersionNumber); Assert.AreEqual("Test config file.", createReleaseCommand.ReleaseNotes); }
public void ShouldThrowForBadEnvironment() { createReleaseCommand = new CreateReleaseCommand(RepositoryFactory, new OctopusPhysicalFileSystem(Log), versionResolver, releasePlanBuilder, ClientFactory, CommandOutputProvider, ExecutionResourceWaiterFactory); CommandLineArgs.Add("--server=https://test-server-url/api/"); CommandLineArgs.Add("--apikey=API-test"); CommandLineArgs.Add("--project=Test Project"); CommandLineArgs.Add("--releaseNumber=1.0.0"); CommandLineArgs.Add("--deployto=badEnv"); var ex = Assert.ThrowsAsync <CouldNotFindException>(() => createReleaseCommand.Execute(CommandLineArgs.ToArray())); ex.Message.Should().Be("The environment 'badEnv' does not exist or you do not have permissions to view it."); }
public void ValidParameters() { var args = "/projectName:ProjectName /releaseName:ReleaseName /description:Description /status:Status /releaseDate:ReleaseDate " + "/showToPublic:+ /isDefaultRelease:- /username:Username /password:Password"; _serviceMock.Expect( mock => mock.CreateARelease( Arg.Is("ProjectName"), Arg.Is("ReleaseName"), Arg.Is("Description"), Arg.Is("ReleaseDate"), Arg.Is("Status"), Arg.Is(true), Arg.Is(false), Arg.Is("Username"), Arg.Is("Password"))).Return(0); _serviceMock.Replay(); _command.Execute(args.Split(' ')); _serviceMock.VerifyAllExpectations(); }
public void ShouldThrowForBadEnvironment() { createReleaseCommand = new CreateReleaseCommand(RepositoryFactory, new OctopusPhysicalFileSystem(Log), versionResolver, releasePlanBuilder, ClientFactory, CommandOutputProvider); CommandLineArgs.Add("--server=https://test-server-url/api/"); CommandLineArgs.Add("--apikey=API-test"); CommandLineArgs.Add("--project=Test Project"); CommandLineArgs.Add("--releaseNumber=1.0.0"); CommandLineArgs.Add("--deployto=bad"); Assert.ThrowsAsync <CommandException>(async delegate { await createReleaseCommand.Execute(CommandLineArgs.ToArray()); }); }
public void ShouldThrowForBadTag() { createReleaseCommand = new CreateReleaseCommand(RepositoryFactory, new OctopusPhysicalFileSystem(Log), versionResolver, releasePlanBuilder, ClientFactory, CommandOutputProvider, ExecutionResourceWaiterFactory); CommandLineArgs.Add("--server=https://test-server-url/api/"); CommandLineArgs.Add("--apikey=API-test"); CommandLineArgs.Add("--project=Test Project"); CommandLineArgs.Add("--releaseNumber=1.0.0"); CommandLineArgs.Add("--tenantTag=badset/badtag"); CommandLineArgs.Add($"--deployto={ValidEnvironment}"); var ex = Assert.ThrowsAsync <CommandException>(() => createReleaseCommand.Execute(CommandLineArgs.ToArray())); ex.Message.Should().Be("Unable to find matching tag from canonical tag name 'badset/badtag'."); }