public void ToStringSerialisesAllValues()
 {
     BuildIntegrationRequest request = new BuildIntegrationRequest();
     request.Identifier = "identifier";
     request.ProjectName = "projectName";
     request.ServerName = "serverName";
     request.SessionToken = "sessionToken";
     request.SourceName = "sourceName";
     request.Timestamp = DateTime.Now;
     request.BuildCondition = BuildCondition.IfModificationExists;
     request.AddBuildValue("value1", "actual value");
     string actual = request.ToString();
     string expected = string.Format(System.Globalization.CultureInfo.CurrentCulture,"<integrationMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
         "timestamp=\"{4:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" server=\"{1}\" source=\"{2}\" session=\"{3}\" project=\"{5}\" condition=\"{6}\">" + 
         "<buildValue name=\"value1\" value=\"actual value\" />" + 
         "</integrationMessage>",
         request.Identifier,
         request.ServerName,
         request.SourceName,
         request.SessionToken,
         request.Timestamp,
         request.ProjectName,
         request.BuildCondition);
     Assert.AreEqual(expected, actual);
 }
 public void AddBuildValueAddsToUnderlyingList()
 {
     BuildIntegrationRequest request = new BuildIntegrationRequest();
     request.AddBuildValue("value1", "actual value");
     string actual = NameValuePair.FindNamedValue(request.BuildValues, "value1");
     Assert.AreEqual("actual value", actual);
 }
 public void GetSetAllPropertiesWorks()
 {
     BuildIntegrationRequest request = new BuildIntegrationRequest();
     var values = new List<NameValuePair>();
     request.BuildCondition = BuildCondition.IfModificationExists;
     request.BuildValues = values;
     Assert.AreSame(values, request.BuildValues);
     Assert.AreEqual(BuildCondition.IfModificationExists, request.BuildCondition, "BuildCondition fails the get/set test");
 }
 public void InitialiseRequestWithSessionSetsTheCorrectValues()
 {
     string sessionToken = "the session";
     DateTime now = DateTime.Now;
     BuildIntegrationRequest request = new BuildIntegrationRequest(sessionToken);
     Assert.IsFalse(string.IsNullOrEmpty(request.Identifier), "Identifier was not set");
     Assert.AreEqual(Environment.MachineName, request.SourceName, "Source name doesn't match the machine name");
     Assert.AreEqual(sessionToken, request.SessionToken, "SessionToken doesn't match the input token");
     Assert.IsTrue((now <= request.Timestamp), "Timestamp was not set");
 }
 public void ToStringSerialisesDefaultValues()
 {
     BuildIntegrationRequest request = new BuildIntegrationRequest();
     string actual = request.ToString();
     string expected = string.Format(System.Globalization.CultureInfo.CurrentCulture,"<integrationMessage 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}\" source=\"{1}\" condition=\"{3}\" />",
         request.Identifier,
         request.SourceName,
         request.Timestamp,
         request.BuildCondition);
     Assert.AreEqual(expected, actual);
 }
        /// <summary>
        /// Sends a build request to the server.
        /// </summary>
        /// <param name="projectName">The name of the project to use.</param>
        /// <param name="integrationRequest"></param>
        public override void Request(string projectName, IntegrationRequest integrationRequest)
        {
            if (string.IsNullOrEmpty(projectName)) throw new ArgumentNullException("projectName");

            BuildIntegrationRequest request = new BuildIntegrationRequest(SessionToken, projectName);
            request.BuildCondition = integrationRequest.BuildCondition;
            request.ServerName = TargetServer;
            Response resp = connection.SendMessage("ForceBuild", request);
            ValidateResponse(resp);
        }
        /// <summary>
        /// Forces a build for the named project with some parameters.
        /// </summary>
        /// <param name="projectName">project to force</param>
        /// <param name="parameters"></param>
        public override void ForceBuild(string projectName, List<NameValuePair> parameters)
        {
            if (string.IsNullOrEmpty(projectName)) throw new ArgumentNullException("projectName");

            BuildIntegrationRequest request = new BuildIntegrationRequest(SessionToken, projectName);
            request.BuildValues = parameters;
            request.ServerName = TargetServer;
            Response resp = connection.SendMessage("ForceBuild", request);
            ValidateResponse(resp);
        }
        /// <summary>
        /// Requests the specified project name.	
        /// </summary>
        /// <param name="projectName">Name of the project.</param>
        /// <param name="integrationRequest">The integration request.</param>
        /// <remarks></remarks>
		public void Request(string projectName, IntegrationRequest integrationRequest)
		{
            BuildIntegrationRequest request = new BuildIntegrationRequest(null, projectName);
            request.BuildCondition = integrationRequest.BuildCondition;
            Response resp = cruiseServer.ForceBuild(request);
            ValidateResponse(resp);
		}
 public void GetSetAllPropertiesWorks()
 {
     BuildIntegrationRequest request = new BuildIntegrationRequest();
     request.BuildCondition = BuildCondition.IfModificationExists;
     Assert.AreEqual(BuildCondition.IfModificationExists, request.BuildCondition, "BuildCondition fails the get/set test");
 }