tests: New RT client classes start with seeded ticket data.
This reduces the amount of setup many tests need to do before they modify the ticket data.
This commit is contained in:
parent
1155212376
commit
f227593655
1 changed files with 9 additions and 11 deletions
|
@ -43,7 +43,7 @@ def rt():
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def new_client():
|
def new_client():
|
||||||
class RTClient(testutil.RTClient):
|
class RTClient(testutil.RTClient):
|
||||||
TICKET_DATA = {'1': [], '2': []}
|
TICKET_DATA = testutil.RTClient.TICKET_DATA.copy()
|
||||||
return RTClient()
|
return RTClient()
|
||||||
|
|
||||||
@pytest.mark.parametrize('ticket_id,attachment_id,expected', EXPECTED_URLS)
|
@pytest.mark.parametrize('ticket_id,attachment_id,expected', EXPECTED_URLS)
|
||||||
|
@ -53,20 +53,19 @@ def test_url(rt, ticket_id, attachment_id, expected):
|
||||||
assert rt.url(ticket_id, attachment_id) == expected
|
assert rt.url(ticket_id, attachment_id) == expected
|
||||||
|
|
||||||
@pytest.mark.parametrize('attachment_id', [
|
@pytest.mark.parametrize('attachment_id', [
|
||||||
3,
|
13,
|
||||||
None,
|
None,
|
||||||
])
|
])
|
||||||
def test_url_caches(new_client, attachment_id):
|
def test_url_caches(new_client, attachment_id):
|
||||||
new_client.TICKET_DATA['1'].append(('3', '(Unnamed)', 'text/plain', '3.0k'))
|
|
||||||
if attachment_id is None:
|
if attachment_id is None:
|
||||||
fragment = ''
|
fragment = ''
|
||||||
else:
|
else:
|
||||||
fragment = '#txn-3'
|
fragment = '#txn-11'
|
||||||
expected = '{}Ticket/Display.html?id=1{}'.format(DEFAULT_RT_URL, fragment)
|
expected = '{}Ticket/Display.html?id=2{}'.format(DEFAULT_RT_URL, fragment)
|
||||||
rt = rtutil.RT(new_client)
|
rt = rtutil.RT(new_client)
|
||||||
assert rt.url(1, attachment_id) == expected
|
assert rt.url(2, attachment_id) == expected
|
||||||
new_client.TICKET_DATA.clear()
|
new_client.TICKET_DATA.clear()
|
||||||
assert rt.url(1, attachment_id) == expected
|
assert rt.url(2, attachment_id) == expected
|
||||||
|
|
||||||
@pytest.mark.parametrize('mimetype,extension', [
|
@pytest.mark.parametrize('mimetype,extension', [
|
||||||
('application/pdf', 'pdf'),
|
('application/pdf', 'pdf'),
|
||||||
|
@ -75,7 +74,7 @@ def test_url_caches(new_client, attachment_id):
|
||||||
('x-test/x-unknown', 'bin'),
|
('x-test/x-unknown', 'bin'),
|
||||||
])
|
])
|
||||||
def test_url_default_filename(new_client, mimetype, extension):
|
def test_url_default_filename(new_client, mimetype, extension):
|
||||||
new_client.TICKET_DATA['1'].append(('9', '(Unnamed)', mimetype, '50.5k'))
|
new_client.TICKET_DATA['1'] = [('9', '(Unnamed)', mimetype, '50.5k')]
|
||||||
rt = rtutil.RT(new_client)
|
rt = rtutil.RT(new_client)
|
||||||
expected = '{}Ticket/Attachment/9/9/RT1%20attachment%209.{}'.format(DEFAULT_RT_URL, extension)
|
expected = '{}Ticket/Attachment/9/9/RT1%20attachment%209.{}'.format(DEFAULT_RT_URL, extension)
|
||||||
assert rt.url(1, 9) == expected
|
assert rt.url(1, 9) == expected
|
||||||
|
@ -86,16 +85,15 @@ def test_exists(rt, ticket_id, attachment_id, expected):
|
||||||
assert rt.exists(ticket_id, attachment_id) is expected
|
assert rt.exists(ticket_id, attachment_id) is expected
|
||||||
|
|
||||||
def test_exists_caches(new_client):
|
def test_exists_caches(new_client):
|
||||||
new_client.TICKET_DATA['1'].append(('3', '(Unnamed)', 'text/plain', '3.0k'))
|
|
||||||
rt = rtutil.RT(new_client)
|
rt = rtutil.RT(new_client)
|
||||||
assert rt.exists(1, 3)
|
assert rt.exists(1, 3)
|
||||||
assert rt.exists(2)
|
assert rt.exists(2)
|
||||||
assert not rt.exists(1, 9)
|
assert not rt.exists(1, 99)
|
||||||
assert not rt.exists(9)
|
assert not rt.exists(9)
|
||||||
new_client.TICKET_DATA.clear()
|
new_client.TICKET_DATA.clear()
|
||||||
assert rt.exists(1, 3)
|
assert rt.exists(1, 3)
|
||||||
assert rt.exists(2)
|
assert rt.exists(2)
|
||||||
assert not rt.exists(1, 9)
|
assert not rt.exists(1, 99)
|
||||||
assert not rt.exists(9)
|
assert not rt.exists(9)
|
||||||
|
|
||||||
@pytest.mark.parametrize('link,expected', [
|
@pytest.mark.parametrize('link,expected', [
|
||||||
|
|
Loading…
Reference in a new issue