test_gitlab.py
3.41 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
"""
Test User class.
Objective: Test parameters, and behavior.
"""
from datetime import datetime
from django.test import TestCase, Client
from colab.accounts.models import User
from colab_gitlab.models import GitlabProject, \
GitlabIssue, GitlabComment, GitlabMergeRequest
class GitlabTest(TestCase):
def setUp(self):
self.user = self.create_user()
self.client = Client()
self.create_gitlab_data()
super(GitlabTest, self).setUp()
def tearDown(self):
pass
def test_data_integrity(self):
self.assertEqual(GitlabProject.objects.all().count(), 1)
self.assertEqual(GitlabMergeRequest.objects.all().count(), 1)
self.assertEqual(GitlabIssue.objects.all().count(), 1)
self.assertEqual(GitlabComment.objects.all().count(), 2)
def test_project_url(self):
self.assertEqual(GitlabProject.objects.get(id=1).url,
'/gitlab/softwarepublico/colab')
def test_merge_request_url(self):
self.assertEqual(GitlabMergeRequest.objects.get(id=1).url,
'/gitlab/softwarepublico/colab/merge_requests/1')
def test_issue_url(self):
self.assertEqual(GitlabIssue.objects.get(id=1).url,
'/gitlab/softwarepublico/colab/issues/1')
def test_comment_on_mr_url(self):
url = '/gitlab/softwarepublico/colab/merge_requests/1#notes_1'
self.assertEqual(GitlabComment.objects.get(id=1).url, url)
def test_comment_on_issue_url(self):
self.assertEqual(GitlabComment.objects.get(id=2).url,
'/gitlab/softwarepublico/colab/issues/1#notes_2')
def create_gitlab_data(self):
g = GitlabProject()
g.id = 1
g.name = "colab"
g.name_with_namespace = "Software Public / Colab"
g.path_with_namespace = "softwarepublico/colab"
g.created_at = datetime.now()
g.last_activity_at = datetime.now()
g.save()
mr = GitlabMergeRequest()
mr.id = 1
mr.project = g
mr.title = "Include plugin support"
mr.description = "Merge request for plugin support"
mr.state = "Closed"
mr.created_at = datetime.now()
mr.update_user(self.user.username)
mr.save()
i = GitlabIssue()
i.id = 1
i.project = g
i.title = "Issue for colab"
i.description = "Issue reported to colab"
i.created_at = datetime.now()
i.state = "Open"
i.update_user(self.user.username)
i.save()
c1 = GitlabComment()
c1.id = 1
c1.parent_id = mr.id
c1.project = g
c1.body = "Comment to merge request"
c1.created_at = datetime.now()
c1.issue_comment = False
c1.update_user(self.user.username)
c1.save()
c2 = GitlabComment()
c2.id = 2
c2.parent_id = i.id
c2.project = g
c2.body = "Comment to issue"
c2.created_at = datetime.now()
c2.issue_comment = True
c2.update_user(self.user.username)
c2.save()
def create_user(self):
user = User()
user.username = "USERtestCoLaB"
user.set_password("123colab4")
user.email = "usertest@colab.com.br"
user.id = 1
user.twitter = "usertestcolab"
user.facebook = "usertestcolab"
user.first_name = "USERtestCoLaB"
user.last_name = "COLAB"
user.save()
return user