def test_version_check():
    version = parse_version('0.17.1.dev205+ge7a0c6ad')

    class Response():
        def json(self):
            return json.loads(LATEST_RELEASE_RESPONSE.replace('\n', ''))

    def fake_request(endpoint):
        return Response()

    with patch.object(requests, 'get', side_effect=fake_request):
        assert not _do_check_version(version)
        assert _do_check_version(parse_version('0.19.0'))
def test_version_check():
    version = parse_version('0.17.1.dev205+ge7a0c6ad')

    class Response():
        def json(self):
            return json.loads(LATEST_RELEASE_RESPONSE.replace('\n', ''))

    def fake_request(endpoint):
        return Response()

    with patch.object(requests, 'get', side_effect=fake_request):
        assert not _do_check_version(version)
        assert _do_check_version(parse_version('0.19.0'))
def test_version_check():
    version = parse_version("0.17.1.dev205+ge7a0c6ad")

    class Response:
        @staticmethod
        def json():
            return json.loads(LATEST_RELEASE_RESPONSE.replace("\n", ""))

    def fake_request(endpoint):  # pylint: disable=unused-argument
        return Response()

    with patch.object(requests, "get", side_effect=fake_request):
        assert not _do_check_version(version)
        assert _do_check_version(parse_version("0.19.0"))
def test_version_check_api_rate_limit_exceeded():
    version = parse_version('0.17.1.dev205+ge7a0c6ad')

    class Response():
        def json(self):
            response = """{"message": "API rate limit exceeded for 62.96.232.178. (But here's the
             good news: Authenticated requests get a higher rate limit. Check out the
            documentation for more details.)", "documentation_url":
            "https://developer.github.com/v3/#rate-limiting"}"""
            return json.loads(response.replace('\n', ''))

    def fake_request(endpoint):
        return Response()

    with patch.object(requests, 'get', side_effect=fake_request):
        assert not _do_check_version(version)
def test_version_check_api_rate_limit_exceeded():
    version = parse_version('0.17.1.dev205+ge7a0c6ad')

    class Response():
        def json(self):
            response = """{"message": "API rate limit exceeded for 62.96.232.178. (But here's the
             good news: Authenticated requests get a higher rate limit. Check out the
            documentation for more details.)", "documentation_url":
            "https://developer.github.com/v3/#rate-limiting"}"""
            return json.loads(response.replace('\n', ''))

    def fake_request(endpoint):
        return Response()

    with patch.object(requests, 'get', side_effect=fake_request):
        assert not _do_check_version(version)