Пример #1
0
    def test_issue_stat(self):
        issue_rs = get_all_issue()
        assert len(issue_rs) == 0
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 0
        assert len(issue_rs) - issue_open_count == 0

        i1 = Issue.add('test1', 'test des1', 'testuser1', 'assignee')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 1
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 1
        assert len(issue_rs) - issue_open_count == 0

        i2 = Issue.add('test2', 'test des1', 'testuser1', 'assignee')
        i3 = Issue.add('test3', 'test des1', 'testuser2', 'assignee')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 3
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 3
        assert len(issue_rs) - issue_open_count == 0

        i1.close('testuser1')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 3
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 2
        assert len(issue_rs) - issue_open_count == 1

        issue_comment_count = get_issue_comment_count()
        assert issue_comment_count == 0
        IssueComment.add(i2.id, 'content', 'test')
        IssueComment.add(i3.id, 'content', 'test1')
        issue_comment_count = get_issue_comment_count()
        assert issue_comment_count == 2
Пример #2
0
    def test_get_issue(self):

        issue1 = Issue.add('test1', 'test1 description', 'test', 'assignee')
        issue2 = Issue.add('test2', 'test2 description', 'test', 'assignee')
        issue2.close("test")

        i1 = Issue.get(issue1.id)
        assert isinstance(i1, Issue)
        assert i1.title == 'test1'
        assert i1.description == 'test1 description'
        assert i1.creator_id == 'test'
        assert i1.assignee_id == 'assignee'
        assert i1.closer_id is None

        i2 = Issue.get(issue2.id)
        assert isinstance(i2, Issue)
        assert i2.title == 'test2'
        assert i2.description == 'test2 description'
        assert i2.creator_id == 'test'
        assert i2.assignee_id == 'assignee'
        assert i2.closer_id == 'test'

        i1 = Issue.get(issue1.id)
        assert isinstance(i1, Issue)
        assert i1.title == 'test1'
        assert i1.description == 'test1 description'
        assert i1.creator_id == 'test'
        assert i1.assignee_id == 'assignee'
        assert i1.closer_id is None

        iss = Issue.gets_by_creator_id("test")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_creator_id("test", "open")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_creator_id("test", "closed")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2

        iss = Issue.gets_by_assignee_id("assignee")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 6

        iss = Issue.gets_by_assignee_id("assignee", "open")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_assignee_id("assignee", "closed")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2

        iss = Issue.gets_by_closer_id("test")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2
Пример #3
0
    def test_get_issue(self):

        issue1 = Issue.add('test1', 'test1 description', 'test', 'assignee')
        issue2 = Issue.add('test2', 'test2 description', 'test', 'assignee')
        issue2.close("test")

        i1 = Issue.get(issue1.id)
        assert isinstance(i1, Issue)
        assert i1.title == 'test1'
        assert i1.description == 'test1 description'
        assert i1.creator_id == 'test'
        assert i1.assignee_id == 'assignee'
        assert i1.closer_id is None

        i2 = Issue.get(issue2.id)
        assert isinstance(i2, Issue)
        assert i2.title == 'test2'
        assert i2.description == 'test2 description'
        assert i2.creator_id == 'test'
        assert i2.assignee_id == 'assignee'
        assert i2.closer_id == 'test'

        i1 = Issue.get(issue1.id)
        assert isinstance(i1, Issue)
        assert i1.title == 'test1'
        assert i1.description == 'test1 description'
        assert i1.creator_id == 'test'
        assert i1.assignee_id == 'assignee'
        assert i1.closer_id is None

        iss = Issue.gets_by_creator_id("test")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_creator_id("test", "open")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_creator_id("test", "closed")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2

        iss = Issue.gets_by_assignee_id("assignee")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 6

        iss = Issue.gets_by_assignee_id("assignee", "open")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 4

        iss = Issue.gets_by_assignee_id("assignee", "closed")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2

        iss = Issue.gets_by_closer_id("test")
        assert all([isinstance(i, Issue) for i in iss])
        assert len(iss) == 2
Пример #4
0
 def add(cls,
         title,
         description,
         creator,
         number=None,
         team=None,
         project=None,
         assignee=None,
         closer=None,
         created_at=None,
         updated_at=None,
         closed_at=None):
     issue = Issue.add(title,
                       description,
                       creator,
                       assignee=assignee,
                       closer=closer,
                       type=cls.target_type,
                       target_id=team)
     if issue and team:
         number = TICounter.incr(team, number)
         team_issue_id = store.execute(
             'insert into team_issues (team_id, issue_id, number) '
             'values (%s, %s, %s)', (team, issue.id, number))
         store.commit()
         return cls(team_issue_id, team, issue.id, number, title, creator,
                    assignee, closer, issue.created_at, issue.updated_at)
Пример #5
0
 def add(cls,
         title,
         description,
         creator,
         number=None,
         team=None,
         project=None,
         assignee=None,
         closer=None,
         created_at=None,
         updated_at=None,
         closed_at=None):
     issue = Issue.add(title,
                       description,
                       creator,
                       assignee=assignee,
                       closer=closer,
                       type='fair',
                       target_id=team)
     if issue:
         number = issue.id
         '''
         team_issue_id = store.execute(
             'insert into team_issues (team_id, issue_id, number) '
             'values (%s, %s, %s)',
             (team, issue.id, number))
         store.commit()
         '''
         return cls(issue.id, team, issue.id, number, title, creator,
                    assignee, closer, issue.created_at, issue.updated_at)
Пример #6
0
 def test_add_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     assert isinstance(i, Issue)
     assert i.title == 'test'
     assert i.description == 'test description'
     assert i.creator_id == 'test'
     assert i.assignee_id == 'assignee'
Пример #7
0
 def add(
     cls,
     title,
     description,
     creator,
     number=None,
     team=None,
     project=None,
     assignee=None,
     closer=None,
     created_at=None,
     updated_at=None,
     closed_at=None,
 ):
     issue = Issue.add(
         title, description, creator, assignee=assignee, closer=closer, type=cls.target_type, target_id=project
     )
     if issue and project:
         number = PICounter.incr(project, number)
         store.execute(
             "insert into project_issues (project_id, issue_id, number) " "values (%s, %s, %s) ",
             (project, issue.id, number),
         )
         store.commit()
         mc.delete(MC_KEY_PROJECT_ISSUE_CREATOR_N % (project, creator, "open"))
         mc.delete(MC_KEY_PROJECT_ISSUE_CREATOR_N % (project, creator, "closed"))
         cls._clean_cache(project)
         return Issue.get_cached_issue(issue.id)
Пример #8
0
 def test_add_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     assert isinstance(i, Issue)
     assert i.title == 'test'
     assert i.description == 'test description'
     assert i.creator_id == 'test'
     assert i.assignee_id == 'assignee'
Пример #9
0
 def test_add_comment(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     c = IssueComment.add(i.id, 'content', 'test')
     assert isinstance(c, IssueComment)
     assert c.issue_id == i.id
     assert c.content == 'content'
     assert c.author_id == 'test'
Пример #10
0
 def test_add_comment(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     c = IssueComment.add(i.id, 'content', 'test')
     assert isinstance(c, IssueComment)
     assert c.issue_id == i.id
     assert c.content == 'content'
     assert c.author_id == 'test'
Пример #11
0
 def add(cls,
         title,
         description,
         creator,
         number=None,
         team=None,
         project=None,
         assignee=None,
         closer=None,
         created_at=None,
         updated_at=None,
         closed_at=None):
     issue = Issue.add(title,
                       description,
                       creator,
                       assignee=assignee,
                       closer=closer,
                       type=cls.target_type,
                       target_id=project)
     if issue and project:
         number = PICounter.incr(project, number)
         store.execute(
             'insert into project_issues (project_id, issue_id, number) '
             'values (%s, %s, %s) ', (project, issue.id, number))
         store.commit()
         mc.delete(MC_KEY_PROJECT_ISSUE_CREATOR_N %
                   (project, creator, 'open'))
         mc.delete(MC_KEY_PROJECT_ISSUE_CREATOR_N %
                   (project, creator, 'closed'))
         cls._clean_cache(project)
         return Issue.get_cached_issue(issue.id)
Пример #12
0
 def test_update_comment(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     c = IssueComment.add(i.id, 'content', 'test')
     c.update('content1')
     c = IssueComment.get(c.id)
     assert c.issue_id == i.id
     assert c.content == 'content1'
     assert c.author_id == 'test'
Пример #13
0
 def test_update_comment(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     c = IssueComment.add(i.id, 'content', 'test')
     c.update('content1')
     c = IssueComment.get(c.id)
     assert c.issue_id == i.id
     assert c.content == 'content1'
     assert c.author_id == 'test'
Пример #14
0
 def test_close_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     i.close("test")
     i = Issue.get(i.id)
     assert i.title == 'test'
     assert i.description == 'test description'
     assert i.creator_id == 'test'
     assert i.closer_id == "test"
     assert i.assignee_id == 'assignee'
Пример #15
0
 def test_update_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     i.update("test1", "test1 description")
     i = Issue.get(i.id)
     assert i.title == 'test1'
     assert i.description == 'test1 description'
     assert i.creator_id == 'test'
     assert i.assignee_id == 'assignee'
     assert i.closer_id is None
Пример #16
0
 def test_close_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     i.close("test")
     i = Issue.get(i.id)
     assert i.title == 'test'
     assert i.description == 'test description'
     assert i.creator_id == 'test'
     assert i.closer_id == "test"
     assert i.assignee_id == 'assignee'
Пример #17
0
 def test_update_issue(self):
     i = Issue.add('test', 'test description', 'test', 'assignee')
     i.update("test1", "test1 description")
     i = Issue.get(i.id)
     assert i.title == 'test1'
     assert i.description == 'test1 description'
     assert i.creator_id == 'test'
     assert i.assignee_id == 'assignee'
     assert i.closer_id is None
Пример #18
0
    def test_get_comment(self):
        i = Issue.add('test', 'test description', 'test', 'assignee')
        c = IssueComment.add(i.id, 'content', 'test')
        c = IssueComment.get(c.id)
        assert isinstance(c, IssueComment)
        assert c.issue_id == i.id
        assert c.content == 'content'
        assert c.author_id == 'test'

        c = IssueComment.add(i.id, 'content', 'test')
        cs = IssueComment.gets_by_issue_id(i.id)
        assert all([isinstance(t, IssueComment) for t in cs])
        assert len(cs) == 2
Пример #19
0
    def test_get_comment(self):
        i = Issue.add('test', 'test description', 'test', 'assignee')
        c = IssueComment.add(i.id, 'content', 'test')
        c = IssueComment.get(c.id)
        assert isinstance(c, IssueComment)
        assert c.issue_id == i.id
        assert c.content == 'content'
        assert c.author_id == 'test'

        c = IssueComment.add(i.id, 'content', 'test')
        cs = IssueComment.gets_by_issue_id(i.id)
        assert all([isinstance(t, IssueComment) for t in cs])
        assert len(cs) == 2
Пример #20
0
 def add(cls, title, description, creator, number=None,
         team=None, project=None, assignee=None, closer=None,
         created_at=None, updated_at=None, closed_at=None):
     issue = Issue.add(title, description, creator, assignee=assignee,
                       closer=closer, type=cls.target_type, target_id=team)
     if issue and team:
         number = TICounter.incr(team, number)
         team_issue_id = store.execute(
             'insert into team_issues (team_id, issue_id, number) '
             'values (%s, %s, %s)',
             (team, issue.id, number))
         store.commit()
         return cls(team_issue_id, team, issue.id, number, title, creator,
                    assignee, closer, issue.created_at, issue.updated_at)
Пример #21
0
    def test_issue_stat(self):
        issue_rs = get_all_issue()
        store.execute("delete from issues where id < 20")
        assert len(issue_rs) == 0
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 0
        assert len(issue_rs) - issue_open_count == 0

        i1 = Issue.add('test1', 'test des1', 'testuser1', 'assignee')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 1
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 1
        assert len(issue_rs) - issue_open_count == 0

        i2 = Issue.add('test2', 'test des1', 'testuser1', 'assignee')
        i3 = Issue.add('test3', 'test des1', 'testuser2', 'assignee')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 3
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 3
        assert len(issue_rs) - issue_open_count == 0

        i1.close('testuser1')
        issue_rs = get_all_issue()
        assert len(issue_rs) == 3
        issue_open_count = len(filter(lambda x: x[1] is None, issue_rs))
        assert issue_open_count == 2
        assert len(issue_rs) - issue_open_count == 1

        issue_comment_count = get_issue_comment_count()
        assert issue_comment_count == 0
        IssueComment.add(i2.id, 'content', 'test')
        IssueComment.add(i3.id, 'content', 'test1')
        issue_comment_count = get_issue_comment_count()
        assert issue_comment_count == 2
Пример #22
0
 def add(cls, title, description, creator, number=None,
         team=None, project=None, assignee=None, closer=None,
         created_at=None, updated_at=None, closed_at=None):
     issue = Issue.add(title, description, creator, assignee=assignee,
                       closer=closer, type='fair', target_id=team)
     if issue:
         number = issue.id
         '''
         team_issue_id = store.execute(
             'insert into team_issues (team_id, issue_id, number) '
             'values (%s, %s, %s)',
             (team, issue.id, number))
         store.commit()
         '''
         return cls(issue.id, team, issue.id, number, title, creator,
                    assignee, closer, issue.created_at, issue.updated_at)