def test_from_response_http_status(self): fake_resp = FakeAPIResponse() fake_resp.status_code = 404 exc = exceptions.from_response(fake_resp, None) self.assertTrue(isinstance(exc, exceptions.NotFound)) fake_resp.status_code = 409 exc = exceptions.from_response(fake_resp, None) self.assertTrue(isinstance(exc, exceptions.Conflict))
def test_create_metadata(self): api = self.api resp = FakeAPIResponse() resp.status_code = 201 api._direct_request = Mock(return_value=(resp, None)) metadata = {} k1 = random_str(32) v1 = random_str(32) k2 = random_str(32) v2 = random_str(32) metadata[k1] = v1 metadata[k2] = v2 api.create(self.account, self.name, properties=metadata) uri = "%s/reference/create" % self.uri_base params = {'acct': self.account, 'ref': self.name} data = json.dumps({'properties': metadata}) api._direct_request.assert_called_once_with('POST', uri, params=params, data=data)
def test_from_response(self): fake_resp = FakeAPIResponse() fake_resp.status_code = 500 exc = exceptions.from_response(fake_resp, None) self.assertTrue(isinstance(exc, exceptions.ClientException)) self.assertEqual(exc.http_status, fake_resp.status_code) self.assertEqual(exc.message, "n/a") self.assertTrue("HTTP 500" in str(exc))
def test_create_error(self): api = self.api resp = FakeAPIResponse() resp.status_code = 300 api._request = Mock(return_value=(resp, None)) self.assertRaises(exceptions.ClientException, api.create, self.account, self.name)
def test_container_create_exist(self): api = self.api resp = FakeAPIResponse() resp.status_code = 204 api.container._direct_request = Mock(return_value=(resp, None)) name = random_str(32) result = api.container_create(self.account, name) self.assertEqual(result, False)
def test_container_create_exist(self): api = self.api resp = FakeAPIResponse() resp.status_code = 201 api._request = Mock(return_value=(resp, None)) name = random_str(32) result = api.container_create(self.account, name) self.assertEqual(result, False)
def test_from_response_with_body(self): fake_resp = FakeAPIResponse() fake_resp.status_code = 500 body = {"status": 300, "message": "Fake error"} exc = exceptions.from_response(fake_resp, body) self.assertTrue(isinstance(exc, exceptions.ClientException)) self.assertEqual(exc.http_status, fake_resp.status_code) self.assertEqual(exc.status, 300) self.assertEqual(exc.message, "Fake error") self.assertTrue("HTTP 500" in str(exc)) self.assertTrue("STATUS 300" in str(exc))
def test_create_already_exists(self): api = self.api resp = FakeAPIResponse() resp.status_code = 200 api._request = Mock(return_value=(resp, None)) api.create(self.account, self.name) uri = "%s/reference/create" % self.uri_base params = {'acct': self.account, 'ref': self.name} api._request.assert_called_once_with( 'POST', uri, params=params, headers=None)
def test_create(self): api = self.api resp = FakeAPIResponse() resp.status_code = 201 api._request = Mock(return_value=(resp, None)) api.create(self.account, self.name) uri = "%s/reference/create" % self.uri_base params = {'acct': self.account, 'ref': self.name} data = json.dumps({'properties': {}}) api._request.assert_called_with( 'POST', uri, params=params, data=data, headers=None)
def test_container_delete(self): api = self.api resp = FakeAPIResponse() resp.status_code = 204 api.container._direct_request = Mock(return_value=(resp, None)) api.directory.unlink = Mock(return_value=None) name = random_str(32) api.container_delete(self.account, name, headers=self.headers) uri = "%s/container/destroy" % self.uri_base params = {'acct': self.account, 'ref': name} api.container._direct_request.assert_called_once_with( 'POST', uri, params=params, headers=self.headers)
def test_container_delete(self): api = self.api resp = FakeAPIResponse() resp.status_code = 204 api._request = Mock(return_value=(resp, None)) api.directory.unlink = Mock(return_value=None) name = random_str(32) api.container_delete(self.account, name, headers=self.headers) uri = "%s/container/destroy" % self.uri_base params = {'acct': self.account, 'ref': name} api._request.assert_called_once_with( 'POST', uri, params=params, headers=self.headers)
def test_create_already_exists(self): api = self.api resp = FakeAPIResponse() resp.status_code = 202 api._direct_request = Mock(return_value=(resp, None)) api.create(self.account, self.name) uri = "%s/reference/create" % self.uri_base params = {'acct': self.account, 'ref': self.name} data = json.dumps({'properties': {}}) api._direct_request.assert_called_once_with('POST', uri, params=params, data=data)
def test_container_create(self): api = self.api resp = FakeAPIResponse() resp.status_code = 204 api._request = Mock(return_value=(resp, None)) name = random_str(32) result = api.container_create(self.account, name, headers=self.headers) self.assertEqual(result, True) uri = "%s/container/create" % self.uri_base params = {'acct': self.account, 'ref': name} self.headers['x-oio-action-mode'] = 'autocreate' api._request.assert_called_once_with( 'POST', uri, params=params, headers=self.headers)
def test_container_create(self): api = self.api resp = FakeAPIResponse() resp.status_code = 201 api.container._direct_request = Mock(return_value=(resp, None)) name = random_str(32) result = api.container_create(self.account, name, headers=self.headers) self.assertEqual(result, True) uri = "%s/container/create" % self.uri_base params = {'acct': self.account, 'ref': name} self.headers['x-oio-action-mode'] = 'autocreate' data = json.dumps({'properties': {}, 'system': {}}) api.container._direct_request.assert_called_once_with( 'POST', uri, params=params, data=data, headers=self.headers)
def test_create_metadata(self): api = self.api resp = FakeAPIResponse() resp.status_code = 201 api._request = Mock(return_value=(resp, None)) metadata = {} k1 = random_str(32) v1 = random_str(32) k2 = random_str(32) v2 = random_str(32) metadata[k1] = v1 metadata[k2] = v2 api.create(self.account, self.name, metadata) uri = "%s/reference/create" % self.uri_base params = {'acct': self.account, 'ref': self.name} data = json.dumps({'properties': metadata}) api._request.assert_called_once_with( 'POST', uri, params=params, data=data, headers=None)