def test_request_raises_error(self, urlopen, request): exception_data = MagicMock() exception_data.read.return_value.decode.return_value = '{"error": 1}' urlopen.side_effect = HTTPError("", "", "", "", exception_data) ygg = YggAuth() self.assertFalse(urlopen.called) self.assertFalse(request.called) res = ygg._ygg_req("/test", {"a": "b"}) # Read the response self.assertTrue(exception_data.read.called) self.assertTrue(exception_data.read.return_value.decode.called) self.assertEqual(res, {"error": 1})
def test_request_is_done(self, urlopen, request): decode = urlopen.return_value.read.return_value.decode decode.return_value = '{"test": 1}' ygg = YggAuth() self.assertFalse(urlopen.called) self.assertFalse(request.called) res = ygg._ygg_req("/test", [{"a": "b"}, "c", "d", "e"]) # First create the request request.assert_called_once_with( url="https://authserver.mojang.com/test", data=b'[{"a": "b"}, "c", "d", "e"]', headers={"Content-Type": "application/json"}, ) # Then send it urlopen.assert_called_once_with(request.return_value) # Read the response self.assertTrue(urlopen.return_value.read.called) self.assertTrue(decode.called) self.assertEqual(res, {"test": 1})