public void ContextSetup() { var masterModel = new MasterModel(); var server1 = masterModel.CreateCruiseServer(x => x.Url = "http://www.example.com/1"); var server2 = masterModel.CreateCruiseServer(x => x.Url = "http://www.example.com/2"); var ccReaderData = new Projects { Items = new[] { new ProjectsProject(), new ProjectsProject() } }; var mappedData = new CcProjectCollectionViewModel { Items = new[] { new CcProjectViewModel { Name = "Homer Wuz Here" } } }; var ccReaderResponse = NetworkResponse.Success(ccReaderData); var statusProvider = S <ISystemStatusProvider>(); statusProvider.Stub(x => x.GetSystemStatus()).Return(masterModel); var ccReader = S <ICcReader>(); ccReader.Stub(x => x.GetStatus("http://www.example.com/1")).Return(ccReaderResponse); var mapper = S <IMapper>(); mapper.Stub(x => x.Map <Projects, CcProjectCollectionViewModel>(ccReaderData)).Return(mappedData); var provider = new CruiseProjectModelProvider(ccReader, mapper, statusProvider); _result = provider.GetProjects(server1.Id); }
public void ContextSetup() { var masterModel = new MasterModel(); _project1 = masterModel.CreateProject(); //1 _project2 = masterModel.CreateProject(); //2 var server1 = masterModel.CreateCruiseServer(x => { x.Url = "http://www.example.com/1"; x.Name = "1"; }); var server2 = masterModel.CreateCruiseServer(x => { x.Url = "http://www.example.com/2"; x.Name = "2"; }); var statusProvider = S <ISystemStatusProvider>(); statusProvider.Stub(x => x.GetSystemStatus()) .Return(masterModel); var cruiseProjectProvider = S <ICruiseProjectModelProvider>(); var projectResponse1 = NetworkResponse.Success(new CcProjectCollectionViewModel { Items = new[] { new CcProjectViewModel { Name = "1.1" }, new CcProjectViewModel { Name = "1.2" } } }); var projectResponse2 = NetworkResponse.Success(new CcProjectCollectionViewModel { Items = new[] { new CcProjectViewModel { Name = "2.1" }, new CcProjectViewModel { Name = "2.2" } } }); cruiseProjectProvider.Stub(x => x.GetProjects(server1.Id)).Return(projectResponse1); cruiseProjectProvider.Stub(x => x.GetProjects(server2.Id)).Return(projectResponse2); var mapper = new StubMapper() .StubResult(new[] { new EditProjectCruiseServerViewModel { Url = "Mapped 1", Id = server1.Id }, new EditProjectCruiseServerViewModel { Url = "Mapped 2", Id = server2.Id } }); var provider = new AdminViewModelProvider(statusProvider, mapper, cruiseProjectProvider); _result = provider.GetEditProjectViewModel(null); }
public NetworkResponse <CcProjectCollectionViewModel> GetProjects(Guid serverId) { var server = _statusProvider.GetSystemStatus().CruiseServers.Single(x => x.Id.Equals(serverId)); var ccResult = _ccReader.GetStatus(server.Url); if (ccResult.IsSuccessful) { var ccProjects = ccResult.Data; var viewModel = _mapper.Map <Projects, CcProjectCollectionViewModel>(ccProjects); return(NetworkResponse.Success(viewModel)); } return(NetworkResponse.Fail <CcProjectCollectionViewModel>(string.Format("Could not reach cruise server at URL: [{0}]", server.Url), ccResult.Exception)); }
public void ContextSetup() { _masterModel = new MasterModel(); var cruiseServer = _masterModel.CreateCruiseServer(x => { x.Url = "https://example.com/server1"; x.Name = "Server 1"; }); _zBuildLightsProject = _masterModel.CreateProject(); _zBuildLightsProject.CruiseProjectAssociations = new[] { new CruiseProjectAssociation { Name = "Project 1.1", ServerId = cruiseServer.Id }, new CruiseProjectAssociation { Name = "Project 1.2", ServerId = cruiseServer.Id }, new CruiseProjectAssociation { Name = "Project 1.3", ServerId = cruiseServer.Id } }; var ccReaderDataServer1 = new Projects { Items = new ProjectsProject[] { New.ProjectsProject.Name("Project 1.1") .Activity(CcBuildActivity.Sleeping) .Status(CcBuildStatus.Unknown), New.ProjectsProject.Name("Project 1.2") .Activity(CcBuildActivity.Sleeping) .Status(CcBuildStatus.Success), New.ProjectsProject.Name("Project 1.3") .Activity(CcBuildActivity.Sleeping) .Status(CcBuildStatus.Success), New.ProjectsProject.Name("Detractor") .Activity(CcBuildActivity.Sleeping) .Status(CcBuildStatus.Success) } }; var cruiseReader = new StubCcReader() .WithResponse(cruiseServer.Url, NetworkResponse.Success(ccReaderDataServer1)); var updater = new ProjectStatusUpdater(cruiseReader); updater.UpdateAllProjectStatuses(_masterModel); }
public NetworkResponse <Projects> GetStatus(string url) { try { var request = WebRequest.Create(url); Projects projects; using (var response = request.GetResponse()) using (var stream = response.GetResponseStream()) using (var reader = new StreamReader(stream)) { var serializer = new XmlSerializer(typeof(Projects)); projects = (Projects)serializer.Deserialize(reader); } return(NetworkResponse.Success(projects)); } catch (Exception e) { Log.ErrorException("Exception when trying to get status from Cruise server.", e); return(NetworkResponse.Fail <Projects>(string.Format("{0}: {1}", e.GetType().Name, e.Message))); } }
public void ContextSetup() { _projectViewModel = new EditProjectViewModel { Name = "I'm Mapped" }; var masterModel = new MasterModel(); var project1 = masterModel.CreateProject(); //1 var projectWeAreLookingFor = masterModel.CreateProject(); //2 var project3 = masterModel.CreateProject(); //3 var server1 = masterModel.CreateCruiseServer(x => { x.Url = "http://www.example.com/1"; x.Name = "1"; }); var server2 = masterModel.CreateCruiseServer(x => { x.Url = "http://www.example.com/2"; x.Name = "2"; }); var statusProvider = S <ISystemStatusProvider>(); statusProvider.Stub(x => x.GetSystemStatus()) .Return(masterModel); var cruiseProjectProvider = S <ICruiseProjectModelProvider>(); var projectResponse1 = NetworkResponse.Success(new CcProjectCollectionViewModel { Items = new[] { new CcProjectViewModel { Name = "1.1" }, new CcProjectViewModel { Name = "1.2" } } }); var projectResponse2 = NetworkResponse.Success(new CcProjectCollectionViewModel { Items = new[] { new CcProjectViewModel { Name = "2.1" }, new CcProjectViewModel { Name = "2.2" } } }); cruiseProjectProvider.Stub(x => x.GetProjects(server1.Id)).Return(projectResponse1); cruiseProjectProvider.Stub(x => x.GetProjects(server2.Id)).Return(projectResponse2); var mapper = S <IMapper>(); mapper.Stub(x => x.Map <Project, EditProjectViewModel>(projectWeAreLookingFor)) .Return(_projectViewModel); mapper.Stub(x => x.Map <CruiseServer[], EditProjectCruiseServerViewModel[]>(masterModel.CruiseServers)) .Return(new[] { new EditProjectCruiseServerViewModel { Url = "foo 1", Id = server1.Id }, new EditProjectCruiseServerViewModel { Url = "foo 2", Id = server2.Id } }); var provider = new AdminViewModelProvider(statusProvider, mapper, cruiseProjectProvider); _result = provider.GetEditProjectViewModel(projectWeAreLookingFor.Id); }