Exemplo n.º 1
0
class NavigationTest(unittest.TestCase):
    def setUp(self):
        client = APIClient("username", "password", "app_key", "UK")
        self.navigation = Navigation(client)

    @mock.patch("betfairlightweight.endpoints.navigation.Navigation.request")
    def test_list_navigation(self, mock_response):
        mock_response.return_value = None
        response = self.navigation.list_navigation()
        assert response == mock_response()

    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request(self, mock_get, mock_request_headers, mock_cert):
        mock_response = create_mock_json("tests/resources/login_success.json")
        mock_get.return_value = mock_response

        url = "https://api.betfair.com/exchange/betting/rest/v1/en/navigation/menu.json"
        self.navigation.request()

        mock_get.assert_called_once_with(url,
                                         headers=mock_request_headers,
                                         timeout=(3.05, 16))

    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request_error(self, mock_get, mock_request_headers, mock_cert):
        mock_get.side_effect = ConnectionError()

        with self.assertRaises(APIError):
            self.navigation.request()

        mock_get.side_effect = ValueError()

        with self.assertRaises(APIError):
            self.navigation.request()

    @mock.patch("betfairlightweight.endpoints.navigation.json.loads",
                side_effect=ValueError)
    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request_json_error(self, mock_get, mock_request_headers,
                                mock_cert, mock_json_loads):
        mock_response = mock.Mock()
        mock_response.status_code = 200
        mock_get.return_value = mock_response

        with self.assertRaises(InvalidResponse):
            self.navigation.request()

    def test_url(self):
        assert self.navigation.url == self.navigation.client.navigation_uri
Exemplo n.º 2
0
 def test_base_endpoint_init(self):
     client = APIClient('username', 'password', 'app_key')
     navigation = Navigation(client)
     assert navigation.connect_timeout == 3.05
     assert navigation.read_timeout == 16
     assert navigation._error == APIError
     assert navigation.client == client
Exemplo n.º 3
0
class NavigationTest(unittest.TestCase):
    def setUp(self):
        client = APIClient('username', 'password', 'app_key', 'UK')
        self.navigation = Navigation(client)

    @mock.patch('betfairlightweight.endpoints.navigation.Navigation.request')
    def test_list_navigation(self, mock_response):
        mock_response.return_value = None
        response = self.navigation.list_navigation()
        assert response == mock_response()

    @mock.patch('betfairlightweight.baseclient.BaseClient.cert')
    @mock.patch('betfairlightweight.baseclient.BaseClient.request_headers')
    @mock.patch('betfairlightweight.baseclient.requests.get')
    def test_request(self, mock_get, mock_request_headers, mock_cert):
        mock_response = create_mock_json('tests/resources/login_success.json')
        mock_get.return_value = mock_response

        url = 'https://api.betfair.com/exchange/betting/rest/v1/en/navigation/menu.json'
        self.navigation.request()

        mock_get.assert_called_once_with(url,
                                         headers=mock_request_headers,
                                         timeout=(3.05, 16))

    @mock.patch('betfairlightweight.baseclient.BaseClient.cert')
    @mock.patch('betfairlightweight.baseclient.BaseClient.request_headers')
    @mock.patch('betfairlightweight.baseclient.requests.get')
    def test_request_error(self, mock_get, mock_request_headers, mock_cert):
        mock_get.side_effect = ConnectionError()

        with self.assertRaises(APIError):
            self.navigation.request()

        mock_get.side_effect = ValueError()

        with self.assertRaises(APIError):
            self.navigation.request()

    def test_url(self):
        assert self.navigation.url == self.navigation.client.navigation_uri
Exemplo n.º 4
0
 def setUp(self):
     client = APIClient('username', 'password', 'app_key', 'UK')
     self.navigation = Navigation(client)
Exemplo n.º 5
0
 def setUp(self):
     client = APIClient("username", "password", "app_key", "UK")
     self.navigation = Navigation(client)
Exemplo n.º 6
0
 def setUp(self):
     client = APIClient("username", "password", "app_key", "UK")
     self.navigation = Navigation(client)
Exemplo n.º 7
0
class NavigationTest(unittest.TestCase):
    def setUp(self):
        client = APIClient("username", "password", "app_key", "UK")
        self.navigation = Navigation(client)

    @mock.patch("betfairlightweight.endpoints.navigation.Navigation.request")
    def test_list_navigation(self, mock_response):
        mock_response.return_value = None
        response = self.navigation.list_navigation()
        assert response == mock_response()

    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request(self, mock_get, mock_request_headers, mock_cert):
        mock_response = create_mock_json("tests/resources/login_success.json")
        mock_get.return_value = mock_response

        mock_headers = mock.Mock()
        mock_headers.return_value = {}
        mock_request_headers.return_value = mock_headers

        mock_client_cert = mock.Mock()
        mock_client_cert.return_value = []
        mock_cert.return_value = mock_client_cert

        url = "https://api.betfair.com/exchange/betting/rest/v1/en/navigation/menu.json"
        self.navigation.request()

        mock_get.assert_called_once_with(url, headers=mock_request_headers, timeout=(3.05, 16))

    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request_error(self, mock_get, mock_request_headers, mock_cert):
        mock_get.side_effect = ConnectionError()

        mock_headers = mock.Mock()
        mock_headers.return_value = {}
        mock_request_headers.return_value = mock_headers

        mock_client_cert = mock.Mock()
        mock_client_cert.return_value = []
        mock_cert.return_value = mock_client_cert

        url = "https://api.betfair.com/exchange/betting/rest/v1/en/navigation/menu.json"
        with self.assertRaises(APIError):
            self.navigation.request()

        mock_get.assert_called_once_with(url, headers=mock_request_headers, timeout=(3.05, 16))

    @mock.patch("betfairlightweight.baseclient.BaseClient.cert")
    @mock.patch("betfairlightweight.baseclient.BaseClient.request_headers")
    @mock.patch("betfairlightweight.baseclient.requests.get")
    def test_request_random(self, mock_get, mock_request_headers, mock_cert):
        mock_get.side_effect = ValueError()

        mock_headers = mock.Mock()
        mock_headers.return_value = {}
        mock_request_headers.return_value = mock_headers

        mock_client_cert = mock.Mock()
        mock_client_cert.return_value = []
        mock_cert.return_value = mock_client_cert

        url = "https://api.betfair.com/exchange/betting/rest/v1/en/navigation/menu.json"
        with self.assertRaises(APIError):
            self.navigation.request()

        mock_get.assert_called_once_with(url, headers=mock_request_headers, timeout=(3.05, 16))

    def test_url(self):
        assert self.navigation.url == self.navigation.client.navigation_uri