Ejemplo n.º 1
0
 public FragileTestAttribute(IssueTracker issueTracker, int issueNumber, string description)
 {
     IssueTracker      = issueTracker;
     IssueNumber       = issueNumber;
     Description       = description;
     PlatformsAffected = PlatformAffected.Default;
 }
        public AssignedIssues2(IssueTracker data)
            : this()
        {
            _dataSet = data.DataSet;

            _bigView =
                from i in _dataSet.Issues.AsLive()
                join p in _dataSet.Products.AsLive() on i.ProductID equals p.ProductID
                join f in _dataSet.Features.AsLive() on new { i.ProductID, i.FeatureID } equals new { f.ProductID, f.FeatureID }
            join e in _dataSet.Employees.AsLive() on i.AssignedTo equals e.EmployeeID
                 select new Issue
            {
                IssueID        = i.IssueID,
                ProductName    = p.ProductName,
                FeatureName    = f.FeatureName,
                Description    = i.Description,
                AssignedToID   = e.EmployeeID,
                AssignedToName = e.FullName
            };

            _bigView.Indexes.Add(x => x.AssignedToID);

            _issueCounts =
                from i in _dataSet.Issues.AsLive()
                join e in _dataSet.Employees.AsLive() on i.AssignedTo equals e.EmployeeID
                group e by e.FullName into g
                select new EmployeeIssueCount
            {
                EmployeeName = g.Key,
                IssueCount   = g.Count()
            };
        }
Ejemplo n.º 3
0
 public FragileTestAttribute(IssueTracker issueTracker, int issueNumber, string description,
                             PlatformAffected platformsAffected)
 {
     IssueTracker      = issueTracker;
     IssueNumber       = issueNumber;
     Description       = description;
     PlatformsAffected = platformsAffected;
 }
Ejemplo n.º 4
0
 public IssueAttribute(IssueTracker issueTracker, int issueNumber, string description, PlatformAffected platformsAffected, NavigationBehavior navigationBehavior = NavigationBehavior.Default)
 {
     IssueTracker       = issueTracker;
     IssueNumber        = issueNumber;
     Description        = description;
     PlatformsAffected  = platformsAffected;
     NavigationBehavior = navigationBehavior;
 }
Ejemplo n.º 5
0
 public void VerifyOpenIssueTrackerCacheOff()
 {
     using (SessionNoServer session = new SessionNoServer(systemDir, 2000, true, false))
     {
         session.BeginUpdate();
         IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
         session.Commit();
     }
 }
Ejemplo n.º 6
0
 public void VerifyOpenIssueTrackerCacheOff()
 {
     using (SessionNoServer session = new SessionNoServer(systemDir, 2000, true, false))
     {
         session.BeginUpdate();
         IssueTracker issueTracker = session.AllObjects <IssueTracker>(false).FirstOrDefault();
         session.Commit();
     }
 }
Ejemplo n.º 7
0
        public void Test_RegisterUserWithDifferentPasswords_ShouldReturnErrorMessage()
        {
            string username = "******";
            string password = "******";

            var    tracker    = new IssueTracker();
            string viewResult = tracker.RegisterUser(username, password, "invalidPasswprd");

            Assert.AreEqual("The provided passwords do not match", viewResult);
        }
Ejemplo n.º 8
0
 public void Create1Root()
 {
     using (SessionNoServer session = new SessionNoServer(systemDir))
     {
         session.BeginUpdate();
         IssueTracker issueTracker = new IssueTracker(10, session);
         User         user         = new User(null, "*****@*****.**", "Mats", "Persson", "matspca");
         session.Persist(user);
         PermissionScheme permissions = new PermissionScheme(user);
         issueTracker.Permissions = permissions;
         session.Persist(issueTracker);
         session.Commit();
     }
 }
Ejemplo n.º 9
0
        public void Test_RegisterUserWithLoggedInUser_ShouldRegisterUser()
        {
            string username = "******";
            string password = "******";

            var tracker = new IssueTracker();

            tracker.RegisterUser(username, password, password);
            tracker.LoginUser(username, password);
            string otherUsername = "******";
            string viewResult    = tracker.RegisterUser(otherUsername, password, password);

            Assert.AreEqual("There is already a logged in user", viewResult);
        }
Ejemplo n.º 10
0
        public void Test_RegisterUser_ShouldRegisterUser()
        {
            string username = "******";
            string password = "******";

            var    tracker    = new IssueTracker();
            string viewResult = tracker.RegisterUser(username, password, password);

            Assert.AreEqual("User validUsername registered successfully", viewResult);
            Assert.AreEqual(1, tracker.Data.Users.Count);
            var user = tracker.Data.Users.First().Value;

            Assert.AreEqual(username, user.Username);
            Assert.AreEqual(HashUtility.HashPassword(password), user.PasswordHash);
        }
            internal static IssueTracker BuildFromConfig(JToken jToken)
            {
                string plugName = Field.GetString(jToken, "plugName");

                if (string.IsNullOrEmpty(plugName) || plugName.ToLowerInvariant().Trim().Equals("none"))
                {
                    return(null);
                }

                IssueTracker result = new IssueTracker(
                    plugName,
                    Field.GetString(jToken, "projectKey"),
                    StatusProperty.BuildFromConfig(jToken["statusFieldGroup"]));

                return(result);
            }
Ejemplo n.º 12
0
        public BatchProcessing(IssueTracker data)
            : this()
        {
            _data = data;

            _issuesToAssign =
                from i in _data.Issues
                where i.AssignedTo == 0
                join a in _data.Assignments on new { i.ProductID, i.FeatureID } equals new { a.ProductID, a.FeatureID }
            join i1 in _data.Issues
                 on new { i.ProductID, i.FeatureID, a.EmployeeID } equals new { i1.ProductID, i1.FeatureID, EmployeeID = i1.AssignedTo } into g
            where g.Count() == 0
            join e in _data.Employees on a.EmployeeID equals e.EmployeeID
                 select new IssueAssignment {
                IssueID = i.IssueID, EmployeeID = a.EmployeeID, EmployeeName = e.FullName
            };
        }
Ejemplo n.º 13
0
        public static void Main()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            var issueTrackerData = new IssueTrackerData();

            // DI: Refactored the code in different classes.
            var issueTracker = new IssueTracker(issueTrackerData);

            // DI: Refactored the code in different classes.
            var dispacher = new Dispatcher(issueTracker);

            // DI: Refactored the code in different classes.
            var engine = new Engine(dispacher);

            engine.Run();
        }
Ejemplo n.º 14
0
        public void Test_RegisterUserWithRepeatingUsername_ShouldRegisterUser()
        {
            string username = "******";
            string password = "******";

            var tracker = new IssueTracker();

            tracker.RegisterUser(username, password, password);

            string viewResult = tracker.RegisterUser(username, password, password);

            Assert.AreEqual("A user with username validUsername already exists", viewResult);
            Assert.AreEqual(1, tracker.Data.Users.Count);
            var user = tracker.Data.Users.First().Value;

            Assert.AreEqual(username, user.Username);
            Assert.AreEqual(HashUtility.HashPassword(password), user.PasswordHash);
        }
Ejemplo n.º 15
0
        public void TestRegisterUser_ValidUserDetails_ShouldAddUserToDatabase()
        {
            IBuhtigIssueTrackerData data    = new BuhtigIssueTrackerData();
            IIssueTracker           tracker = new IssueTracker(data);
            string username        = "******";
            string password        = "******";
            string confirmPassword = "******";

            string result = tracker.RegisterUser(username, password, confirmPassword);

            User expectedUser = new User(username, password);
            User actualUser   = data.UsersRepository[username];

            Assert.AreEqual(result, "User pesho registered successfully",
                            "RegisterUser() does not return proper outcome in case of no logged in user.");

            Assert.AreEqual(expectedUser.Username, actualUser.Username, "RegisterUser() does not add user to database properly.");
            Assert.AreEqual(expectedUser.Password, actualUser.Password, "RegisterUser() does not add user to database properly.");
        }
Ejemplo n.º 16
0
 TrunkBotConfiguration(
     string server,
     string repository,
     string trunkBranch,
     string branchPrefix,
     string userApiKey,
     PlasticSCM plastic,
     IssueTracker issues,
     ContinuousIntegration ci,
     Notifier notifications)
 {
     Server        = server;
     Repository    = repository;
     TrunkBranch   = trunkBranch;
     BranchPrefix  = branchPrefix;
     UserApiKey    = userApiKey;
     Plastic       = plastic;
     Issues        = issues;
     CI            = ci;
     Notifications = notifications;
 }
Ejemplo n.º 17
0
 MultilinerBotConfiguration(
     string server,
     string repository,
     string mergeToBranchesAttrName,
     string branchPrefix,
     string userApiKey,
     PlasticSCM plastic,
     IssueTracker issues,
     ContinuousIntegration ci,
     List <Notifier> notifiers)
 {
     Server     = server;
     Repository = repository;
     MergeToBranchesAttrName = mergeToBranchesAttrName;
     BranchPrefix            = branchPrefix;
     UserApiKey = userApiKey;
     Plastic    = plastic;
     Issues     = issues;
     CI         = ci;
     Notifiers  = notifiers;
 }
Ejemplo n.º 18
0
        public void Create4Projects(int numberOfProjects)
        {
            Project project      = null;
            Project priorProject = null;

            for (int i = 0; i < numberOfProjects; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    string       p            = "project" + i.ToString();
                    string       d            = "pdescription" + i.ToString();
                    project = new Project(user, p, d);
                    project.Persist(session, priorProject ?? project);
                    priorProject = project;
                    issueTracker.ProjectSet.Add(project);
                    session.Commit();
                }
            }
        }
Ejemplo n.º 19
0
        public void Create4Projects(int numberOfProjects)
        {
            Project project      = null;
            Project priorProject = null;

            for (int i = 0; i < numberOfProjects; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = session.AllObjects <IssueTracker>(false).FirstOrDefault();
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    string       p            = "project" + i.ToString();
                    string       d            = "pdescription" + i.ToString();
                    project = new Project(user, p, d);
                    session.Persist(project);
                    priorProject = project;
                    issueTracker.ProjectSet.Add(project);
                    session.Commit();
                }
            }
        }
Ejemplo n.º 20
0
        public void Create3Versions(int numberOfVersions)
        {
            ProductVersion version      = null;
            ProductVersion priorVersion = null;

            for (int i = 0; i < numberOfVersions; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = session.AllObjects <IssueTracker>(false).FirstOrDefault();
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    string       v            = "version" + i.ToString();
                    string       d            = "vdescription" + i.ToString();
                    version = new ProductVersion(user, v, d, null);
                    session.Persist(version);
                    issueTracker.VersionSet.Add(version);
                    priorVersion = version;
                    session.Commit();
                }
            }
        }
Ejemplo n.º 21
0
            public void FilterTracker(IssueTracker tracker)
            {
                switch (tracker)
                {
                case IssueTracker.Github:
                    _filterGitHub = !_filterGitHub;
                    break;

                case IssueTracker.Bugzilla:
                    _filterBugzilla = !_filterBugzilla;
                    break;

                case IssueTracker.None:
                    _filterNone = !_filterNone;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(tracker), tracker, null);
                }

                FilterIssues(_filter);
            }
        internal BotConfiguration(
            string restApiServerUrl,
            string webSocketServerUrl,
            string repository,
            string trunkBranch,
            string branchPrefix,
            string plasticBotUserToken,
            StatusProperty plsticStatusAttrConfig,
            IssueTracker issueTrackerConfig,
            Notifier notifierConfig)
        {
            RestApiUrl          = restApiServerUrl;
            WebSocketUrl        = webSocketServerUrl;
            Repository          = repository;
            TrunkBranch         = trunkBranch;
            BranchPrefix        = branchPrefix;
            PlasticBotUserToken = plasticBotUserToken;

            PlasticStatusAttrConfig = plsticStatusAttrConfig;
            IssueTrackerConfig      = issueTrackerConfig;
            NotifierConfig          = notifierConfig;
        }
Ejemplo n.º 23
0
        public void Create3Versions(int numberOfVersions)
        {
            ProductVersion version      = null;
            ProductVersion priorVersion = null;

            for (int i = 0; i < numberOfVersions; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    string       v            = "version" + i.ToString();
                    string       d            = "vdescription" + i.ToString();
                    version = new ProductVersion(user, v, d, null);
                    version.Persist(session, priorVersion ?? version);
                    issueTracker.VersionSet.Add(version);
                    priorVersion = version;
                    session.Commit();
                }
            }
        }
        internal static BotConfiguration Build(
            string configFile,
            string restApiServerUrl,
            string webSocketServerUrl)
        {
            string  fileContent = System.IO.File.ReadAllText(configFile);
            JObject config      = JObject.Parse(fileContent);

            if (config == null)
            {
                return(null);
            }

            string repository = Field.GetString(config, "repository");

            string branchPrefix = Field.GetString(config, "branchPrefix");

            string trunkBranch = Field.GetString(config, "trunkBranch");

            string plasticBotUserToken = Field.GetString(config, "plasticBotUserToken");

            StatusProperty statusAttrConfig = StatusProperty.BuildFromConfig(config["plasticStatusAttributeGroup"]);

            IssueTracker issueTrackerConfig = IssueTracker.BuildFromConfig(config["issuesGroup"]);

            Notifier emailConfig = Notifier.BuildFromConfig(config["notifierEmailGroup"]);

            return(new BotConfiguration(
                       restApiServerUrl,
                       webSocketServerUrl,
                       repository,
                       trunkBranch,
                       branchPrefix,
                       plasticBotUserToken,
                       statusAttrConfig,
                       issueTrackerConfig,
                       emailConfig));
        }
Ejemplo n.º 25
0
        public void Create2Users(int numberOfUsers)
        {
            User user      = null;
            User priorUser = null;

            for (int i = 0; i < numberOfUsers; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = session.AllObjects <IssueTracker>(false).FirstOrDefault();
                    string       email        = i.ToString() + "@gmail.com";
                    string       first        = "first" + i.ToString();
                    string       last         = "last" + i.ToString();
                    string       userName     = "******" + i.ToString();
                    user = new User(user, email, first, last, userName);
                    session.Persist(user);
                    issueTracker.UserSet.Add(user);
                    priorUser = user;
                    session.Commit();
                }
            }
        }
Ejemplo n.º 26
0
        public void Create5Components(int numberOfComponents)
        {
            Component component      = null;
            Component priorComponent = null;

            for (int i = 0; i < numberOfComponents; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    Project      project      = issueTracker.ProjectSet.Keys[rand.Next(issueTracker.ProjectSet.Keys.Count - 1)];
                    string       c            = "component" + i.ToString();
                    string       d            = "cdescription" + i.ToString();
                    component = new Component(user, c, d, project);
                    component.Persist(session, priorComponent ?? component);
                    issueTracker.ComponentSet.Add(component);
                    priorComponent = component;
                    session.Commit();
                }
            }
        }
Ejemplo n.º 27
0
        public void Create2Users(int numberOfUsers)
        {
            User user      = null;
            User priorUser = null;

            for (int i = 0; i < numberOfUsers; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
                    string       email        = i.ToString() + "@gmail.com";
                    string       first        = "first" + i.ToString();
                    string       last         = "last" + i.ToString();
                    string       userName     = "******" + i.ToString();
                    user = new User(user, email, first, last, userName);
                    user.Persist(session, priorUser ?? user);
                    issueTracker.UserSet.Add(user);
                    priorUser = user;
                    session.Commit();
                }
            }
        }
Ejemplo n.º 28
0
        public void Create5Components(int numberOfComponents)
        {
            Component component      = null;
            Component priorComponent = null;

            for (int i = 0; i < numberOfComponents; i++)
            {
                using (SessionNoServer session = new SessionNoServer(systemDir))
                {
                    session.BeginUpdate();
                    IssueTracker issueTracker = session.AllObjects <IssueTracker>(false).FirstOrDefault();
                    User         user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Keys.Count - 1)];
                    Project      project      = issueTracker.ProjectSet.Keys[rand.Next(issueTracker.ProjectSet.Keys.Count - 1)];
                    string       c            = "component" + i.ToString();
                    string       d            = "cdescription" + i.ToString();
                    component = new Component(user, c, d, project);
                    session.Persist(component);
                    issueTracker.ComponentSet.Add(component);
                    priorComponent = component;
                    session.Commit();
                }
            }
        }
Ejemplo n.º 29
0
        public void Create6Issues(int numberOfIssues)
        {
            Issue issue      = null;
            Issue priorIssue = null;

            using (SessionNoServer session = new SessionNoServer(systemDir))
            {
                session.BeginUpdate();
                for (int i = 0; i < numberOfIssues; i++)
                {
                    IssueTracker       issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false);
                    User               user         = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Count)];
                    User               assignedTo   = issueTracker.UserSet.Keys[rand.Next(issueTracker.UserSet.Count)];
                    Project            project      = issueTracker.ProjectSet.Keys[rand.Next(issueTracker.ProjectSet.Count)];
                    Component          component    = issueTracker.ComponentSet.Keys[rand.Next(issueTracker.ComponentSet.Count)];
                    ProductVersion     version      = issueTracker.VersionSet.Keys[rand.Next(issueTracker.VersionSet.Count)];
                    Issue.CategoryEnum category     = (Issue.CategoryEnum)rand.Next(5);
                    Issue.Resolution   resolution   = (Issue.Resolution)rand.Next(5);
                    Issue.PriorityEnum priority     = (Issue.PriorityEnum)rand.Next(5);
                    Issue.StatusEnum   status       = (Issue.StatusEnum)rand.Next(5);
                    if (status == Issue.StatusEnum.Open || status == Issue.StatusEnum.InProgress || status == Issue.StatusEnum.Reopened)
                    {
                        resolution = Issue.Resolution.Incomplete; // the other states does not make sense
                    }
                    DateTime dueDate = new DateTime(rand.Next());
                    string   c       = "project" + i.ToString();
                    string   s       = "summary" + i.ToString();
                    string   e       = "environment" + i.ToString();
                    string   d       = "idescription" + i.ToString();
                    issue = new Issue(user, priority, project, category, component, version, resolution, s, d, e, assignedTo, dueDate, null, status);
                    issue.Persist(session, priorIssue == null ? issue : priorIssue);
                    priorIssue = issue;
                    issueTracker.Add(issue);
                }
                session.Commit();
            }
        }
Ejemplo n.º 30
0
 public void CreateIssueTracker()
 {
     this.issueTracker = new IssueTracker();
 }
Ejemplo n.º 31
0
 public void InitialStuff()
 {
     this.issueTracker = new IssueTracker(new BuhtigIssueTrackerData());
 }
 public void InitializeTests()
 {
     Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
     this.tracker = new IssueTracker();
 }
Ejemplo n.º 33
0
 public IssuesHelper()
 {
     _issueTracker = new IssueTracker(domain, token, username, password);
 }
 public void TestInitialization()
 {
     this.tracker = new IssueTracker();
 }
Ejemplo n.º 35
0
 public IssueTracker Constructor()
 {
     IssueTracker target = new IssueTracker();
     return target;
     // TODO: add assertions to method IssueTrackerTest.Constructor()
 }