コード例 #1
0
 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))
コード例 #2
0
    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)
コード例 #3
0
 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))
コード例 #4
0
ファイル: test_directory.py プロジェクト: bhyvex/oio-sds
    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)
コード例 #5
0
ファイル: test_directory.py プロジェクト: fvennetier/oio-sds
    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)
コード例 #6
0
    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)
コード例 #7
0
    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)
コード例 #8
0
 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))
コード例 #9
0
ファイル: test_directory.py プロジェクト: lanweichang/oio-sds
    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)
コード例 #10
0
ファイル: test_directory.py プロジェクト: fvennetier/oio-sds
    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)
コード例 #11
0
    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)
コード例 #12
0
    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)
コード例 #13
0
    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)
コード例 #14
0
    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)
コード例 #15
0
    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)
コード例 #16
0
ファイル: test_directory.py プロジェクト: fvennetier/oio-sds
    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)