def test_it_raises_with_info_about_rate_limit_when_exceeded( assert_github_issue_no_cache: AssertGitHubIssue, requests_mock: MagicMock): set_limit_exceeded(requests_mock) with pytest.raises(HTTPError, match=".*Current quota:.*"): assert_github_issue_no_cache.is_open(ISSUE_NUMBER)
def test_it_raises_when_status_not_200_in_state_check( self, assert_github_issue_no_cache: AssertGitHubIssue, requests_mock: MagicMock): set_issue_state(requests_mock, "open", 500) with pytest.raises(HTTPError, match=self._GENERIC_ERROR_MESSAGE_PATTERN): assert_github_issue_no_cache.is_open(ISSUE_NUMBER)
def test_open_issue_check_fails_when_closed( assert_github_issue_no_cache: AssertGitHubIssue, ): with pytest.raises(AssertionError): try: assert_github_issue_no_cache.is_open(CLOSED_ISSUE_NUMBER, "Custom message.") except AssertionError as ex: print(ex) raise ex
def _init_with_user_name_token_and_assert( requests_mock: MagicMock, username: str, token: str, assertion: Callable[[AssertGitHubIssue], None] = noop ): with patch.dict( "os.environ", {"GITHUB_USER_NAME": username, "GITHUB_PERSONAL_ACCESS_TOKEN": token, "CACHE_INVALIDATION_IN_SECONDS": "0"}, ): set_issue_state(requests_mock, "open") assert_github_issue = AssertGitHubIssue(REPOSITORY_ID) assert_github_issue.is_open(ISSUE_NUMBER) assertion(assert_github_issue)
def _fail_open_state_check(assert_github_issue: AssertGitHubIssue, req_mock: MagicMock, msg: str = ""): set_issue_state(req_mock, GitHubIssueState.closed.value) assert_github_issue.is_open(ISSUE_NUMBER, msg)
def _assertion(assert_github_issue: AssertGitHubIssue): set_limit_exceeded(requests_mock) with pytest.raises(HTTPError, match=".*Consider setting.*"): assert_github_issue.is_open(ISSUE_NUMBER)
def test_open_issue_check_does_not_fail_when_open( assert_github_issue_no_cache: AssertGitHubIssue, ): assert_github_issue_no_cache.is_open(OPEN_ISSUE_NUMBER)