testbot.push_message("!plugin config Webserver {'HOST': '0.0.0.0', 'PORT':3141, 'SSL': {'certificate': '', 'enabled': False, 'host': '0.0.0.0', 'key': '', 'port': 3142}}")
testbot.pop_message()
+ def mock_get(self, key):
+ return {}
+ monkeypatch.setattr(errbot.storage.StoreMixin, '__getitem__', mock_get, raising=False)
+
def mock_keys(self):
return ['OPEN_MRS']
monkeypatch.setattr(errbot.storage.StoreMixin, 'keys', mock_keys, raising=False)
@pytest.fixture
def margebot_no_reviews(self, margebot, monkeypatch):
-
- def mock_get(self, key):
- return {}
-
- monkeypatch.setattr(errbot.storage.StoreMixin, '__getitem__', mock_get, raising=False)
return margebot
@pytest.fixture
def mock_getmergerequest(self, project, iid):
return {}
monkeypatch.setattr(gitlab, 'getuser', mock_getmergerequest)
+ return gitlab
@pytest.fixture
def gitlab_one_review(self, gitlab, monkeypatch):
'web_url': 'http://gitlab.example.com/sample/mr/2001',
'work_in_progress': False}
monkeypatch.setattr(gitlab, 'getmergerequest', mock_getmergerequest)
+ return gitlab
# ============================================================================
'title': 'title',
'author_id': 'author_id',
'target_project_id': 'project_id',
+ 'id': 'id',
'iid': 'iid'},
'project': {
'homepage': 'url'}})
margebot.push_message("!webhook test /margebot/room1,room2 " + request)
- assert 'New Review: author_id username has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! author_id username has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
margebot.push_message('!reviews')
- assert 'New Review: author_id username has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! author_id username has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
def test_gitlab_hook_wip(self, margebot, gitlab):
request = json.dumps({'object_kind': 'merge_request',
'title': 'title',
'author_id': 'author_id',
'target_project_id': 'project_id',
+ 'id': 'id',
'iid': 'iid'},
'project': {
'homepage': 'url'}})
margebot.push_message("!webhook test /margebot/room1,room2 " + request)
- assert 'New Review: author_id username has opened a new WIP MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! author_id username has opened a new WIP MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
margebot.push_message('!reviews')
- assert 'New Review: author_id username has opened a new WIP MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! author_id username has opened a new WIP MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
def test_gitlab_hook_unexpected_user(self, margebot, gitlab):
request = json.dumps({'object_kind': 'merge_request',
'title': 'title',
'author_id': '(missing)',
'target_project_id': 'project_id',
+ 'id': 'id',
'iid': 'iid'},
'project': {
'homepage': 'url'}})
margebot.push_message("!webhook test /margebot/room1,room2 " + request)
- assert 'New Review: (missing) has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! (missing) has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
margebot.push_message('!reviews')
- assert 'New Review: (missing) has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
+ assert 'Hi there ! (missing) has opened a new MR: \"title\"\nurl/merge_requests/iid' in margebot.pop_message()
- def test_gitlab_hook_unexpected_object_kind(self, margebot_no_reviews, gitlab, caplog):
+ def test_gitlab_hook_unexpected_object_kind(self, margebot, gitlab, caplog):
request = json.dumps({'object_kind': 'not_merge_request',
'object_attributes': {
'state': 'opened',
'title': 'title',
'author_id': 'author_id',
'target_project_id': 'project_id',
+ 'id': 'id',
'iid': 'iid'},
'project': {
'homepage': 'url'}})
- margebot_no_reviews.push_message("!webhook test /margebot/room1,room2 " + request)
- margebot_no_reviews.pop_message()
- margebot_no_reviews.push_message('!reviews')
- assert 'Hi gbin: I found no open MRs for you.' in margebot_no_reviews.pop_message()
+ margebot.push_message("!webhook test /margebot/room1,room2 " + request)
+ margebot.pop_message()
+ margebot.push_message('!reviews')
+ assert 'Hi gbin: I found no open MRs for you.' in margebot.pop_message()
assert 'unexpecting object_kind: not_merge_request' in caplog.text # Has to be at end of method
- def test_nothing_to_review(self, margebot_no_reviews, gitlab_no_reviews):
- margebot_no_reviews.push_message('!reviews')
- assert 'Hi gbin: I found no open MRs for you.' in margebot_no_reviews.pop_message()
+ def test_nothing_to_review(self, margebot, gitlab_no_reviews):
+ margebot.push_message('!reviews')
+ assert 'Hi gbin: I found no open MRs for you.' in margebot.pop_message()
def test_get_one_open_mr(self, margebot_one_review, gitlab_one_review):
margebot_one_review.push_message('!reviews')