| |
@@ -11,31 +11,49 @@
|
| |
s = list(iterable)
|
| |
return itertools.chain.from_iterable(itertools.combinations(s, r) for r in range(len(s) + 1))
|
| |
|
| |
+ stub_admin_user1 = "fakey"
|
| |
+ stub_admin_user2 = "fakey2"
|
| |
+ stub_group_data = {
|
| |
+ "creator": {
|
| |
+ "fullname": "Fakey McFakerson",
|
| |
+ "name": stub_admin_user1,
|
| |
+ "url_path": "user/{}".format(stub_admin_user1)
|
| |
+ },
|
| |
+ "date_created": "1470302104",
|
| |
+ "description": "",
|
| |
+ "display_name": "fake-group",
|
| |
+ "group_type": "user",
|
| |
+ "members": [
|
| |
+ stub_admin_user1,
|
| |
+ stub_admin_user2,
|
| |
+ "fakey3",
|
| |
+ ],
|
| |
+ "name": "fake-group"
|
| |
+ }
|
| |
|
| |
@pytest.fixture
|
| |
- def setup(monkeypatch):
|
| |
- monkeypatch.setattr(pagure_interface, 'post_comment', mock.MagicMock())
|
| |
- monkeypatch.setattr(pagure_interface, 'update_issue', mock.MagicMock())
|
| |
+ def setup_stubs(monkeypatch):
|
| |
+ stub_pagure_group_call = mock.MagicMock(return_value=stub_group_data)
|
| |
+ monkeypatch.setattr(pagure_interface, 'get_group', stub_pagure_group_call)
|
| |
|
| |
|
| |
class TestPagureBotBasics(object):
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("vote", ['+1', '-1', '0'])
|
| |
def test_basic_vote(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s" % (keyword, vote),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -43,27 +61,26 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
def test_basic_vote_repeated(self, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "%s -1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '-1',
|
| |
'comment_id': 2
|
| |
}
|
| |
@@ -74,7 +91,6 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_typo(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
keyword_typo = list(keyword)
|
| |
keyword_typo[1] = 'x'
|
| |
keyword_typo = "".join(keyword_typo)
|
| |
@@ -83,7 +99,7 @@
|
| |
'id': 1,
|
| |
'comment': "%s %s1" % (keyword_typo, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -96,13 +112,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '–']) # these chars are not + or -
|
| |
def test_unicode_plus(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s1" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -118,7 +133,7 @@
|
| |
'id': 1,
|
| |
'comment': "%s %s11" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': 'lbrabec'
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -129,13 +144,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_plusminus_two(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s2" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -146,13 +160,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_plusminus_typo(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s!" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -163,13 +176,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_plusminus_float(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s0.5" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -180,13 +192,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_plusminus_emoji(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s👎" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -197,13 +208,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_plusminus_backtick(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "`%s %s1`" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -216,20 +226,19 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("sign", ['+', '-'])
|
| |
def test_multiline_singlevote(self, sign, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "foobar\n%s %s1\nbarbaz" % (keyword, sign),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s1' % sign,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -239,7 +248,6 @@
|
| |
@pytest.mark.parametrize("vote", [('+1', '-1'), ('-1', '+1'), ('+1', '0'),
|
| |
('-1', '0'), ('0', '-1'), ('0', '+1')])
|
| |
def test_multiline_multivote_same(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
vote_first = vote[0]
|
| |
vote_second = vote[1]
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
@@ -248,14 +256,14 @@
|
| |
'comment': "foobar\n%s %s\nbarbaz\n%s %s" % (keyword, vote_first,
|
| |
keyword, vote_second),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote_second,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -266,7 +274,6 @@
|
| |
('-1', '0'), ('0', '-1'), ('0', '+1'),
|
| |
('0', '0'), ('-1', '-1'), ('+1', '+1')])
|
| |
def test_multiline_multivote_different(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
keyword_first = keyword[0]
|
| |
keyword_second = keyword[1]
|
| |
vote_first = vote[0]
|
| |
@@ -277,20 +284,20 @@
|
| |
'comment': "foobar\n%s %s\nbarbaz\n%s %s" % (keyword_first, vote_first,
|
| |
keyword_second, vote_second),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword_first].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote_first,
|
| |
'comment_id': 1
|
| |
}
|
| |
}
|
| |
assert trackers[keyword_second].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote_second,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -300,28 +307,27 @@
|
| |
class TestPagureBotAgreedRevote(object):
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_needs_summary(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_needs_summary(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED %s%s foo bar" % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '+1',
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -330,28 +336,27 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_no_justification_needs_summary(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_no_justification_needs_summary(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED %s%s" % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '+1',
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -360,21 +365,20 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_by_impostor_need_summary(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_by_impostor_need_summary(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED %s%s foo bar" % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
@@ -388,7 +392,7 @@
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '+1',
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -396,15 +400,14 @@
|
| |
assert trackers[keyword].need_summary_post
|
| |
|
| |
@pytest.mark.parametrize("keywords", powerset(pagure_bot.TRACKER_KEYWORDS))
|
| |
- def test_agreed_multiple_accepts_need_summary(self, keywords):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_multiple_accepts_need_summary(self, keywords, setup_stubs):
|
| |
outcomes = " ".join(["accepted%s" % keyword for keyword in keywords])
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "AGREED %s foo bar" % outcomes,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
]]
|
| |
@@ -414,15 +417,14 @@
|
| |
assert trackers[keyword].need_summary_post
|
| |
|
| |
@pytest.mark.parametrize("keywords", powerset(pagure_bot.TRACKER_KEYWORDS))
|
| |
- def test_agreed_multiple_accepts_no_justification_need_summary(self, keywords):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_multiple_accepts_no_justification_need_summary(self, keywords, setup_stubs):
|
| |
outcomes = " ".join(["accepted%s" % keyword for keyword in keywords])
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "AGREED %s" % outcomes,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
]]
|
| |
@@ -432,15 +434,14 @@
|
| |
assert trackers[keyword].need_summary_post
|
| |
|
| |
@pytest.mark.parametrize("keywords", powerset(pagure_bot.TRACKER_KEYWORDS))
|
| |
- def test_agreed_multiple_accepts_has_summary(self, keywords):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_multiple_accepts_has_summary(self, keywords, setup_stubs):
|
| |
outcomes = " ".join(["accepted%s" % keyword for keyword in keywords])
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "AGREED %s foo bar" % outcomes,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
@@ -457,21 +458,20 @@
|
| |
assert not trackers[keyword].need_summary_post
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
- def test_revote_single(self, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_revote_single(self, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED Accepted%s foo bar" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
@@ -485,7 +485,7 @@
|
| |
'id': 3,
|
| |
'comment': "REVOTE %s" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -496,46 +496,44 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword_a, keyword_b",
|
| |
itertools.permutations(pagure_bot.TRACKER_KEYWORDS, 2))
|
| |
- def test_agreed_stops_counting_counts_other(self, keyword_a, keyword_b):
|
| |
- user1 = 'lbrabec'
|
| |
- user2 = 'jskladan'
|
| |
+ def test_agreed_stops_counting_counts_other(self, keyword_a, keyword_b, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1\n%s +1" % (keyword_a, keyword_b),
|
| |
'user': {
|
| |
- 'name': user1
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED Accepted%s foo bar" % keyword_a,
|
| |
'user': {
|
| |
- 'name': user1
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 3,
|
| |
'comment': "%s +1\n%s +1" % (keyword_a, keyword_b),
|
| |
'user': {
|
| |
- 'name': user2
|
| |
+ 'name': stub_admin_user2
|
| |
}
|
| |
},
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword_a].votes == {
|
| |
- user1: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '+1',
|
| |
'comment_id': 1
|
| |
}
|
| |
}
|
| |
assert trackers[keyword_b].votes == {
|
| |
- user1: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '+1',
|
| |
'comment_id': 1
|
| |
},
|
| |
- user2: {
|
| |
+ stub_admin_user2: {
|
| |
'vote': '+1',
|
| |
'comment_id': 3
|
| |
}
|
| |
@@ -546,20 +544,19 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("vote", ['+1', '-1', '0'])
|
| |
def test_trailing_whitespace(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s " % (keyword, vote),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -568,20 +565,19 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("vote", ['+1', '-1', '0'])
|
| |
def test_whitespaces_inside_vote(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s %s" % (keyword, vote),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
assert trackers[keyword].votes == {
|
| |
- user: {
|
| |
+ stub_admin_user1: {
|
| |
'vote': '%s' % vote,
|
| |
'comment_id': 1
|
| |
}
|
| |
@@ -590,13 +586,12 @@
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("vote", ['+1', '-1', '0'])
|
| |
def test_newline_inside_vote_ignored(self, vote, keyword):
|
| |
- user = 'lbrabec'
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s\n%s" % (keyword, vote),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -606,21 +601,20 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_trailing_wspace_needs_summary(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_trailing_wspace_needs_summary(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED %s%s foo bar " % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -630,21 +624,20 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_multi_wspace_inside_needs_summary(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_multi_wspace_inside_needs_summary(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED %s%s foo bar " % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -654,21 +647,20 @@
|
| |
|
| |
@pytest.mark.parametrize("keyword", pagure_bot.TRACKER_KEYWORDS)
|
| |
@pytest.mark.parametrize("outcome", ['Accepted', 'Rejected'])
|
| |
- def test_agreed_single_acceptedrejected_newline_inside(self, outcome, keyword):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_single_acceptedrejected_newline_inside(self, outcome, keyword, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "%s +1" % keyword,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
{
|
| |
'id': 2,
|
| |
'comment': "AGREED\n%s%s foo bar" % (outcome, keyword),
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]]
|
| |
@@ -677,15 +669,14 @@
|
| |
assert not trackers[keyword].need_summary_post
|
| |
|
| |
@pytest.mark.parametrize("keywords", powerset(pagure_bot.TRACKER_KEYWORDS))
|
| |
- def test_agreed_multiple_accepts_multi_wspace_inside_need_summary(self, keywords):
|
| |
- user = 'lbrabec'
|
| |
+ def test_agreed_multiple_accepts_multi_wspace_inside_need_summary(self, keywords, setup_stubs):
|
| |
outcomes = " ".join(["accepted%s" % keyword for keyword in keywords])
|
| |
comments = [pagure_bot.Comment(c) for c in [
|
| |
{
|
| |
'id': 1,
|
| |
'comment': "AGREED %s foo bar" % outcomes,
|
| |
'user': {
|
| |
- 'name': user
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
},
|
| |
]]
|
| |
@@ -776,7 +767,7 @@
|
| |
'id': app.config['PAGURE_BOT_LOOP_THRESHOLD'] + 1,
|
| |
'comment': "Pls stop!",
|
| |
'user': {
|
| |
- 'name': 'lbrabec'
|
| |
+ 'name': stub_admin_user1
|
| |
}
|
| |
}
|
| |
]
|
| |
@@ -896,7 +887,7 @@
|
| |
]
|
| |
|
| |
class TestPagureBotRealWorld(object):
|
| |
- def test_realworld(self):
|
| |
+ def test_realworld(self, setup_stubs):
|
| |
comments = [pagure_bot.Comment(c) for c in realworld_comments]
|
| |
trackers = pagure_bot.parse_comments_to_trackers(comments)
|
| |
non_voting_users, last_comment_id = pagure_bot.voting_info(comments, trackers)
|
| |
This is a relatively straight-forward change to do the following:
With these changes, the tests are no longer reaching out to any pagure instances. They should run much faster and have no issues with external resources.