Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
        public void Test()
        {
            this.UserName   = "";
            this.Password   = "";
            this.DomainName = "";
            ForceFilterClientInfo info = this.GetClientInfo();

            if (((UserInformation)info).Name != "")
            {
                throw new Exception();
            }
        }
Exemplo n.º 6
0
        public void Test()
        {
            this.UserName   = "******";
            this.Password   = "******";
            this.DomainName = "chcsii";
            ForceFilterClientInfo info = this.GetClientInfo();

            if (((UserInformation)info).Name != "jflowers")
            {
                throw new Exception();
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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.");
        }
Exemplo n.º 9
0
        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));
            }
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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;
        }
Exemplo n.º 13
0
 public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo)
 {
     return GetIntegrator(projectName).ForceBuild(clientInfo);
 }
Exemplo n.º 14
0
 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;
 }
Exemplo n.º 15
0
        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;
        }
Exemplo n.º 16
0
 public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo)
 {
     Log.Debug(string.Format("Forcing {0}.", projectName));
     return this.Projects[projectName].ForceBuild(projectName, clientInfo);
 }
Exemplo n.º 17
0
        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;
        }
Exemplo n.º 18
0
 public bool ForceBuild(string project, ForceFilterClientInfo[] clientInfo)
 {
     return cruiseServer.ForceBuild(project, clientInfo);
 }
Exemplo n.º 19
0
 public bool ForceBuild(string projectName, ForceFilterClientInfo[] clientInfo)
 {
     return _server.ForceBuild(projectName, clientInfo);
 }