Mini Shell
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import pytest
from libcloud.storage.drivers.dummy import DummyStorageDriver
@pytest.fixture
def driver():
return DummyStorageDriver('key', 'id')
@pytest.fixture
def container_with_contents(driver):
container_name = 'test'
object_name = 'test.dat'
container = driver.create_container(container_name=container_name)
driver.upload_object(
__file__, container=container, object_name=object_name
)
return container_name, object_name
def test_list_container_objects(driver, container_with_contents):
container_name, object_name = container_with_contents
container = driver.get_container(container_name)
objects = driver.list_container_objects(container=container)
assert any(o for o in objects if o.name == object_name)
def test_list_container_objects_filter_by_prefix(
driver, container_with_contents
):
container_name, object_name = container_with_contents
container = driver.get_container(container_name)
objects = driver.list_container_objects(
container=container, prefix=object_name[:3]
)
assert any(o for o in objects if o.name == object_name)
objects = driver.list_container_objects(
container=container, prefix='does-not-exist.dat'
)
assert not objects
Zerion Mini Shell 1.0