Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_init__with_device_id_authorizer(self):
authenticator = prawcore.UntrustedAuthenticator(REQUESTOR, CLIENT_ID)
authorizer = prawcore.DeviceIDAuthorizer(authenticator)
prawcore.Session(authorizer)
def test_request__unsupported_media_type(self):
with Betamax(REQUESTOR).use_cassette(
"Session_request__unsupported_media_type"
):
session = prawcore.Session(script_authorizer())
exception_class = prawcore.SpecialError
data = {
"content": "type: submission\naction: upvote",
"page": "config/automoderator",
}
with self.assertRaises(exception_class) as context_manager:
session.request("POST", "r/ttft/api/wiki/edit/", data=data)
self.assertEqual(
415, context_manager.exception.response.status_code
)
def test_request__cloudflare_connection_timed_out(self):
with Betamax(REQUESTOR).use_cassette(
"Session_request__cloudflare_connection_timed_out"
):
session = prawcore.Session(readonly_authorizer())
with self.assertRaises(prawcore.ServerError) as context_manager:
session.request("GET", "/")
session.request("GET", "/")
session.request("GET", "/")
self.assertEqual(
522, context_manager.exception.response.status_code
)
def test_request__bad_gateway(self):
with Betamax(REQUESTOR).use_cassette("Session_request__bad_gateway"):
session = prawcore.Session(readonly_authorizer())
with self.assertRaises(prawcore.ServerError) as context_manager:
session.request("GET", "/")
self.assertEqual(
502, context_manager.exception.response.status_code
)
def test_request__raw_json(self):
with Betamax(REQUESTOR).use_cassette("Session_request__raw_json"):
session = prawcore.Session(readonly_authorizer())
response = session.request(
"GET",
("/r/reddit_api_test/comments/" "45xjdr/want_raw_json_test/"),
)
self.assertEqual(
"WANT_RAW_JSON test: < > &",
response[0]["data"]["children"][0]["data"]["title"],
)
def test_request__cloudflare_unknown_error(self):
with Betamax(REQUESTOR).use_cassette(
"Session_request__cloudflare_unknown_error"
):
session = prawcore.Session(readonly_authorizer())
with self.assertRaises(prawcore.ServerError) as context_manager:
session.request("GET", "/")
session.request("GET", "/")
session.request("GET", "/")
self.assertEqual(
520, context_manager.exception.response.status_code
)
def test_request__get(self):
with Betamax(REQUESTOR).use_cassette("Session_request__get"):
session = prawcore.Session(readonly_authorizer())
params = {"limit": 100}
response = session.request("GET", "/", params=params)
self.assertIsInstance(response, dict)
self.assertEqual(1, len(params))
self.assertEqual("Listing", response["kind"])
def test_request__unavailable_for_legal_reasons(self):
with Betamax(REQUESTOR).use_cassette(
"Session_request__unavailable_for_legal_reasons"
):
session = prawcore.Session(readonly_authorizer())
exception_class = prawcore.UnavailableForLegalReasons
with self.assertRaises(exception_class) as context_manager:
session.request("GET", "/")
self.assertEqual(
451, context_manager.exception.response.status_code
)
def test_request__too_large(self):
with Betamax(REQUESTOR).use_cassette(
"Session_request__too_large", match_requests_on=["uri", "method"]
):
session = prawcore.Session(script_authorizer())
data = {"upload_type": "header"}
with open("tests/files/too_large.jpg", "rb") as fp:
files = {"file": fp}
with self.assertRaises(prawcore.TooLarge) as context_manager:
session.request(
"POST",
"/r/reddit_api_test/api/upload_sr_img",
data=data,
files=files,
)
self.assertEqual(
413, context_manager.exception.response.status_code
)
def test_request__not_found(self):
with Betamax(REQUESTOR).use_cassette("Session_request__not_found"):
session = prawcore.Session(script_authorizer())
self.assertRaises(
prawcore.NotFound,
session.request,
"GET",
"/r/reddit_api_test/wiki/invalid",
)