class BaseClientTest(unittest.TestCase): def setUp(self): self.client = APIClient('bf_username', 'password', 'app_key', '/fail/') def test_client_certs(self): with self.assertRaises(CertsError): print(self.client.cert) @mock.patch('betfairlightweight.baseclient.os.listdir') def test_client_certs_mocked(self, mock_listdir): mock_listdir.return_value = [ '.DS_Store', 'client-2048.crt', 'client-2048.key' ] assert self.client.cert == [ '/fail/client-2048.crt', '/fail/client-2048.key' ] @mock.patch('betfairlightweight.baseclient.os.listdir') def test_client_certs_missing(self, mock_listdir): mock_listdir.return_value = ['.DS_Store', 'client-2048.key'] with self.assertRaises(CertsError): print(self.client.cert) def test_set_session_token(self): self.client.set_session_token('session_token') assert self.client.session_token == 'session_token' assert self.client._login_time is not None def test_get_password(self): self.client.password = None with self.assertRaises(PasswordError): self.client.get_password() def test_get_app_key(self): self.client.app_key = None with self.assertRaises(AppKeyError): self.client.get_app_key() self.client.app_key = 'app_key' @mock.patch('betfairlightweight.baseclient.os.environ') def test_get_app_key_mocked(self, mocked_environ): self.client.app_key = None mocked_environ.__get__ = mock.Mock(return_value='app_key') assert self.client.get_app_key() is None def test_client_headers(self): assert self.client.login_headers == { 'X-Application': '1', 'content-type': 'application/x-www-form-urlencoded' } assert self.client.keep_alive_headers == { 'Accept': 'application/json', 'X-Application': self.client.app_key, 'X-Authentication': self.client.session_token, 'content-type': 'application/x-www-form-urlencoded' } assert self.client.request_headers == { 'X-Application': self.client.app_key, 'X-Authentication': self.client.session_token, 'content-type': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive' } def test_client_logged_in_session(self): self.client.set_session_token('session_token') assert self.client.session_expired is None self.client._login_time = datetime.datetime(2003, 8, 4, 12, 30, 45) assert self.client.session_expired is True def test_client_logout(self): self.client.client_logout() assert self.client._login_time is None assert self.client.session_token is None
class BaseClientTest(unittest.TestCase): def setUp(self): self.client = APIClient("bf_username", "password", "app_key", "/fail/") def test_client_certs(self): with self.assertRaises(CertsError): print(self.client.cert) @mock.patch("betfairlightweight.baseclient.os.listdir") def test_client_certs_mocked(self, mock_listdir): mock_listdir.return_value = [ ".DS_Store", "client-2048.crt", "client-2048.key" ] assert self.client.cert == [ "/fail/client-2048.crt", "/fail/client-2048.key" ] @mock.patch("betfairlightweight.baseclient.os.listdir") def test_client_certs_missing(self, mock_listdir): mock_listdir.return_value = [".DS_Store", "client-2048.key"] with self.assertRaises(CertsError): print(self.client.cert) def test_set_session_token(self): self.client.set_session_token("session_token") assert self.client.session_token == "session_token" assert self.client._login_time is not None def test_get_password(self): self.client.password = "******" assert self.client.get_password() == "test" def test_get_password_error(self): self.client.password = None with self.assertRaises(PasswordError): self.client.get_password() def test_get_app_key(self): self.client.app_key = "app_key" assert self.client.get_app_key() == "app_key" def test_get_app_key_error(self): self.client.app_key = None with self.assertRaises(AppKeyError): self.client.get_app_key() @mock.patch("betfairlightweight.baseclient.os.environ") def test_get_app_key_mocked(self, mocked_environ): self.client.app_key = None mocked_environ.__get__ = mock.Mock(return_value="app_key") self.assertEqual(self.client.get_app_key(), mocked_environ.get()) @mock.patch("betfairlightweight.baseclient.USER_AGENT") def test_client_headers(self, mock_user_agent): assert self.client.login_headers == { "Accept": "application/json", "X-Application": self.client.app_key, "content-type": "application/x-www-form-urlencoded", "User-Agent": mock_user_agent, } assert self.client.keep_alive_headers == { "Accept": "application/json", "X-Application": self.client.app_key, "X-Authentication": self.client.session_token, "content-type": "application/x-www-form-urlencoded", "User-Agent": mock_user_agent, } assert self.client.request_headers == { "X-Application": self.client.app_key, "X-Authentication": self.client.session_token, "content-type": "application/json", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", "User-Agent": mock_user_agent, } def test_client_logged_in_session(self): assert self.client.session_expired is True self.client.set_session_token("session_token") assert self.client.session_expired is False self.client._login_time = 959814000 assert self.client.session_expired is True def test_client_logout(self): self.client.client_logout() assert self.client._login_time is None assert self.client.session_token is None