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);
        }
예제 #2
0
        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();
        }
예제 #4
0
        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());
            });
        }
예제 #5
0
        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'.");
        }