public void InitialiseNewResponseSetsTheDefaultValues() { DateTime now = DateTime.Now; DataResponse response = new DataResponse(); Assert.AreEqual(ResponseResult.Unknown, response.Result, "Result wasn't set to failure"); Assert.IsTrue((now <= response.Timestamp), "Timestamp was not set"); }
public void InitialiseResponseFromRequestSetsTheDefaultValues() { DateTime now = DateTime.Now; ServerRequest request = new ServerRequest(); DataResponse response = new DataResponse(request); Assert.AreEqual(ResponseResult.Unknown, response.Result, "Result wasn't set to failure"); Assert.AreEqual(request.Identifier, response.RequestIdentifier, "RequestIdentifier wasn't set to the identifier of the request"); Assert.IsTrue((now <= response.Timestamp), "Timestamp was not set"); }
public void ToStringSerialisesDefaultValues() { DataResponse response = new DataResponse(); string actual = response.ToString(); string expected = string.Format("<dataResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "timestamp=\"{1:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" result=\"{0}\" />", response.Result, response.Timestamp); Assert.AreEqual(expected, actual); }
public void GetArtifactDirectory() { DataResponse response = new DataResponse(); response.Result = ResponseResult.Success; response.Data = "Some data"; CruiseServerClient client = new CruiseServerClient( new ServerStub("GetArtifactDirectory", typeof(ProjectRequest), "Project #1", response)); string result = client.GetArtifactDirectory("Project #1"); Assert.AreEqual(response.Data, result); }
public void InitialiseResponseFromResponseSetsTheDefaultValues() { DateTime now = DateTime.Now; DataResponse response1 = new DataResponse(); response1.Result = ResponseResult.Success; response1.RequestIdentifier = "original id"; response1.Timestamp = DateTime.Now.AddMinutes(-1); DataResponse response2 = new DataResponse(response1); Assert.AreEqual(ResponseResult.Success, response2.Result, "Result wasn't set to failure"); Assert.AreEqual("original id", response2.RequestIdentifier, "RequestIdentifier wasn't set to the identifier of the request"); Assert.IsTrue((response1.Timestamp == response2.Timestamp), "Timestamp was not set"); }
public void ToStringSerialisesAllValues() { DataResponse response = new DataResponse(); response.ErrorMessages.Add(new ErrorMessage("Error 1")); response.ErrorMessages.Add(new ErrorMessage("Error 2")); response.RequestIdentifier = "request"; response.Result = ResponseResult.Success; response.Timestamp = DateTime.Now; response.Data = "new data"; string actual = response.ToString(); string expected = string.Format("<dataResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "timestamp=\"{2:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" result=\"{1}\">" + "<error>Error 1</error>" + "<error>Error 2</error>" + "<data>{3}</data>" + "</dataResponse>", response.RequestIdentifier, response.Result, response.Timestamp, response.Data); Assert.AreEqual(expected, actual); }
/// <summary> /// Retrieves the security configuration. /// </summary> /// <param name="request"></param> public virtual DataResponse GetSecurityConfiguration(ServerRequest request) { Log.Info("GetSecurityConfiguration"); DataResponse response = new DataResponse(RunServerRequest(request, SecurityPermission.ViewSecurity, SecurityEvent.GetSecurityConfiguration, delegate { ServerSecurityConfigurationInformation config = new ServerSecurityConfigurationInformation(); config.Manager = securityManager; foreach (IProject project in configuration.Projects) { config.AddProject(project); } })); return response; }
/// <summary> /// Retrieve the identifer for this project on a linked site. /// </summary> /// <param name="request"></param> /// <returns></returns> public virtual DataResponse GetLinkedSiteId(ProjectItemRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewProject, null, (arg, resp) => { // Retrieve the project configuration var project = GetIntegrator(arg.ProjectName).Project; // Find the site that has the matching name if (project.LinkedSites != null) { foreach (var siteLink in project.LinkedSites) { if (string.Equals(request.ItemName, siteLink.Name, StringComparison.CurrentCultureIgnoreCase)) { data = siteLink.Value; break; } } } })); response.Data = data; return response; }
public void GetSetAllPropertiesWorks() { DataResponse response = new DataResponse(); response.Data = "new data"; Assert.AreEqual("new data", response.Data, "Data fails get/set test"); }
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 GetModificationHistoryDocument() { DataResponse response = new DataResponse(); response.Result = ResponseResult.Success; response.Data = "Some data"; CruiseServerClient client = new CruiseServerClient( new ServerStub("GetModificationHistoryDocument", typeof(ProjectRequest), "Project #1", response)); string result = client.GetModificationHistoryDocument("Project #1"); Assert.AreEqual(response.Data, result); }
/// <summary> /// Returns the build log contents for requested project and build name /// </summary> public virtual DataResponse GetLog(BuildRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewProject, null, delegate { data = this.RetrieveLogData(request.ProjectName, request.BuildName, request.CompressData); })); response.Data = data; // Perform a garbage collection to reduce the amount of memory held GC.Collect(); return response; }
/// <summary> /// Retrieve the public key for the server. /// </summary> /// <param name="request"></param> /// <returns></returns> public DataResponse RetrievePublicKey(ServerRequest request) { var response = new DataResponse(request); // Either generate or retrieve the key for CruiseControl.NET Server var cp = new CspParameters(); cp.KeyContainerName = "CruiseControl.NET Server"; var provider = new RSACryptoServiceProvider(cp); // Return the public key response.Data = provider.ToXmlString(false); response.Result = ResponseResult.Success; return response; }
/// <summary> /// Gets the RSS feed. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <remarks></remarks> public DataResponse GetRSSFeed(ProjectRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, null, /* no permission required, RSS feed is opened*/ null, delegate(ProjectRequest arg, Response resp) { data = GetIntegrator(arg.ProjectName).Project.RSSFeed; })); response.Data = data; return response; }
/// <summary> /// Gets the RSS feed. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <remarks></remarks> public DataResponse GetRSSFeed(ProjectRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewProject, null, delegate(ProjectRequest arg, Response resp) { data = GetIntegrator(arg.ProjectName).Project.RSSFeed; })); response.Data = data; return response; }
/// <summary> /// Gets the modification history document. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <remarks></remarks> public DataResponse GetModificationHistoryDocument(ProjectRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewProject, null, delegate(ProjectRequest arg, Response resp) { data = GetIntegrator(arg.ProjectName).Project.ModificationHistory; })); response.Data = data; return response; }
/// <summary> /// Gets the server version. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <remarks></remarks> public DataResponse GetServerVersion(ServerRequest request) { string data = null; DataResponse response = new DataResponse(RunServerRequest(request, null, null, delegate { Log.Trace("Returning version number"); try { data = Assembly.GetExecutingAssembly().GetName().Version.ToString(); } catch (ApplicationException e) { Log.Warning(e); throw new CruiseControlException("Failed to get project version . Exception was - " + e.Message, e); } })); response.Data = data; return response; }
/// <summary> /// Gets the project. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <remarks></remarks> public DataResponse GetProject(ProjectRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewConfiguration, null, delegate(ProjectRequest arg, Response resp) { Log.Info("Getting project - " + request.ProjectName); data = new NetReflectorProjectSerializer() .Serialize(configurationService.Load().Projects[arg.ProjectName]); })); response.Data = data; return response; }
/// <summary> /// Retrieves the server log. /// </summary> /// <param name="request"></param> /// <returns></returns> public DataResponse GetServerLog(ServerRequest request) { string data = null; DataResponse response = null; var dummy = request as ProjectRequest; if (dummy != null) { response = new DataResponse(RunProjectRequest(dummy, SecurityPermission.ViewConfiguration, null, delegate(ProjectRequest arg, Response resp) { data = new ServerLogFileReader().Read((arg).ProjectName); })); } else { response = new DataResponse(RunServerRequest(request, SecurityPermission.ViewConfiguration, null, delegate { data = new ServerLogFileReader().Read(); })); } response.Data = data; return response; }
public void GetLog() { DataResponse response = new DataResponse(); response.Result = ResponseResult.Success; response.Data = "Some data"; CruiseServerClient client = new CruiseServerClient( new ServerStub("GetLog", typeof(BuildRequest), "Project #1", response)); string result = client.GetLog("Project #1", "Build #1"); Assert.AreEqual(response.Data, result); }
/// <summary> /// Retrieves the amount of free disk space. /// </summary> /// <param name="request"></param> /// <returns>The amount of free space in bytes.</returns> public DataResponse GetFreeDiskSpace(ServerRequest request) { string data = null; DataResponse response = new DataResponse(RunServerRequest(request, null, null, delegate { //TODO: this is currently a hack // this method sould return a collection of drives used by ccnet // since each project can be hostet on a different drive. // We should determine the drives used by a project // (working, artefacs, SCM checkout, build publisher, etc) // of each project and return a list of free disc space for every used drive. var drive = ConfigurationManager.AppSettings["DataDrive"]; if (string.IsNullOrEmpty(drive)) { if (System.IO.Path.DirectorySeparatorChar == '/') drive = "/"; else drive = "C:"; } var fileSystem = new SystemIoFileSystem(); data = fileSystem.GetFreeDiskSpace(drive).ToString(CultureInfo.CurrentCulture); })); response.Data = data; return response; }
/// <summary> /// Returns the name of the most recent build for the specified project /// </summary> public DataResponse GetLatestBuildName(ProjectRequest request) { string data = null; DataResponse response = new DataResponse(RunProjectRequest(request, SecurityPermission.ViewProject, null, delegate(ProjectRequest arg, Response resp) { data = GetIntegrator(arg.ProjectName).IntegrationRepository.GetLatestBuildName(); })); response.Data = data; return response; }