Exemple #1
0
def test_request_raises_error(urlopen, request):
    exception_data = MagicMock()
    exception_data.read.return_value.decode.return_value = '{"error": 1}'
    urlopen.side_effect = HTTPError('', '', '', '', exception_data)

    ygg = YggdrasilCore()
    assert not urlopen.called
    assert not request.called
    res = ygg._ygg_req('/test', {'a': 'b'})

    # Read the response
    assert exception_data.read.called
    assert exception_data.read.return_value.decode.called

    assert res == {'error': 1}
Exemple #2
0
def test_request_is_done(urlopen, request):
    decode = urlopen.return_value.read.return_value.decode
    decode.return_value = '{"test": 1}'
    ygg = YggdrasilCore()
    assert not urlopen.called
    assert not 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
    assert urlopen.return_value.read.called
    assert decode.called

    assert res == {'test': 1}