public void GetProjects_Name_ProjectWithName()
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(() => teamCityCaller.GetFormat <ProjectWrapper>("/app/rest/projects/{0}", "name:Proj1"))
            .Returns(new ProjectWrapper {
                Project = new List <Project>(new[] { new Project {
                                                         Id = "123"
                                                     } })
            });

            var buildProjectHavingBuilderFactory = A.Fake <IBuildProjectHavingBuilderFactory>();

            A.CallTo(() => buildProjectHavingBuilderFactory.CreateBuildProjectHavingBuilder())
            .Returns(new BuildProjectHavingBuilder());

            var projectsRetriever = new ProjectsRetriever(buildProjectHavingBuilderFactory, teamCityCaller);

            // Act
            var projects = projectsRetriever.GetProjects(a => a.Name("Proj1"));

            // Assert
            projects.Single().Id.Should().Be("123");
        }
Example #2
0
        public void GetProject_ByName(string projectName)
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(
                () =>
                teamCityCaller.GetFormat <ProjectWrapper>("/app/rest/projects/{0}",
                                                          string.Format("name:{0}", projectName)))
            .Returns(new ProjectWrapper
            {
                Project = new List <Project> {
                    new Project {
                        Id = "Project1", Name = projectName
                    }
                },
                Count = "1"
            });

            var projectsRetriever = new ProjectsRetriever(new BuildProjectHavingBuilderFactory(), teamCityCaller);

            // Act
            var result = projectsRetriever.GetProject(project => project.Name(projectName));

            // Assert
            result.Should().NotBeNull();
            result.Name.Should().Be(projectName);
            result.Id.Should().Be("Project1");
        }
        public void GetProjects_NoLocator_AllProjects()
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(() => teamCityCaller.GetFormat <ProjectWrapper>("/app/rest/projects/{0}", ""))
            .Returns(new ProjectWrapper {
                Project = new List <Project>(new[] { new Project {
                                                         Id = "123"
                                                     } })
            });
            var projectsRetriever = new ProjectsRetriever(A.Fake <IBuildProjectHavingBuilderFactory>(), teamCityCaller);

            // Act
            var projects = projectsRetriever.GetProjects();

            // Assert
            projects.Single().Id.Should().Be("123");
        }
Example #4
0
        public void GetProject_MultipleProjects_MoreThanOneProjectFoundExceptionThrown()
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(
                () =>
                teamCityCaller.GetFormat <ProjectWrapper>("/app/rest/projects/{0}", "name:exception"))
            .Returns(new ProjectWrapper {
                Project = new List <Project> {
                    new Project(), new Project()
                }, Count = "2"
            });

            var projectsRetriever = new ProjectsRetriever(new BuildProjectHavingBuilderFactory(), teamCityCaller);

            // Act
            Action action = () => projectsRetriever.GetProject(project => project.Name("exception"));

            // Assert
            action.ShouldThrow <MoreThanOneProjectFoundException>();
        }
Example #5
0
        public void GetProject_NoProjects_ProjectNotFoundException()
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(
                () =>
                teamCityCaller.GetFormat <ProjectWrapper>(
                    "/app/rest/projects?locator={0}",
                    A <object[]> .That.IsSameSequenceAs(new[] { "enabled:False" })))
            .Returns(new ProjectWrapper {
                Project = new List <Project>(), Count = "0"
            });

            var projectsRetriever = new ProjectsRetriever(new BuildProjectHavingBuilderFactory(), teamCityCaller);

            // Act
            Action action = () => projectsRetriever.GetProject(project => project.Name("exception"));

            // Assert
            action.ShouldThrow <ProjectNotFoundException>();
        }
        public void GetProject_Id_Project()
        {
            // Arrange
            var teamCityCaller = A.Fake <ITeamCityCaller>();

            A.CallTo(() => teamCityCaller.GetFormat <Project>("/app/rest/projects/id:{0}", "ProjId1"))
            .Returns(new Project {
                Id = "ProjId1"
            });

            var buildProjectHavingBuilderFactory = A.Fake <IBuildProjectHavingBuilderFactory>();

            A.CallTo(() => buildProjectHavingBuilderFactory.CreateBuildProjectHavingBuilder())
            .Returns(new BuildProjectHavingBuilder());

            var projectsRetriever = new ProjectsRetriever(buildProjectHavingBuilderFactory, teamCityCaller);

            // Act
            var project = projectsRetriever.GetProject("ProjId1");

            // Assert
            project.Id.Should().Be("ProjId1");
        }