コード例 #1
0
    def test_null_container(self):
        httpretty.register_uri(HEAD,
                               util.STORAGE_URL + '/contname',
                               status=404)

        c = Container(self.client, 'contname')
        self.assertFalse(c.exists())
コード例 #2
0
    def test_create_new(self):
        httpretty.register_uri(HEAD, util.STORAGE_URL + '/notyet', status=404)

        c = Container(self.client, 'notyet')

        # Shouldn't raise.
        created = c.create()
        self.assertIs(created, c)
コード例 #3
0
    def test_create_if_necessary(self):
        c = Container(self.client, 'notyet')

        httpretty.register_uri(PUT, util.STORAGE_URL + '/notyet', status=201)

        # Shouldn't raise
        created = c.create_if_necessary()
        self.assertIs(created, c)
コード例 #4
0
    def test_delete_null_container_if_necessary(self):
        httpretty.register_uri(DELETE,
                               util.STORAGE_URL + '/contname',
                               status=404)

        c = Container(self.client, 'contname')

        # Shouldn't raise.
        c.delete_if_necessary()
コード例 #5
0
    def test_create_if_necessary_noop(self):
        httpretty.register_uri(HEAD,
                               util.STORAGE_URL + '/contname',
                               status=202,
                               x_container_object_count=1234,
                               x_container_bytes_used=102400)
        c = Container(self.client, 'contname')

        self.assertIs(c, c.create_if_necessary())
コード例 #6
0
    def test_create_existing(self):
        httpretty.register_uri(PUT, util.STORAGE_URL + '/contname', status=202)
        c = Container(self.client, 'contname')

        try:
            c.create()
            self.fail(
                "Did not raise on creation of already existing container")
        except AlreadyExistsError:
            pass
コード例 #7
0
    def test_delete_existing_if_necessary(self):
        httpretty.register_uri(DELETE,
                               util.STORAGE_URL + '/contname',
                               status=204)

        c = Container(self.client, 'contname')

        # Shouldn't raise.
        c.delete_if_necessary()

        self.assertEqual('DELETE', httpretty.last_request().method)
コード例 #8
0
    def test_get_container_metadata(self):
        httpretty.register_uri(HEAD,
                               util.STORAGE_URL + '/contname',
                               status=204,
                               x_container_object_count=1234,
                               x_container_bytes_used=102400,
                               x_container_meta_meta1='a value')

        c = Container(self.client, 'contname')
        self.assertTrue(c.exists())
        self.assertEqual(1234, c.object_count)
        self.assertEqual(102400, c.bytes_used)
        self.assertEqual('a value', c.metadata['meta1'])
コード例 #9
0
    def test_null_container_metadata(self):
        httpretty.register_uri(HEAD,
                               util.STORAGE_URL + '/contname',
                               status=404)

        c = Container(self.client, 'contname')
        try:
            c.metadata
            self.fail(
                "Did not raise error accessing the metadata for a nonexistent container"
            )
        except DoesNotExistError:
            # Expected
            pass
コード例 #10
0
    def test_delete_null_container(self):
        httpretty.register_uri(DELETE,
                               util.STORAGE_URL + '/contname',
                               status=404)

        c = Container(self.client, 'contname')

        try:
            c.delete()
            self.fail(
                "Did not raise exception attempting to delete missing container"
            )
        except DoesNotExistError:
            # Expected
            pass
コード例 #11
0
    def test_delete_container_metadata(self):
        httpretty.register_uri(HEAD,
                               util.STORAGE_URL + '/contname',
                               status=204,
                               x_container_object_count=1234,
                               x_container_bytes_used=102400,
                               x_container_meta_meta1='a value')
        httpretty.register_uri(POST,
                               util.STORAGE_URL + '/contname',
                               status=200)

        c = Container(self.client, 'contname')
        del c.metadata['meta1']
        c.metadata.save()

        hs = httpretty.last_request().headers
        self.assertEqual('', hs['X-Container-Meta-Meta1'])