forked from douban/code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_pullrequest.py
More file actions
49 lines (38 loc) · 1.68 KB
/
test_pullrequest.py
File metadata and controls
49 lines (38 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# -*- coding: utf-8 -*-
from tests.base import TestCase
from vilya.models.pull import PullRequest
from vilya.models.ticket import PRCounter, Ticket
from tests.utils import mkdtemp, setup_repos
class PullRequestTest(TestCase):
def setUp(self):
TestCase.setUp(self)
_, self.proj1, _, self.proj1_fork = setup_repos(mkdtemp(),
'testproject1')
_, self.proj2, _, self.proj2_fork = setup_repos(mkdtemp(),
'testproject2')
def test_incr_counter(self):
count = PRCounter.incr(self.proj1.id)
assert count == 1
count = PRCounter.incr(self.proj1.id)
assert count == 2
count = PRCounter.incr(self.proj2.id)
assert count == 1
def test_pullrequest(self):
pullreq1 = PullRequest.open(
self.proj1_fork, 'master', self.proj1, 'master')
ticket1 = Ticket.add(self.proj1.id, 'title', 'content', 'testuser')
pullreq1.insert(ticket1.ticket_number)
pullreq2 = PullRequest.open(
self.proj2_fork, 'master', self.proj2, 'master')
ticket2 = Ticket.add(self.proj2.id, 'title', 'content', 'testuser')
pullreq2.insert(ticket2.ticket_number)
opened_prs = self.proj1_fork.open_parent_pulls
assert len(opened_prs) == 1
opened_prs = self.proj2_fork.open_parent_pulls
assert len(opened_prs) == 1
ticket1.close('testuser')
opened_prs = self.proj1_fork.open_parent_pulls
assert len(opened_prs) == 0
ticket2.close('testuser')
opened_prs = self.proj2_fork.open_parent_pulls
assert len(opened_prs) == 0