Coverage for professional_python_exercises_2_githubcli\test_github_cli.py: 100%
33 statements
« prev ^ index » next coverage.py v6.5.0, created at 2022-11-05 18:08 +0100
« prev ^ index » next coverage.py v6.5.0, created at 2022-11-05 18:08 +0100
1from contextlib import suppress
2from unittest import mock
3import requests
4from professional_python_exercises_2_githubcli.github_cli import _rate_stars_to_repos
5from professional_python_exercises_2_githubcli.github_cli import setstatus
8def test_ratings():
9 assert _rate_stars_to_repos(0, 10) == "This poor fellar. Work harder!"
10 assert _rate_stars_to_repos(0, 0) == "This poor fellar. Work harder!"
11 assert _rate_stars_to_repos(1, 10) == "Keep doing what you're doing. But do more!"
12 assert _rate_stars_to_repos(20, 10) == "Not bad ey, not bad."
13 assert _rate_stars_to_repos(2000, 10) == "Greetings, Mr. Starlord"
16class TestSetStatus:
17 @mock.patch(
18 "professional_python_exercises_2_githubcli.github_cli.get_github_token", autospec=True
19 )
20 @mock.patch("professional_python_exercises_2_githubcli.github_cli.requests.post", autospec=True)
21 def test_set_status_all_good(self, request_mock: mock.Mock, api_mock: mock.Mock):
22 api_mock.return_value = "0000000000000000000000000000000000000000"
23 all_good_response = requests.Response()
24 all_good_response.status_code = 200
25 request_mock.return_value: requests.Response = all_good_response
26 success = setstatus()
27 assert request_mock.called
28 assert success
30 @mock.patch(
31 "professional_python_exercises_2_githubcli.github_cli.get_github_token", autospec=True
32 )
33 @mock.patch("professional_python_exercises_2_githubcli.github_cli.requests.post", autospec=True)
34 def test_set_status_not_good(self, request_mock: mock.Mock, api_mock: mock.Mock):
35 api_mock.return_value = "0000000000000000000000000000000000000000"
36 not_good_response = requests.Response()
37 not_good_response.status_code = 401
38 request_mock.return_value: requests.Response = not_good_response
39 with suppress(Exception):
40 success = setstatus()
41 assert request_mock.called
42 assert success is False