예제 #1
0
    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})
예제 #2
0
    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})