5
5
import unittest .mock
6
6
import urllib
7
7
8
+ import pytest
9
+
8
10
import reportsizedeltas
9
11
10
12
@@ -16,7 +18,7 @@ class TestReportsizedeltas(unittest.TestCase):
16
18
17
19
# @unittest.skip("")
18
20
def test_set_verbosity (self ):
19
- with self . assertRaises (TypeError ):
21
+ with pytest . raises (TypeError ):
20
22
reportsizedeltas .set_verbosity (enable_verbosity = 2 )
21
23
reportsizedeltas .set_verbosity (enable_verbosity = True )
22
24
reportsizedeltas .set_verbosity (enable_verbosity = False )
@@ -39,7 +41,7 @@ def test_report_size_deltas(self):
39
41
"page_count" : 1 })
40
42
41
43
# Test handling of locked PR
42
- self . assertEqual ([], report_size_deltas .report_size_deltas () )
44
+ assert [] == report_size_deltas .report_size_deltas ()
43
45
calls = [unittest .mock .call (request = "repos/" + repository_name + "/pulls" ,
44
46
page_number = 1 )]
45
47
report_size_deltas .api_request .assert_has_calls (calls )
@@ -50,7 +52,7 @@ def test_report_size_deltas(self):
50
52
for pr_data in json_data :
51
53
pr_data ["locked" ] = False
52
54
53
- self . assertEqual ([], report_size_deltas .report_size_deltas () )
55
+ assert [] == report_size_deltas .report_size_deltas ()
54
56
55
57
calls = []
56
58
for pr_data in json_data :
@@ -63,7 +65,7 @@ def test_report_size_deltas(self):
63
65
64
66
report_size_deltas .get_artifact_download_url_for_sha = unittest .mock .MagicMock (return_value = None )
65
67
66
- self . assertEqual ([], report_size_deltas .report_size_deltas () )
68
+ assert [] == report_size_deltas .report_size_deltas ()
67
69
68
70
calls = []
69
71
for pr_data in json_data :
@@ -86,7 +88,7 @@ def test_report_size_deltas(self):
86
88
report_list = []
87
89
for pr_data in json_data :
88
90
report_list = report_list + [{"pr_number" : pr_data ["number" ], "report" : report ["data" ]}]
89
- self . assertEqual ( report_list , report_size_deltas .report_size_deltas () )
91
+ assert report_list == report_size_deltas .report_size_deltas ()
90
92
91
93
# @unittest.skip("")
92
94
def test_report_exists (self ):
@@ -103,13 +105,13 @@ def test_report_exists(self):
103
105
"additional_pages" : False ,
104
106
"page_count" : 1 })
105
107
106
- self . assertTrue ( report_size_deltas .report_exists (pr_number = pr_number , pr_head_sha = pr_head_sha ) )
108
+ assert report_size_deltas .report_exists (pr_number = pr_number , pr_head_sha = pr_head_sha )
107
109
108
110
report_size_deltas .api_request .assert_called_once_with (request = "repos/" + repository_name + "/issues/"
109
111
+ str (pr_number ) + "/comments" ,
110
112
page_number = 1 )
111
113
112
- self . assertFalse ( report_size_deltas .report_exists (pr_number = pr_number , pr_head_sha = "asdf" ) )
114
+ assert not report_size_deltas .report_exists (pr_number = pr_number , pr_head_sha = "asdf" )
113
115
114
116
# @unittest.skip("")
115
117
def test_get_artifact_download_url_for_sha (self ):
@@ -130,9 +132,9 @@ def test_get_artifact_download_url_for_sha(self):
130
132
report_size_deltas .get_artifact_download_url_for_run = unittest .mock .MagicMock (return_value = None )
131
133
132
134
# No SHA match
133
- self . assertEqual ( None , report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
134
- pr_head_ref = pr_head_ref ,
135
- pr_head_sha = "foosha" ))
135
+ assert report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
136
+ pr_head_ref = pr_head_ref ,
137
+ pr_head_sha = "foosha" ) is None
136
138
137
139
# Test pagination
138
140
request = "repos/" + repository_name + "/actions/runs"
@@ -144,17 +146,18 @@ def test_get_artifact_download_url_for_sha(self):
144
146
report_size_deltas .api_request .assert_has_calls (calls )
145
147
146
148
# SHA match, but no artifact for run
147
- self . assertEqual ( None , report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
148
- pr_head_ref = pr_head_ref ,
149
- pr_head_sha = pr_head_sha ))
149
+ assert report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
150
+ pr_head_ref = pr_head_ref ,
151
+ pr_head_sha = pr_head_sha ) is None
150
152
151
153
report_size_deltas .get_artifact_download_url_for_run = unittest .mock .MagicMock (return_value = test_artifact_url )
152
154
153
155
# SHA match, artifact match
154
- self .assertEqual (test_artifact_url ,
155
- report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
156
- pr_head_ref = pr_head_ref ,
157
- pr_head_sha = pr_head_sha ))
156
+ assert test_artifact_url == (
157
+ report_size_deltas .get_artifact_download_url_for_sha (pr_user_login = pr_user_login ,
158
+ pr_head_ref = pr_head_ref ,
159
+ pr_head_sha = pr_head_sha )
160
+ )
158
161
159
162
report_size_deltas .get_artifact_download_url_for_run .assert_called_once_with (run_id = run_id )
160
163
@@ -175,7 +178,7 @@ def test_get_artifact_download_url_for_run(self):
175
178
"page_count" : 1 })
176
179
177
180
# Artifact name match
178
- self . assertEqual ( archive_download_url , report_size_deltas .get_artifact_download_url_for_run (run_id = run_id ) )
181
+ assert archive_download_url == report_size_deltas .get_artifact_download_url_for_run (run_id = run_id )
179
182
180
183
report_size_deltas .api_request .assert_called_once_with (
181
184
request = "repos/" + repository_name + "/actions/runs/" + str (run_id )
@@ -189,7 +192,7 @@ def test_get_artifact_download_url_for_run(self):
189
192
"page_count" : 1 })
190
193
191
194
# No artifact name match
192
- self . assertEqual ( None , report_size_deltas .get_artifact_download_url_for_run (run_id = run_id ))
195
+ assert report_size_deltas .get_artifact_download_url_for_run (run_id = run_id ) is None
193
196
194
197
# # TODO
195
198
# def test_get_artifact(self):
@@ -223,7 +226,7 @@ def test_generate_report(self):
223
226
"arduino:samd:mkrgsm1400 | N/A | N/A\n "
224
227
"arduino:samd:mkrnb1500 | :green_heart: -24 | 0\n "
225
228
"esp8266:esp8266:huzzah | :small_red_triangle: +32 | :small_red_triangle: +16" )
226
- self . assertEqual ( report_markdown , report ["markdown" ])
229
+ assert report_markdown == report ["markdown" ]
227
230
228
231
report_data = [{'flash' : 10580 ,
229
232
'flash_delta' : 0 ,
@@ -257,7 +260,7 @@ def test_generate_report(self):
257
260
'ram' : 27496 ,
258
261
'ram_delta' : 16 ,
259
262
'sketch' : 'examples/ConnectionHandlerDemo' }]
260
- self . assertEqual ( report_data , report ["data" ])
263
+ assert report_data == report ["data" ]
261
264
262
265
# @unittest.skip("")
263
266
def test_comment_report (self ):
@@ -294,9 +297,9 @@ def test_api_request(self):
294
297
295
298
report_size_deltas .get_json_response = unittest .mock .MagicMock (return_value = response_data )
296
299
297
- self . assertEqual ( response_data , report_size_deltas .api_request (request = request ,
298
- request_parameters = request_parameters ,
299
- page_number = page_number ) )
300
+ assert response_data == report_size_deltas .api_request (request = request ,
301
+ request_parameters = request_parameters ,
302
+ page_number = page_number )
300
303
report_size_deltas .get_json_response .assert_called_once_with (
301
304
url = "https://api.github.com/" + request + "?" + request_parameters
302
305
+ "&page=" + str (page_number ) + "&per_page=100" )
@@ -312,19 +315,19 @@ def test_get_json_response(self):
312
315
313
316
# Empty body
314
317
response_data = report_size_deltas .get_json_response (url = url )
315
- self . assertEqual ( json .loads (response ["body" ]), response_data ["json_data" ])
316
- self . assertFalse ( response_data ["additional_pages" ])
317
- self . assertEqual ( 0 , response_data ["page_count" ])
318
+ assert json .loads (response ["body" ]) == response_data ["json_data" ]
319
+ assert not response_data ["additional_pages" ]
320
+ assert 0 == response_data ["page_count" ]
318
321
report_size_deltas .http_request .assert_called_once_with (url = url )
319
322
320
323
response = {"headers" : {"Link" : None }, "body" : "[42]" }
321
324
report_size_deltas .http_request = unittest .mock .MagicMock (return_value = response )
322
325
323
326
# Non-empty body, Link field is None
324
327
response_data = report_size_deltas .get_json_response (url = url )
325
- self . assertEqual ( json .loads (response ["body" ]), response_data ["json_data" ])
326
- self . assertFalse ( response_data ["additional_pages" ])
327
- self . assertEqual ( 1 , response_data ["page_count" ])
328
+ assert json .loads (response ["body" ]) == response_data ["json_data" ]
329
+ assert not response_data ["additional_pages" ]
330
+ assert 1 == response_data ["page_count" ]
328
331
329
332
response = {"headers" : {"Link" : '<https://api.github.com/repositories/919161/pulls?page=2>; rel="next", '
330
333
'"<https://api.github.com/repositories/919161/pulls?page=4>; rel="last"' },
@@ -333,9 +336,9 @@ def test_get_json_response(self):
333
336
334
337
# Non-empty body, Link field is populated
335
338
response_data = report_size_deltas .get_json_response (url = url )
336
- self . assertEqual ( json .loads (response ["body" ]), response_data ["json_data" ])
337
- self . assertTrue ( response_data ["additional_pages" ])
338
- self . assertEqual ( 4 , response_data ["page_count" ])
339
+ assert json .loads (response ["body" ]) == response_data ["json_data" ]
340
+ assert response_data ["additional_pages" ]
341
+ assert 4 == response_data ["page_count" ]
339
342
340
343
# @unittest.skip("")
341
344
def test_http_request (self ):
@@ -395,10 +398,8 @@ def test_handle_rate_limiting(self):
395
398
json_data = {"json_data" : {"resources" : {"core" : {"remaining" : 0 , "reset" : 1234 , "limit" : 42 }}}}
396
399
report_size_deltas .get_json_response = unittest .mock .MagicMock (return_value = json_data )
397
400
398
- # noinspection PyTypeChecker
399
- with self .assertRaises (SystemExit ) as cm :
401
+ with pytest .raises (expected_exception = SystemExit , match = "0" ):
400
402
report_size_deltas .handle_rate_limiting ()
401
- self .assertEqual (cm .exception .code , 0 )
402
403
403
404
report_size_deltas .get_json_response .assert_called_once_with (url = "https://api.github.com/rate_limit" )
404
405
@@ -407,28 +408,28 @@ def test_handle_rate_limiting(self):
407
408
408
409
@unittest .skip ("disabled because it causes a delay" )
409
410
def test_determine_urlopen_retry_true (self ):
410
- self . assertTrue ( reportsizedeltas .determine_urlopen_retry (
411
- exception = urllib .error .HTTPError (None , 502 , "Bad Gateway" , None , None )))
411
+ assert reportsizedeltas .determine_urlopen_retry (
412
+ exception = urllib .error .HTTPError (None , 502 , "Bad Gateway" , None , None ))
412
413
413
414
# @unittest.skip("")
414
415
def test_determine_urlopen_retry_false (self ):
415
- self . assertFalse ( reportsizedeltas .determine_urlopen_retry (
416
- exception = urllib .error .HTTPError (None , 404 , "Not Found" , None , None )))
416
+ assert not reportsizedeltas .determine_urlopen_retry (
417
+ exception = urllib .error .HTTPError (None , 404 , "Not Found" , None , None ))
417
418
418
419
# @unittest.skip("")
419
420
def test_get_page_count (self ):
420
421
page_count = 4
421
422
link_header = ('<https://api.github.com/repositories/919161/pulls?page=2>; rel="next", '
422
423
'"<https://api.github.com/repositories/919161/pulls?page=' + str (page_count ) + '>; rel="last"' )
423
424
424
- self . assertEqual ( page_count , reportsizedeltas .get_page_count (link_header = link_header ) )
425
+ assert page_count == reportsizedeltas .get_page_count (link_header = link_header )
425
426
426
427
# @unittest.skip("")
427
428
def test_generate_value_cell (self ):
428
- self . assertEqual ( " | :small_red_triangle: +42" , reportsizedeltas .generate_value_cell (42 ) )
429
- self . assertEqual ( " | 0" , reportsizedeltas .generate_value_cell (0 ) )
430
- self . assertEqual ( " | :green_heart: -42" , reportsizedeltas .generate_value_cell (- 42 ) )
431
- self . assertEqual ( " | N/A" , reportsizedeltas .generate_value_cell ("N/A" ) )
429
+ assert " | :small_red_triangle: +42" == reportsizedeltas .generate_value_cell (42 )
430
+ assert " | 0" == reportsizedeltas .generate_value_cell (0 )
431
+ assert " | :green_heart: -42" == reportsizedeltas .generate_value_cell (- 42 )
432
+ assert " | N/A" == reportsizedeltas .generate_value_cell ("N/A" )
432
433
433
434
434
435
if __name__ == '__main__' :
0 commit comments