public void CanCreateProject() { var repository = new Mock<IProjectRepository>(); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); var project = new DeployProject { ProjectName = Guid.NewGuid().ToString(), Id = Guid.NewGuid().ToString(), UsesSharedComponentConfiguration = false }; repository.Setup(i=>i.CreateProject(project.ProjectName, project.UsesSharedComponentConfiguration)).Returns(project); DeployProject result = sut.CreateProject(project.ProjectName, project.UsesSharedComponentConfiguration); Assert.AreEqual(project, result); repository.Verify(i => i.CreateProject(project.ProjectName, project.UsesSharedComponentConfiguration), Times.Once()); }
public void MissingProjectName_ThrowsError() { var repository = new Mock<IProjectRepository>(); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); Assert.Throws<ArgumentNullException>(delegate { sut.CreateProject(string.Empty, false); }); repository.Verify(i => i.CreateProject(It.IsAny<string>(), It.IsAny<bool>()), Times.Never()); }
public void MissingTaskOptions_ThrowsError() { string projectId = Guid.NewGuid().ToString(); string componentId = Guid.NewGuid().ToString(); string deploymentStepId = Guid.NewGuid().ToString(); string stepName = Guid.NewGuid().ToString(); string taskTypeName = typeof(TestTaskType).ToString(); string taskOptionsJson = null; var projectRepository = new Mock<IProjectRepository>(); IProjectManager sut = new ProjectManager(projectRepository.Object, new Mock<IDeployTaskFactory>().Object); Assert.Throws<ArgumentNullException>(() => sut.UpdateComponentDeploymentStep(projectId, componentId, deploymentStepId, stepName, taskTypeName, taskOptionsJson)); projectRepository.Verify(i => i.UpdateComponentDeploymentStep(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<int?>()), Times.Never()); }
public void MissingTaskOptions_CreatesTaskOptions() { //var project = new DeployProject //{ // ProjectName = Guid.NewGuid().ToString(), // Id = Guid.NewGuid().ToString(), // UsesSharedComponentConfiguration = false //}; //string componentId = Guid.NewGuid().ToString(); //string stepName = Guid.NewGuid().ToString(); //string taskTypeName = typeof(TestTaskType).ToString(); //string taskOptionsJson = null; //var projectRepository = new Mock<IProjectRepository>(); //projectRepository.Setup(i => i.GetProject(project.Id)).Returns(project); //var deployTaskFactory = new Mock<IDeployTaskFactory>(); //deployTaskFactory.Setup(i=>i.CreateTaskDefinition(taskTypeName, It.IsAny<string>())).Returns(new TestTaskType() { DeployTaskOptions = new object() }); //IProjectManager sut = new ProjectManager(projectRepository.Object, deployTaskFactory.Object); //var result = sut.CreateComponentDeploymentStep(project.Id, componentId, stepName, taskTypeName, taskOptionsJson); //Assert.IsNotNull(result); //Assert.AreEqual(stepName, result.StepName); //projectRepository.Verify(i => i.CreateComponentDeploymentStep(project.Id, componentId, stepName, taskTypeName, It.IsAny<string>(), null), Times.Once()); string projectId = Guid.NewGuid().ToString(); string componentId = Guid.NewGuid().ToString(); string stepName = Guid.NewGuid().ToString(); string taskTypeName = typeof(TestTaskType).ToString(); string taskOptionsJson = null; var projectRepository = new Mock<IProjectRepository>(); var project = new DeployProject { Id = projectId, ComponentList = new List<DeployComponent>(), UsesSharedComponentConfiguration = false }; projectRepository.Setup(i => i.GetProject(projectId)) .Returns(project); projectRepository.Setup(i => i.CreateComponentDeploymentStep(project.Id, componentId, stepName, taskTypeName, It.IsAny<string>(), null)) .Returns(new DeployStep { Id = Guid.NewGuid().ToString(), StepName = stepName, TaskTypeName = taskTypeName, TaskOptionsJson = taskOptionsJson, ProjectId = projectId, ParentId = componentId, SharedDeploymentStepId = Guid.NewGuid().ToString() }); var deployTaskFactory = new Mock<IDeployTaskFactory>(); deployTaskFactory.Setup(i=>i.CreateTaskDefinition(taskTypeName, It.IsAny<string>())).Returns(new TestTaskType() { DeployTaskOptions = new object() }); IProjectManager sut = new ProjectManager(projectRepository.Object, deployTaskFactory.Object); var result = sut.CreateComponentDeploymentStep(projectId, componentId, stepName, taskTypeName, taskOptionsJson); Assert.IsNotNull(result); Assert.AreEqual(stepName, result.StepName); projectRepository.Verify(i => i.CreateComponentDeploymentStep(project.Id, componentId, stepName, taskTypeName, It.IsAny<string>(), null), Times.Once()); }
public void CanUpdateDeploymentStep() { string projectId = Guid.NewGuid().ToString(); string componentId = Guid.NewGuid().ToString(); string deploymentStepId = Guid.NewGuid().ToString(); string stepName = Guid.NewGuid().ToString(); string taskTypeName = typeof(TestTaskType).ToString(); string taskOptionsJson = Guid.NewGuid().ToString(); var projectRepository = new Mock<IProjectRepository>(); var project = new DeployProject { Id = projectId, ComponentList = new List<DeployComponent>(), UsesSharedComponentConfiguration = false }; projectRepository.Setup(i=>i.GetProject(projectId)).Returns(project); projectRepository.Setup(i => i.UpdateComponentDeploymentStep(deploymentStepId, project.Id, componentId, stepName, taskTypeName, taskOptionsJson, null, null)) .Returns(new DeployStep { Id = deploymentStepId, StepName = stepName, TaskTypeName = taskTypeName, TaskOptionsJson = Guid.NewGuid().ToString(), ParentId = componentId, ProjectId = projectId, SharedDeploymentStepId = Guid.NewGuid().ToString(), }); IProjectManager sut = new ProjectManager(projectRepository.Object, new Mock<IDeployTaskFactory>().Object); var result = sut.UpdateComponentDeploymentStep(deploymentStepId, projectId, componentId, stepName, taskTypeName, taskOptionsJson); Assert.IsNotNull(result); Assert.AreEqual(stepName, result.StepName); projectRepository.Verify(i => i.UpdateComponentDeploymentStep(deploymentStepId, project.Id, componentId, stepName, taskTypeName, taskOptionsJson,null, null), Times.Once()); }
public void CanUpdateProject() { var repository = new Mock<IProjectRepository>(); string projectId = Guid.NewGuid().ToString(); string projectName = Guid.NewGuid().ToString(); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); sut.UpdateProject(projectId, projectName, true); repository.Verify(i=>i.UpdateProject(projectId, projectName, true), Times.Once()); }
public void MissingProjectName_ThrowsError() { var repository = new Mock<IProjectRepository>(); string projectId = Guid.NewGuid().ToString(); string projectName = string.Empty; IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); Assert.Throws<ArgumentNullException>(delegate { sut.UpdateProject(projectId, projectName, true); }); repository.Verify(i => i.UpdateProject(projectId, projectName, true), Times.Never()); }
public void CanGetProjectList() { var repository = new Mock<IProjectRepository>(); var projectList = new List<DeployProject> { new DeployProject { Id = Guid.NewGuid().ToString(), ProjectName = Guid.NewGuid().ToString() }, new DeployProject { Id = Guid.NewGuid().ToString(), ProjectName = Guid.NewGuid().ToString() }, new DeployProject { Id = Guid.NewGuid().ToString(), ProjectName = Guid.NewGuid().ToString() } }; repository.Setup(i=>i.GetProjectList()).Returns(projectList); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); var result = sut.GetProjectList(); Assert.AreEqual(projectList.Count, result.Count()); repository.Verify(i=>i.GetProjectList(), Times.Once()); }
public void MissingBranchName_ThrowsError() { var repository = new Mock<IProjectRepository>(); string projectId = Guid.NewGuid().ToString(); string branchName = string.Empty; IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); Assert.Throws<ArgumentNullException>(delegate { sut.CreateBranch(projectId, branchName); }); repository.Verify(i => i.CreateBranch(It.IsAny<string>(), It.IsAny<string>()), Times.Never()); }
public void CanCreateProjectBranch() { var repository = new Mock<IProjectRepository>(); string projectId = Guid.NewGuid().ToString(); var branch = new DeployProjectBranch { Id = Guid.NewGuid().ToString(), ProjectId = Guid.NewGuid().ToString(), BranchName = Guid.NewGuid().ToString() }; repository.Setup(i=>i.CreateBranch(branch.ProjectId, branch.BranchName)).Returns(branch); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); var result = sut.CreateBranch(branch.ProjectId, branch.BranchName); Assert.AreEqual(branch, result); repository.Verify(i=>i.CreateBranch(branch.ProjectId, branch.BranchName), Times.Once()); }
public void BadId_ThrowsError() { var repository = new Mock<IProjectRepository>(); var project = new DeployProject { ProjectName = Guid.NewGuid().ToString(), Id = Guid.NewGuid().ToString() }; repository.Setup(i => i.GetProject(project.Id)).Returns((DeployProject)null); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); Assert.Throws<KeyNotFoundException>(delegate { sut.GetProject(project.Id); }); repository.Verify(i => i.GetProject(It.IsAny<string>()), Times.Once()); }
public void CanRetrieveProjectByID() { var repository = new Mock<IProjectRepository>(); var project = new DeployProject { ProjectName = Guid.NewGuid().ToString(), Id = Guid.NewGuid().ToString() }; repository.Setup(i=>i.GetProject(project.Id)).Returns(project); IProjectManager sut = new ProjectManager(repository.Object, new Mock<IDeployTaskFactory>().Object); DeployProject result = sut.GetProject(project.Id); Assert.AreEqual(project, result); repository.Verify(i=>i.GetProject(project.Id), Times.Once()); }