class TestUbersmithClient(unittest.TestCase): def setUp(self): self.client = UbersmithClient(cfg['url'], cfg['username'], cfg['api_token']) @property def client_id(self): if not hasattr(self, '_client_id'): result = self.client.check_login(cfg['login'], cfg['pass']) self._client_id = result.get('client_id') return self._client_id @property def client_map(self): if not hasattr(self, '_client_map'): self._client_map = self.client.get_client(self.client_id, metadata=True) return self._client_map def test_check_login(self): self.assertTrue(self.client_id) def test_check_login_fails_with_error(self): self.assertRaises(UbersmithError, self.client.check_login, 'badusername', '') def test_get_client(self): self.assertTrue('metadata' in self.client_map) def test_update_client(self): tenant_id = self.client_map['metadata']['keystone_tenant_id'] if tenant_id == 'foo': new_tenant_id = 'bar' else: new_tenant_id = 'foo' success = self.client.update_client( self.client_id, meta_keystone_tenant_id=new_tenant_id) client_map = self.client.get_client(self.client_id, metadata=True) retrieved_tenant_id = client_map['metadata']['keystone_tenant_id'] self.assertEqual(new_tenant_id, retrieved_tenant_id)
def setUp(self): self.client = UbersmithClient(cfg['url'], cfg['username'], cfg['api_token'])