<s> from __future__ import unicode_literals <EOL> import mock <EOL> from mock . mock import MagicMock <EOL> from six . moves . urllib . error import HTTPError <EOL> from spockbot . mcp . yggdrasil import YggdrasilCore <EOL> ygg_auth_error = { '<STR_LIT:error>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> '<STR_LIT>' } <EOL> ygg_auth_user_pass = { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : '<STR_LIT:username>' } ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : '<STR_LIT:username>' } } <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_request_is_done ( urlopen , request ) : <EOL> decode = urlopen . return_value . read . return_value . decode <EOL> decode . return_value = '<STR_LIT>' <EOL> ygg = YggdrasilCore ( ) <EOL> assert not urlopen . called <EOL> assert not request . called <EOL> res = ygg . _ygg_req ( '<STR_LIT>' , [ { '<STR_LIT:a>' : '<STR_LIT:b>' } , '<STR_LIT:c>' , '<STR_LIT:d>' , '<STR_LIT:e>' ] ) <EOL> request . assert_called_once_with ( <EOL> url = '<STR_LIT>' , <EOL> data = b'<STR_LIT>' , <EOL> headers = { '<STR_LIT:Content-Type>' : '<STR_LIT:application/json>' } <EOL> ) <EOL> urlopen . assert_called_once_with ( request . return_value ) <EOL> assert urlopen . return_value . read . called <EOL> assert decode . called <EOL> assert res == { '<STR_LIT:test>' : <NUM_LIT:1> } <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_request_raises_error ( urlopen , request ) : <EOL> exception_data = MagicMock ( ) <EOL> exception_data . read . return_value . decode . return_value = '<STR_LIT>' <EOL> urlopen . side_effect = HTTPError ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , exception_data ) <EOL> ygg = YggdrasilCore ( ) <EOL> assert not urlopen . called <EOL> assert not request . called <EOL> res = ygg . _ygg_req ( '<STR_LIT>' , { '<STR_LIT:a>' : '<STR_LIT:b>' } ) <EOL> assert exception_data . read . called <EOL> assert exception_data . read . return_value . decode . called <EOL> assert res == { '<STR_LIT:error>' : <NUM_LIT:1> } <EOL> def test_yggdrasil_initialization ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert '<STR_LIT>' == ygg . client_token <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> def test_authenticate_success ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' ] , <EOL> '<STR_LIT>' : '<STR_LIT:a>' } <EOL> ygg . username = '<STR_LIT:user>' <EOL> ygg . password = '<STR_LIT>' <EOL> ygg . client_token = '<STR_LIT>' <EOL> res = ygg . authenticate ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:version>' : <NUM_LIT:1> , <EOL> } , <EOL> '<STR_LIT:username>' : '<STR_LIT:user>' , <EOL> '<STR_LIT:password>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert ygg . username == '<STR_LIT:user>' <EOL> assert ygg . password == '<STR_LIT>' <EOL> assert ygg . client_token == '<STR_LIT>' <EOL> assert ygg . access_token == '<STR_LIT>' <EOL> assert res <EOL> def test_authenticate_failure ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT:error>' : <NUM_LIT:1> } <EOL> ygg . username = '<STR_LIT:user>' <EOL> ygg . password = '<STR_LIT>' <EOL> ygg . client_token = '<STR_LIT>' <EOL> res = ygg . authenticate ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:version>' : <NUM_LIT:1> , <EOL> } , <EOL> '<STR_LIT:username>' : '<STR_LIT:user>' , <EOL> '<STR_LIT:password>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert ygg . username == '<STR_LIT:user>' <EOL> assert ygg . password == '<STR_LIT>' <EOL> assert ygg . client_token == '<STR_LIT>' <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> assert not res <EOL> def test_refresh_success ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' ] , <EOL> '<STR_LIT>' : '<STR_LIT:a>' } <EOL> ygg . client_token = '<STR_LIT>' <EOL> ygg . access_token = '<STR_LIT>' <EOL> res = ygg . refresh ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert ygg . client_token == '<STR_LIT>' <EOL> assert ygg . access_token == '<STR_LIT>' <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert res <EOL> def test_refresh_failure ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT:error>' : <NUM_LIT:1> } <EOL> ygg . client_token = '<STR_LIT>' <EOL> ygg . access_token = '<STR_LIT>' <EOL> res = ygg . refresh ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert ygg . client_token == '<STR_LIT>' <EOL> assert ygg . access_token == '<STR_LIT>' <EOL> assert not res <EOL> def test_signout ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT>' : '<STR_LIT>' } <EOL> ygg . username = '<STR_LIT:user>' <EOL> ygg . password = '<STR_LIT>' <EOL> res = ygg . signout ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT:username>' : '<STR_LIT:user>' , <EOL> '<STR_LIT:password>' : '<STR_LIT>' , <EOL> } ) <EOL> assert ygg . username == '<STR_LIT:user>' <EOL> assert ygg . password == '<STR_LIT>' <EOL> assert '<STR_LIT>' == ygg . client_token <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> assert res <EOL> def test_invalidate ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT>' : '<STR_LIT>' } <EOL> ygg . client_token = '<STR_LIT>' <EOL> ygg . access_token = '<STR_LIT>' <EOL> res = ygg . invalidate ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert '<STR_LIT>' == ygg . client_token <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> assert res <EOL> def test_validate_success ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { } <EOL> ygg . access_token = '<STR_LIT>' <EOL> res = ygg . validate ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert '<STR_LIT>' == ygg . client_token <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> assert res <EOL> def test_validate_error ( ) : <EOL> ygg = YggdrasilCore ( ) <EOL> ygg . _ygg_req = ygg_req = mock . MagicMock ( ) <EOL> ygg_req . return_value = { '<STR_LIT>' : '<STR_LIT>' } <EOL> ygg . access_token = '<STR_LIT>' <EOL> res = ygg . validate ( ) <EOL> ygg_req . assert_called_once_with ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } ) <EOL> assert '<STR_LIT>' == ygg . username <EOL> assert '<STR_LIT>' == ygg . password <EOL> assert '<STR_LIT>' == ygg . client_token <EOL> assert '<STR_LIT>' == ygg . access_token <EOL> assert not res </s>
