/// <summary> /// Generates an instance of <see cref="CruiseServerClientBase"/> that connects via /// Windows Communications Foundation. /// </summary> /// <param name="factory">The <see cref="CruiseServerClientFactory"/> that is being extended.</param> /// <param name="address">The address of the server.</param> /// <param name="settings">The start-up settings to use.</param> /// <returns>A <see cref="CruiseServerClientBase"/> instance.</returns> public static CruiseServerClientBase GenerateWcfClient(this CruiseServerClientFactory factory, string address, ClientStartUpSettings settings) { CruiseServerClientBase client; var connection = new WcfConnection(address); client = new CruiseServerClient(connection); return client; }
/// <summary> /// Switches the default HTTP transport to use WCF instead of Web Dashboard. /// </summary> /// <param name="factory">The factory to switch.</param> public static void SwitchHtppToWcf(this CruiseServerClientFactory factory) { factory.AddInitialiser("http", (address, settings) => { var client = new CruiseServerClient(new WcfConnection(address)); return client; }); }
public void ReadAuditRecordsWithFilter() { ReadAuditResponse response = new ReadAuditResponse(); response.Result = ResponseResult.Success; CruiseServerClient client = new CruiseServerClient( new ServerStub("ReadAuditRecords", typeof(ReadAuditRequest), null, response)); AuditFilterBase filter = AuditFilters.ByProject("Project #1"); client.ReadAuditRecords(0, 10, filter); }
public void AddressReturnsUnderlyingConnectionAddress() { var address = "http://testing"; var connection = mocks.Create <IServerConnection>().Object; Mock.Get(connection).SetupGet(_connection => _connection.Address).Returns(address); CruiseServerClient client = new CruiseServerClient(connection); Assert.AreEqual(address, client.Address); }
public void IsBusyReturnsUnderlyingConnectionIsBusy() { IServerConnection connection = mocks.DynamicMock <IServerConnection>(); SetupResult.For(connection.IsBusy).Return(true); mocks.ReplayAll(); CruiseServerClient client = new CruiseServerClient(connection); Assert.IsTrue(client.IsBusy); }
public void RetrieveFileTransfer() { var response = new FileTransferResponse(); response.Result = ResponseResult.Success; response.FileTransfer = this.mocks.StrictMock <IFileTransfer>(); var client = new CruiseServerClient( new ServerStub("RetrieveFileTransfer", typeof(FileTransferRequest), "Project #1", response)); var result = client.RetrieveFileTransfer("Project #1", "Build #1"); Assert.AreSame(response.FileTransfer, result); }
public void GetRSSFeed() { DataResponse response = new DataResponse(); response.Result = ResponseResult.Success; response.Data = "Some data"; CruiseServerClient client = new CruiseServerClient( new ServerStub("GetRSSFeed", typeof(ProjectRequest), "Project #1", response)); string result = client.GetRSSFeed("Project #1"); Assert.AreEqual(response.Data, result); }
public void TakeStatusSnapshot() { var response = new StatusSnapshotResponse(); response.Result = ResponseResult.Success; response.Snapshot = new ProjectStatusSnapshot(); var client = new CruiseServerClient( new ServerStub("TakeStatusSnapshot", typeof(ProjectRequest), "Project #1", response)); var result = client.TakeStatusSnapshot("Project #1"); Assert.AreSame(response.Snapshot, result); }
public void GetSecurityConfiguration() { DataResponse response = new DataResponse(); response.Result = ResponseResult.Success; response.Data = "Some data"; CruiseServerClient client = new CruiseServerClient( new ServerStub("GetSecurityConfiguration", typeof(ServerRequest), null, response)); string result = client.GetSecurityConfiguration(); Assert.AreEqual(response.Data, result); }
public void GetFinalBuildStatus() { var response = new StatusSnapshotResponse(); response.Result = ResponseResult.Success; response.Snapshot = new ProjectStatusSnapshot(); var client = new CruiseServerClient( new ServerStub("GetFinalBuildStatus", typeof(BuildRequest), "Project #1", response)); var result = client.GetFinalBuildStatus("Project #1", "Build #1"); Assert.AreSame(response.Snapshot, result); }
public void GetProjectStatusSendsRequest() { ProjectStatus status = new ProjectStatus("Test project", IntegrationStatus.Success, DateTime.Now); ProjectStatusResponse response = new ProjectStatusResponse(); response.Result = ResponseResult.Success; response.Projects.Add(status); CruiseServerClient client = new CruiseServerClient( new ServerStub("GetProjectStatus", typeof(ServerRequest), response)); client.GetProjectStatus(); }
public void AddressReturnsUnderlyingConnectionAddress() { var address = "http://testing"; var connection = mocks.DynamicMock <IServerConnection>(); SetupResult.For(connection.Address).Return(address); mocks.ReplayAll(); CruiseServerClient client = new CruiseServerClient(connection); Assert.AreEqual(address, client.Address); }
public void LoginIsFailure() { LoginResponse response = new LoginResponse(); response.Result = ResponseResult.Success; CruiseServerClient client = new CruiseServerClient( new ServerStub("Login", typeof(LoginRequest), null, response)); List <NameValuePair> credentials = new List <NameValuePair>(); bool result = client.Login(credentials); Assert.IsFalse(result); Assert.AreEqual(null, client.SessionToken); }
public void GetProjectStatusThrowsExceptionOnFailure() { ProjectStatusResponse response = new ProjectStatusResponse(); IServerConnection connection = mocks.Create <IServerConnection>().Object; Mock.Get(connection).Setup(_connection => _connection.SendMessage("GetProjectStatus", It.IsAny <ServerRequest>())) .Returns(response); CruiseServerClient client = new CruiseServerClient(connection); Assert.That(delegate { client.GetProjectStatus(); }, Throws.TypeOf <CommunicationsException>()); }
public void GetProjectStatusThrowsExceptionOnFailure() { ProjectStatusResponse response = new ProjectStatusResponse(); IServerConnection connection = mocks.DynamicMock <IServerConnection>(); SetupResult.For(connection.SendMessage("GetProjectStatus", null)) .IgnoreArguments() .Return(response); mocks.ReplayAll(); CruiseServerClient client = new CruiseServerClient(connection); Assert.That(delegate { client.GetProjectStatus(); }, Throws.TypeOf <CommunicationsException>()); }
public void GetProjectStatusReturnsProjects() { ProjectStatus status = new ProjectStatus("Test project", IntegrationStatus.Success, DateTime.Now); ProjectStatusResponse response = new ProjectStatusResponse(); response.Result = ResponseResult.Success; response.Projects.Add(status); IServerConnection connection = mocks.Create <IServerConnection>().Object; Mock.Get(connection).Setup(_connection => _connection.SendMessage("GetProjectStatus", It.IsAny <ServerRequest>())) .Returns(response); CruiseServerClient client = new CruiseServerClient(connection); ProjectStatus[] results = client.GetProjectStatus(); Assert.AreEqual(1, results.Length); Assert.AreEqual(status, results[0]); }
public void GetProjectStatusReturnsProjects() { ProjectStatus status = new ProjectStatus("Test project", IntegrationStatus.Success, DateTime.Now); ProjectStatusResponse response = new ProjectStatusResponse(); response.Result = ResponseResult.Success; response.Projects.Add(status); IServerConnection connection = mocks.DynamicMock <IServerConnection>(); SetupResult.For(connection.SendMessage("GetProjectStatus", null)) .IgnoreArguments() .Return(response); mocks.ReplayAll(); CruiseServerClient client = new CruiseServerClient(connection); ProjectStatus[] results = client.GetProjectStatus(); Assert.AreEqual(1, results.Length); Assert.AreEqual(status, results[0]); }
public void SendMessageSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("SendMessage", typeof(MessageRequest), "Project #1")); client.SendMessage("Project #1", new Message("Testing")); }
public void AddProjectSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("AddProject", typeof(ChangeConfigurationRequest))); client.AddProject("Project #1"); }
public void WaitForExitSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("WaitForExit", typeof(ProjectRequest), "Project #1")); client.WaitForExit("Project #1"); }
public void CancelPendingRequestSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("CancelPendingRequest", typeof(ProjectRequest), "Project #1")); client.CancelPendingRequest("Project #1"); }
public void ChangePasswordSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("ChangePassword", typeof(ChangePasswordRequest), "Project #1")); client.ChangePassword("oldPassword", "newPassword"); }
public void UpdateProjectSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("UpdateProject", typeof(ChangeConfigurationRequest), "Project #1")); client.UpdateProject("Project #1", "Data"); }
public void StopProjectSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("Stop", typeof(ProjectRequest), "Project #1")); client.StopProject("Project #1"); }
public void ResetPasswordSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("ResetPassword", typeof(ChangePasswordRequest), "Project #1")); client.ResetPassword("userName", "newPassword"); }
public void DeleteProjectSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("DeleteProject", typeof(ChangeConfigurationRequest), "Project #1")); client.DeleteProject("Project #1", true, true, true); }
public void AbortBuildSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("AbortBuild", typeof(ProjectRequest), "Project #1")); client.AbortBuild("Project #1"); }
public void RequestSendsRequest() { CruiseServerClient client = new CruiseServerClient(new ServerStub("ForceBuild", typeof(BuildIntegrationRequest), "Project #1")); client.Request("Project #1", new IntegrationRequest(BuildCondition.ForceBuild, "Me", null)); }