swiftmock

A mock backend for testing swift.


Keywords
openstack, swift, pytest, mock
License
Apache-2.0
Install
pip install swiftmock==0.0.1

Documentation

swiftmock: A mock backend for testing swift.

🐉 Installation

Install from PyPI:

$ pip install swiftmock

🐉 Usage

Importing directly

You can use swiftmock directly in your code:

from swiftmock.swift import MockConnection
with MockConnection() as conn:
    conn.put_container("fake-container")
    conn.put_object("fake-container", "path/to/object", b"contents")
    header, contents = conn.get_object("fake-container", "path/to/object")
assert contents == b"contents"

Using with Pytest

You can also use this library as a pytest plugin.

def my_test_using_swift(mock_swift):
    # optional, the mock automatically replaces *swiftclient.client.Connection*
    # so that it automatically returns the mocked instance
    mock_swift.put_container("fake-container")
    with pytest.assert_raises(swiftclient.exceptions.ClientException):
        mock_swift.get_object("fake-container", "non/existent/object")