public void Should_Throw_If_UPack_Executable_Was_Not_Found()
        {
            // Given
            var fixture = new UniversalPackagePusherFixture();

            fixture.GivenDefaultToolDoNotExist();

            // When
            var result = Record.Exception(() => fixture.Run());

            // Then
            Assert.IsCakeException(result, "UPack: Could not locate executable.");
        }
        public void Should_Throw_If_Credentials_Are_Not_Valid()
        {
            // Given
            var fixture = new UniversalPackagePusherFixture {
                Settings = { UserName = "******", Password = "" }
            };

            // When
            var result = Record.Exception(() => fixture.Run());

            // Then
            Assert.IsCakeException(result, "Both username and password must be specified for authentication");
        }
        public void Should_Add_Credentials_To_Arguments_If_Set(string user, string pass, string expected)
        {
            // Given
            var fixture = new UniversalPackagePusherFixture {
                Settings = { UserName = user, Password = pass }
            };

            // When
            var result = fixture.Run();

            // Then
            Assert.Equal(expected, result.Args);
        }
        public void Should_Throw_If_Package_File_Does_Not_Exist()
        {
            // Given
            var fixture = new UniversalPackagePusherFixture {
                Settings = { Package = "./path/does/not/exist.upack" }
            };

            // When
            var result = Record.Exception(() => fixture.Run());

            // Then
            Assert.IsCakeExceptionWithMessage(result, s => s.StartsWith("Universal package file does not exist at"));
        }