public bool ForceBuild(IProjectSpecifier projectSpecifier) { bool clientInfoRequired = false; ArrayList clientInfoList = new ArrayList(); ICruiseManager manager = GetCruiseManager(projectSpecifier.ServerSpecifier); IForceFilter[] forceFilters = this.GetProject(manager, projectSpecifier.ProjectName).ForceFilters; if (forceFilters != null && forceFilters.Length != 0) { foreach (IForceFilter forceFilter in forceFilters) { if (forceFilter.RequiresClientInformation) { clientInfoRequired = true; ForceFilterClientInfo info = forceFilter.GetClientInfo(); clientInfoList.Add(info); } } } if (clientInfoRequired) { ForceFilterClientInfo[] clientInfo; clientInfo = (ForceFilterClientInfo[])clientInfoList.ToArray(typeof(ForceFilterClientInfo)); return(manager.ForceBuild(projectSpecifier.ProjectName, clientInfo)); } else { return(manager.ForceBuild(projectSpecifier.ProjectName)); } }
public void ForceBuild() { bool clientInfoRequired = false; ArrayList clientInfoList = new ArrayList(); IForceFilter[] forceFilters = this.project.ForceFilters; if (forceFilters != null && forceFilters.Length != 0) { foreach (IForceFilter forceFilter in forceFilters) { if (forceFilter.RequiresClientInformation) { clientInfoRequired = true; ForceFilterClientInfo info = forceFilter.GetClientInfo(); clientInfoList.Add(info); } } } if (clientInfoRequired) { ForceFilterClientInfo[] clientInfo; clientInfo = (ForceFilterClientInfo[])clientInfoList.ToArray(typeof(ForceFilterClientInfo)); manager.ForceBuild(ProjectName, clientInfo); } else { manager.ForceBuild(ProjectName); } }
public bool ShouldRunIntegration(ForceFilterClientInfo[] clientInfo, IIntegrationResult result) { foreach (ProjectFilter Project in this.ProjectFilters) { if (!Project.IsAllowed()) return false; } return true; }
public virtual bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo) { this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.Called = true; this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.PassedStringprojectName = projectName; this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.PassedForceFilterClientInfoArrayclientInfo = clientInfo; if ((this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.ExceptionToThrow != null)) { throw this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.ExceptionToThrow; } return this.Recordings.ForceBuildStringForceFilterClientInfoArrayRecording.ReturnValue; }
public void Test() { this.UserName = ""; this.Password = ""; this.DomainName = ""; ForceFilterClientInfo info = this.GetClientInfo(); if (((UserInformation)info).Name != "") { throw new Exception(); } }
public void Test() { this.UserName = "******"; this.Password = "******"; this.DomainName = "chcsii"; ForceFilterClientInfo info = this.GetClientInfo(); if (((UserInformation)info).Name != "jflowers") { throw new Exception(); } }
protected override void ExecuteTask() { Log(Level.Info, "Connecting to CCNet server " + ServerUrl); _cruiseManager = (ICruiseManager)RemotingServices.Connect(typeof(ICruiseManager), ServerUrl); if (this.CCNetPlugins != null && this.CCNetPlugins.FileNames.Count > 0) { foreach (string AssemblyPath in this.CCNetPlugins.FileNames) { if (!PluginAlreadyLoaded(AssemblyPath)) { Assembly LoadedAssembly = Assembly.LoadFile(AssemblyPath); Log(Level.Debug, "Loaded {0}", LoadedAssembly.Location); } } } bool clientInfoRequired = false; ArrayList clientInfoList = new ArrayList(); IForceFilter[] forceFilters = this.project.ForceFilters; if (forceFilters != null && forceFilters.Length != 0) { foreach (IForceFilter forceFilter in forceFilters) { if (forceFilter.RequiresClientInformation) { clientInfoRequired = true; ForceFilterClientInfo info = forceFilter.GetClientInfo(); clientInfoList.Add(info); } } } bool SuccessfullyForced = false; if (clientInfoRequired) { ForceFilterClientInfo[] clientInfo; clientInfo = (ForceFilterClientInfo[])clientInfoList.ToArray(typeof(ForceFilterClientInfo)); SuccessfullyForced = _cruiseManager.ForceBuild(ProjectName, clientInfo); } else { SuccessfullyForced = _cruiseManager.ForceBuild(ProjectName); } if (!SuccessfullyForced) { throw new BuildException(string.Format("Unable to force build for {0} on {1}.", this.ProjectName, this.ServerUrl), this.Location); } Log(Level.Info, "Successfully forced CCNet project " + this.ProjectName); }
public void ShouldRunIntegration(string stubName, string includedName, bool expected) { HostForceFilter TestSubject = new HostForceFilter(); TestSubject.Hosts = new string[] { includedName }; TestSubject.HostHelper = new HostNameHelperStub(stubName); TestSubject.Logger = new LogHelperFake(); RecorderIIntegrationResult IntegrationResult = new RecorderIIntegrationResult(); IntegrationResult.SetProjectName = "bogas"; ForceFilterClientInfo ClientInfo = TestSubject.GetClientInfo(); bool Actual = TestSubject.ShouldRunIntegration(new ForceFilterClientInfo[] { ClientInfo }, IntegrationResult); Assert.AreEqual(expected, Actual, "Got the opposite result as expected from ShouldRunIntegration."); }
public void ShouldRunIntegration(string stubPassword, string password, bool expected) { PasswordForceFilter TestSubject = new PasswordForceFilter(); TestSubject.Password = password; TestSubject.PasswordHelper = new PasswordHelperStub(stubPassword); TestSubject.Logger = new LogHelperFake(); RecorderIIntegrationResult IntegrationResult = new RecorderIIntegrationResult(); IntegrationResult.SetProjectName = "bogas"; ForceFilterClientInfo ClientInfo = TestSubject.GetClientInfo(); bool Actual = TestSubject.ShouldRunIntegration(new ForceFilterClientInfo[] { ClientInfo }, IntegrationResult); Assert.AreEqual(expected, Actual, "Got the opposite result as expected from ShouldRunIntegration."); }
public bool ForceBuild(IProjectSpecifier projectSpecifier) { bool clientInfoRequired = false; ArrayList clientInfoList = new ArrayList(); ICruiseManager manager = GetCruiseManager(projectSpecifier.ServerSpecifier); IForceFilter[] forceFilters = this.GetProject(manager, projectSpecifier.ProjectName).ForceFilters; if (forceFilters != null && forceFilters.Length != 0) { foreach (IForceFilter forceFilter in forceFilters) { if (forceFilter.RequiresClientInformation) { clientInfoRequired = true; ForceFilterClientInfo info = forceFilter.GetClientInfo(); clientInfoList.Add(info); } } } Dictionary <string, string> webParams = new Dictionary <string, string>(); foreach (String key in HttpContext.Current.Request.Form.Keys) { String value = HttpContext.Current.Request.Params[key]; webParams.Add(key, value); } if (clientInfoRequired) { ForceFilterClientInfo[] clientInfo; clientInfo = (ForceFilterClientInfo[])clientInfoList.ToArray(typeof(ForceFilterClientInfo)); return(manager.ForceBuild(projectSpecifier.ProjectName, webParams, clientInfo)); } else { return(manager.ForceBuild(projectSpecifier.ProjectName, webParams)); } }
public void ForceBuild() { bool clientInfoRequired = false; List <ForceFilterClientInfo> clientInfoList = new List <ForceFilterClientInfo>(); IForceFilter[] forceFilters = this.project.ForceFilters; if (forceFilters != null && forceFilters.Length != 0) { foreach (IForceFilter forceFilter in forceFilters) { if (forceFilter.RequiresClientInformation) { clientInfoRequired = true; ForceFilterClientInfo info = forceFilter.GetClientInfo(); clientInfoList.Add(info); } } } if (clientInfoRequired) { Type[] extraTypes = new Type[] { typeof(PasswordInformation), typeof(HostInformation), typeof(UserInformation) }; ForceFilterClientInfo[] forceFilterClientInfoList = new ForceFilterClientInfo[clientInfoList.Count]; forceFilterClientInfoList = clientInfoList.ToArray(); XmlSerializer clientInfoSerializer = new XmlSerializer(typeof(ForceFilterClientInfo[]), extraTypes); StringWriter clientInfoBuffer = new StringWriter(); clientInfoSerializer.Serialize(clientInfoBuffer, forceFilterClientInfoList); string serializedClientInfo = clientInfoBuffer.ToString(); clientInfoBuffer.Close(); manager.ForceBuild(ProjectName, serializedClientInfo); } else { manager.ForceBuild(ProjectName, string.Empty); } }
public bool ShouldRunIntegration(ForceFilterClientInfo[] clientInfo, IIntegrationResult result) { PasswordInformation PasswordInfo = null; foreach (ForceFilterClientInfo Info in clientInfo) { if (Info is PasswordInformation) { PasswordInfo = (PasswordInformation)Info; break; } } if (PasswordInfo == null) throw new InvalidOperationException("No password information was found."); if (this.Password == PasswordInfo.Password) { return true; } Logger.LogInfo(string.Format("The password '{0}' is not correct and the build will not be forced for project {1}.", PasswordInfo.Password, result.ProjectName)); return false; }
public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo) { return GetIntegrator(projectName).ForceBuild(clientInfo); }
public bool ForceBuild(ForceFilterClientInfo[] clientInfo) { IIntegrationResult result = result = resultManager.StartNewIntegration(); if (this.Project.ForceFilters != null && this.Project.ForceFilters.Length != 0) { foreach (IForceFilter Filter in this.Project.ForceFilters) { Boolean ToForce = Filter.ShouldRunIntegration(clientInfo, result); if (!ToForce) return false; } } Log.Info("Force Build for project: " + _project.Name); this.ShouldForceBuild = true; this.IntegrationResult = result; this.Start(); return true; }
public bool ShouldRunIntegration(ForceFilterClientInfo[] clientInfo, IIntegrationResult result) { HostInformation HostInfo = null; foreach (ForceFilterClientInfo Info in clientInfo) { if (Info is HostInformation) { HostInfo = (HostInformation)Info; break; } } if (HostInfo == null) throw new InvalidOperationException("No host information was found."); if (this.HostList.Contains(HostInfo.Name)) { return true; } Logger.LogInfo(string.Format("{0} is not allowed to force the build for project {1}.", HostInfo.Name, result.ProjectName)); return false; }
public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo) { Log.Debug(string.Format("Forcing {0}.", projectName)); return this.Projects[projectName].ForceBuild(projectName, clientInfo); }
public bool ShouldRunIntegration(ForceFilterClientInfo[] clientInfo, IIntegrationResult result) { UserInformation UserInfo = null; foreach (ForceFilterClientInfo Info in clientInfo) { if (Info is UserInformation) { UserInfo = (UserInformation)Info; break; } } if (UserInfo == null) throw new InvalidOperationException("No user information was found."); this.AddUserNameToResults(result, UserInfo); if (this.DontCheck) return true; bool ToRun = false; if (this.UserList.Contains(UserInfo.Name)) { return true; } foreach (string GroupName in this.Groups) { if (UserInfo.Groups.Contains(GroupName)) { return true; } } Log.Info(string.Format("{0} is not allowed to force the build for project {1}.", UserInfo.Name, result.ProjectName)); return ToRun; }
public bool ForceBuild(string project, ForceFilterClientInfo[] clientInfo) { return cruiseServer.ForceBuild(project, clientInfo); }
public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo) { return _server.ForceBuild(projectName, clientInfo); }