X-Git-Url: https://pwan.org/git/?p=margebot.git;a=blobdiff_plain;f=tests%2Ftest_marge.py;fp=tests%2Ftest_marge.py;h=8aed0baf6726fa17b23b53531329fd2f48118704;hp=bb53f9d459728a4cd33b5dadbf0a8867ddb2b6c0;hb=010dc0cc40c579e431f6d327838c4c88631ef2a2;hpb=ffafb864573eea5985db32e7d21824cd65138349 diff --git a/tests/test_marge.py b/tests/test_marge.py index bb53f9d..8aed0ba 100644 --- a/tests/test_marge.py +++ b/tests/test_marge.py @@ -38,6 +38,10 @@ class TestMarge(object): 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) @@ -46,11 +50,6 @@ class TestMarge(object): @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 @@ -151,6 +150,7 @@ class TestMarge(object): def mock_getmergerequest(self, project, iid): return {} monkeypatch.setattr(gitlab, 'getuser', mock_getmergerequest) + return gitlab @pytest.fixture def gitlab_one_review(self, gitlab, monkeypatch): @@ -163,6 +163,7 @@ class TestMarge(object): 'web_url': 'http://gitlab.example.com/sample/mr/2001', 'work_in_progress': False} monkeypatch.setattr(gitlab, 'getmergerequest', mock_getmergerequest) + return gitlab # ============================================================================ @@ -211,13 +212,14 @@ class TestMarge(object): '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', @@ -227,13 +229,14 @@ class TestMarge(object): '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', @@ -243,16 +246,17 @@ class TestMarge(object): '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', @@ -260,19 +264,20 @@ class TestMarge(object): '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')