Exemplo n.º 1
0
 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");
 }
Exemplo n.º 2
0
 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");
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 5
0
 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");
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 /// <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;
 }
Exemplo n.º 8
0
        /// <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;
        }
Exemplo n.º 9
0
 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);
 }
Exemplo n.º 12
0
        /// <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;
        }
Exemplo n.º 13
0
        /// <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;
        }
Exemplo n.º 14
0
 /// <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;
 }
Exemplo n.º 15
0
 /// <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;
 }
Exemplo n.º 16
0
 /// <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;
 }
Exemplo n.º 17
0
 /// <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;
 }
Exemplo n.º 18
0
 /// <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;
 }
Exemplo n.º 19
0
 /// <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);
 }
Exemplo n.º 21
0
        /// <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;
        }
Exemplo n.º 22
0
 /// <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;
 }