/// <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;
     });
 }
Example #3
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        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();
        }
Example #12
0
        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);
        }
Example #13
0
        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>());
        }
Example #15
0
        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]);
        }
Example #17
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]);
        }
Example #18
0
        public void SendMessageSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("SendMessage", typeof(MessageRequest), "Project #1"));

            client.SendMessage("Project #1", new Message("Testing"));
        }
Example #19
0
        public void AddProjectSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("AddProject", typeof(ChangeConfigurationRequest)));

            client.AddProject("Project #1");
        }
Example #20
0
        public void WaitForExitSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("WaitForExit", typeof(ProjectRequest), "Project #1"));

            client.WaitForExit("Project #1");
        }
Example #21
0
        public void CancelPendingRequestSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("CancelPendingRequest", typeof(ProjectRequest), "Project #1"));

            client.CancelPendingRequest("Project #1");
        }
Example #22
0
        public void ChangePasswordSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("ChangePassword", typeof(ChangePasswordRequest), "Project #1"));

            client.ChangePassword("oldPassword", "newPassword");
        }
Example #23
0
        public void UpdateProjectSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("UpdateProject", typeof(ChangeConfigurationRequest), "Project #1"));

            client.UpdateProject("Project #1", "Data");
        }
Example #24
0
        public void StopProjectSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("Stop", typeof(ProjectRequest), "Project #1"));

            client.StopProject("Project #1");
        }
Example #25
0
        public void ResetPasswordSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("ResetPassword", typeof(ChangePasswordRequest), "Project #1"));

            client.ResetPassword("userName", "newPassword");
        }
Example #26
0
        public void DeleteProjectSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("DeleteProject", typeof(ChangeConfigurationRequest), "Project #1"));

            client.DeleteProject("Project #1", true, true, true);
        }
Example #27
0
        public void AbortBuildSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("AbortBuild", typeof(ProjectRequest), "Project #1"));

            client.AbortBuild("Project #1");
        }
Example #28
0
        public void RequestSendsRequest()
        {
            CruiseServerClient client = new CruiseServerClient(new ServerStub("ForceBuild", typeof(BuildIntegrationRequest), "Project #1"));

            client.Request("Project #1", new IntegrationRequest(BuildCondition.ForceBuild, "Me", null));
        }