Merge Request #87
← To merge requests
From
fix_gitlab_links
into
master
Commits (3)
Showing
3 changed files
Show diff stats
colab/plugins/gitlab/migrations/0005_auto_20150806_1230.py
0 → 100644
... | ... | @@ -0,0 +1,24 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +from __future__ import unicode_literals | |
3 | + | |
4 | +from django.db import models, migrations | |
5 | + | |
6 | + | |
7 | +class Migration(migrations.Migration): | |
8 | + | |
9 | + dependencies = [ | |
10 | + ('gitlab', '0004_auto_20150630_1149'), | |
11 | + ] | |
12 | + | |
13 | + operations = [ | |
14 | + migrations.RemoveField( | |
15 | + model_name='gitlabcomment', | |
16 | + name='iid', | |
17 | + ), | |
18 | + migrations.AddField( | |
19 | + model_name='gitlabissue', | |
20 | + name='iid', | |
21 | + field=models.IntegerField(null=True), | |
22 | + preserve_default=True, | |
23 | + ), | |
24 | + ] | ... | ... |
colab/plugins/gitlab/models.py
... | ... | @@ -64,6 +64,7 @@ class GitlabMergeRequest(Collaboration): |
64 | 64 | class GitlabIssue(Collaboration): |
65 | 65 | |
66 | 66 | id = models.IntegerField(primary_key=True) |
67 | + iid = models.IntegerField(null=True) | |
67 | 68 | project = models.ForeignKey(GitlabProject, null=True, |
68 | 69 | on_delete=models.SET_NULL) |
69 | 70 | title = models.TextField() |
... | ... | @@ -82,7 +83,7 @@ class GitlabIssue(Collaboration): |
82 | 83 | @property |
83 | 84 | def url(self): |
84 | 85 | return u'/gitlab/{}/issues/{}'.format( |
85 | - self.project.path_with_namespace, self.id) | |
86 | + self.project.path_with_namespace, self.iid) | |
86 | 87 | |
87 | 88 | class Meta: |
88 | 89 | verbose_name = _('Gitlab Issue') |
... | ... | @@ -92,7 +93,6 @@ class GitlabIssue(Collaboration): |
92 | 93 | class GitlabComment(Collaboration): |
93 | 94 | |
94 | 95 | id = models.IntegerField(primary_key=True) |
95 | - iid = models.IntegerField(null=True) | |
96 | 96 | body = models.TextField() |
97 | 97 | created_at = models.DateTimeField(blank=True, null=True) |
98 | 98 | issue_comment = models.BooleanField(default=True) |
... | ... | @@ -139,7 +139,7 @@ class GitlabComment(Collaboration): |
139 | 139 | url_str = u'/gitlab/{}/merge_requests/{}#notes_{}' |
140 | 140 | |
141 | 141 | return url_str.format(self.project.path_with_namespace, |
142 | - self.parent_id, self.iid) | |
142 | + self.parent_id, self.id) | |
143 | 143 | |
144 | 144 | class Meta: |
145 | 145 | verbose_name = _('Gitlab Comments') | ... | ... |
colab/plugins/gitlab/tests/test_gitlab.py
... | ... | @@ -24,9 +24,9 @@ class GitlabTest(TestCase): |
24 | 24 | pass |
25 | 25 | |
26 | 26 | def test_data_integrity(self): |
27 | - self.assertEqual(GitlabProject.objects.all().count(), 1) | |
28 | - self.assertEqual(GitlabMergeRequest.objects.all().count(), 1) | |
29 | - self.assertEqual(GitlabIssue.objects.all().count(), 1) | |
27 | + self.assertEqual(GitlabProject.objects.all().count(), 2) | |
28 | + self.assertEqual(GitlabMergeRequest.objects.all().count(), 2) | |
29 | + self.assertEqual(GitlabIssue.objects.all().count(), 2) | |
30 | 30 | self.assertEqual(GitlabComment.objects.all().count(), 2) |
31 | 31 | |
32 | 32 | def test_project_url(self): |
... | ... | @@ -34,55 +34,92 @@ class GitlabTest(TestCase): |
34 | 34 | '/gitlab/softwarepublico/colab') |
35 | 35 | |
36 | 36 | def test_merge_request_url(self): |
37 | - self.assertEqual(GitlabMergeRequest.objects.get(iid=1).url, | |
37 | + self.assertEqual(GitlabMergeRequest.objects.get(id=1).url, | |
38 | 38 | '/gitlab/softwarepublico/colab/merge_requests/1') |
39 | + self.assertEqual(GitlabMergeRequest.objects.get(id=2).url, | |
40 | + '/gitlab/softwarepublico/colabinc/merge_requests/1') | |
39 | 41 | |
40 | 42 | def test_issue_url(self): |
41 | 43 | self.assertEqual(GitlabIssue.objects.get(id=1).url, |
42 | 44 | '/gitlab/softwarepublico/colab/issues/1') |
45 | + self.assertEqual(GitlabIssue.objects.get(id=2).url, | |
46 | + '/gitlab/softwarepublico/colabinc/issues/1') | |
43 | 47 | |
44 | 48 | def test_comment_on_mr_url(self): |
45 | 49 | url = '/gitlab/softwarepublico/colab/merge_requests/1#notes_1' |
46 | - self.assertEqual(GitlabComment.objects.get(iid=1).url, url) | |
50 | + self.assertEqual(GitlabComment.objects.get(id=1).url, url) | |
47 | 51 | |
48 | 52 | def test_comment_on_issue_url(self): |
49 | 53 | self.assertEqual(GitlabComment.objects.get(id=2).url, |
50 | 54 | '/gitlab/softwarepublico/colab/issues/1#notes_2') |
51 | 55 | |
52 | 56 | def create_gitlab_data(self): |
53 | - g = GitlabProject() | |
54 | - g.id = 1 | |
55 | - g.name = "colab" | |
56 | - g.name_with_namespace = "Software Public / Colab" | |
57 | - g.path_with_namespace = "softwarepublico/colab" | |
58 | - g.created_at = datetime.now() | |
59 | - g.last_activity_at = datetime.now() | |
60 | - g.save() | |
61 | - | |
62 | - mr = GitlabMergeRequest() | |
63 | - mr.iid = 1 | |
64 | - mr.project = g | |
65 | - mr.title = "Include plugin support" | |
66 | - mr.description = "Merge request for plugin support" | |
67 | - mr.state = "Closed" | |
68 | - mr.created_at = datetime.now() | |
69 | - mr.update_user(self.user.username) | |
70 | - mr.save() | |
71 | - | |
72 | - i = GitlabIssue() | |
73 | - i.id = 1 | |
74 | - i.project = g | |
75 | - i.title = "Issue for colab" | |
76 | - i.description = "Issue reported to colab" | |
77 | - i.created_at = datetime.now() | |
78 | - i.state = "Open" | |
79 | - i.update_user(self.user.username) | |
80 | - i.save() | |
57 | + g1 = GitlabProject() | |
58 | + g1.id = 1 | |
59 | + g1.name = "colab" | |
60 | + g1.name_with_namespace = "Software Public / Colab" | |
61 | + g1.path_with_namespace = "softwarepublico/colab" | |
62 | + g1.created_at = datetime.now() | |
63 | + g1.last_activity_at = datetime.now() | |
64 | + g1.save() | |
65 | + | |
66 | + g2 = GitlabProject() | |
67 | + g2.id = 2 | |
68 | + g2.name = "colabinc" | |
69 | + g2.name_with_namespace = "Software Public / ColabInc" | |
70 | + g2.path_with_namespace = "softwarepublico/colabinc" | |
71 | + g2.created_at = datetime.now() | |
72 | + g2.last_activity_at = datetime.now() | |
73 | + g2.save() | |
74 | + | |
75 | + mr1 = GitlabMergeRequest() | |
76 | + mr1.id = 1 | |
77 | + mr1.iid = 1 | |
78 | + mr1.project = g1 | |
79 | + mr1.title = "Include plugin support" | |
80 | + mr1.description = "Merge request for plugin support" | |
81 | + mr1.state = "Closed" | |
82 | + mr1.created_at = datetime.now() | |
83 | + mr1.update_user(self.user.username) | |
84 | + mr1.save() | |
85 | + | |
86 | + mr2 = GitlabMergeRequest() | |
87 | + mr2.id = 2 | |
88 | + mr2.iid = 1 | |
89 | + mr2.project = g2 | |
90 | + mr2.title = "Include test support" | |
91 | + mr2.description = "Merge request for test support" | |
92 | + mr2.state = "Closed" | |
93 | + mr2.created_at = datetime.now() | |
94 | + mr2.update_user(self.user.username) | |
95 | + mr2.save() | |
96 | + | |
97 | + i1 = GitlabIssue() | |
98 | + i1.id = 1 | |
99 | + i1.iid = 1 | |
100 | + i1.project = g1 | |
101 | + i1.title = "Issue for colab" | |
102 | + i1.description = "Issue reported to colab" | |
103 | + i1.created_at = datetime.now() | |
104 | + i1.state = "Open" | |
105 | + i1.update_user(self.user.username) | |
106 | + i1.save() | |
107 | + | |
108 | + i2 = GitlabIssue() | |
109 | + i2.id = 2 | |
110 | + i2.iid = 1 | |
111 | + i2.project = g2 | |
112 | + i2.title = "Issue for colab" | |
113 | + i2.description = "Issue reported to colab" | |
114 | + i2.created_at = datetime.now() | |
115 | + i2.state = "Open" | |
116 | + i2.update_user(self.user.username) | |
117 | + i2.save() | |
81 | 118 | |
82 | 119 | c1 = GitlabComment() |
83 | - c1.iid = 1 | |
84 | - c1.parent_id = mr.iid | |
85 | - c1.project = g | |
120 | + c1.id = 1 | |
121 | + c1.parent_id = mr1.iid | |
122 | + c1.project = g1 | |
86 | 123 | c1.body = "Comment to merge request" |
87 | 124 | c1.created_at = datetime.now() |
88 | 125 | c1.issue_comment = False |
... | ... | @@ -90,9 +127,9 @@ class GitlabTest(TestCase): |
90 | 127 | c1.save() |
91 | 128 | |
92 | 129 | c2 = GitlabComment() |
93 | - c2.iid = 2 | |
94 | - c2.parent_id = i.id | |
95 | - c2.project = g | |
130 | + c2.id = 2 | |
131 | + c2.parent_id = i1.id | |
132 | + c2.project = g1 | |
96 | 133 | c2.body = "Comment to issue" |
97 | 134 | c2.created_at = datetime.now() |
98 | 135 | c2.issue_comment = True | ... | ... |
-
Reassigned to @lucasmoura
-
r+
-
Added 68 new commits:
- 3e43c7db - Refactored colab-admin command
- 13321ea3 - Reducing celery concurrency on local env
- 4a4ddcb1 - Added init script for celery beat
- 7ba7f4e6 - Importing data asynchronously
- a12566bc - Data import moved to celery
- 57470863 - Fixed pep8
- e0dc6a6c - Removed PROXIED_APPS (replaced by COLAB_APPS)
- 31e49bf3 - Renamed ColabProxiedAppConfig to ColabPluginAppConfig
- d19c324f - Set task name manually
- 1efa7b87 - Splitted gitlab imports to allow async workers
- 540555ad - Refactored plugins to remove reference to proxy
- 9c502ce5 - Fixed to only call tasks if fetch_data is not abstract
- 1a166d1d - Removed unused import
- 64781e7e - Allow full plugins on /etc/colab/plugins.d
- 34773388 - Moved from rabbitmq to redis
- 8a883b80 - Implemented locking to allow only one importing task at time
- c548b5aa - Fix redis installation on centos
- 0b348292 - Change settings.yaml to settings.py
- 4cb38792 - Change periodic task to 60 seconds
- 8440c81e - Merge pull request #58 from colab/refactor-data-import
- b642d938 - Added better strategy for bootstrap hide elements
- 709bf66a - Merge branch 'fix_merge_button' into 'master'
- 152ebd04 - Add colab documentation for installation
- 5037930f - Update user documentation
- fe35cecc - Merge branch 'documentation' into 'master'
- 698f2840 - Add celery to colab
- 9773eddc - Add celery service
- 5975ae7b - Create structure for colab signals
- f1ff2fc7 - colab.signals: raise exception in send method
- 508468fc - colab.signals: Making signal methods global
- 4423a4f6 - Overwrite reduce parameter of Signal
- 3c820045 - Create example of plugin using signals structure
- d1286481 - Creating documentation for signals
- c811c353 - Create abstract signal class for plugins
- 7b743f36 - Update plugins dev documentation
- 5af82b0a - Fixing signals test
- 9f9d3466 - Solr not needed
- 2f08f0d5 - Fixed PEP8
- fe71a2b1 - Using custom exception
- 502ba6f4 - Moved abstractsignal methods to abstractmethod
- d6f2d2fb - Extending object
- 29117f5a - django-celery not needed
- 15e7387a - Fixed flake8 warnings/errors
- 011124d4 - Fixed celery imports
- 5971df7b - Add comment to reducer function on colab.signals
- fac44a85 - Fix colab.signals tests
- c30d7a00 - Added logging for settings initialization
- 96c9b143 - Fixed signals implementation
- b883fd46 - Removed "leftovers"
- bf316bce - Refactored signals connections
- 8570d70e - Create test for signals on colab.plugins.utils
- e90428a9 - Update doc of plugins signals
- 7fe0d78a - Remove unused import in test signals
- 6c215efe - Remove signals.py from plugin dev documentation
- 169689f7 - Fix signals in plugins.utils and plugins.gitlab
- 60aef4af - Merge pull request #56 from colab/colab-signals
- fd747671 - Merge branch 'master' of github.com:colab/colab
- 721677c8 - Added warning when trying to import plugin from wrong path
- 37c091d6 - Fixed way to build verification url
- 566ca024 - Made sending verification email return status
- 85cc285d - Merge branch 'fix_verification_url' into 'master'
- d877c831 - Fix app_label in COLAB_APPS
- 2c6621f8 - Merge branch 'fix_plugins_app_label' into 'master'
- 86609bf9 - Fixing app_name in colab/utils/conf.py
- bdd65848 - Merge branch 'fixing_app_name' into 'master'
- 49b30092 - Fix issue iid
- b8a689de - Add gitlab url test for iid
- 8eaa72e7 - Fix tests
-
mentioned in commit 5a960e9331b9c592bce58f97ee08c91628dfd381