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"); }
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"); }
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>(); }
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"); }