Пример #1
0
def test_orderstorage__Orderstorage__truncate__2():
    """It does only truncate the specified namespace."""
    storage = OrderStorage()
    storage.add('foo1', 'bar')
    storage.add('foo2', 'bar')
    storage.add('foo1', 'baz')
    storage.truncate('bar')
    assert [] == storage.byNamespace('bar')
    assert ['foo1'] == storage.byNamespace('baz')
Пример #2
0
def test_orderstorage__Orderstorage__add__4():
    """It allows to add an object to different namespaces."""
    storage = OrderStorage()
    storage.add('foo', 'bar')
    storage.add('foo', 'bar2')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert ['foo'] == storage.byNamespace('bar')
    assert ['foo'] == storage.byNamespace('bar2')
Пример #3
0
def storage():
    """`OrderStorage` filled with some items."""
    storage = OrderStorage()
    storage.add('foo1', 'bar')
    storage.add('foo2', 'bar')
    storage.add('foo3', 'bar')
    storage.add('foo4', 'bar')
    storage.add('baz', 'fuz')
    return storage
Пример #4
0
def test_orderstorage__Orderstorage__add__3():
    """Adding duplicates does not change the sort order."""
    storage = OrderStorage()
    storage.add('foo1', 'bar')
    storage.add('foo3', 'bar')
    storage.add('foo2', 'bar')
    storage.add('foo3', 'bar')
    assert ['foo1', 'foo3', 'foo2'] == storage.byNamespace('bar')
Пример #5
0
def test_orderstorage__Orderstorage__add__2():
    """It does not raise an error when adding an object twice."""
    storage = OrderStorage()
    storage.add('foo', 'bar')
    storage.add('foo', 'bar')
    assert ['bar'] == list(storage.namespaces())
    assert ['foo'] == storage.byNamespace('bar')
Пример #6
0
def test_orderstorage__Orderstorage__remove__2():
    """It raises `KeyError` on remove of an obj from not existing namespace."""
    storage = OrderStorage()
    storage.add('fuz', 'baz')
    with pytest.raises(KeyError):
        storage.remove('foo', 'bar')
Пример #7
0
def test_orderstorage__Orderstorage__remove__1():
    """It allows to remove objects from the order storage."""
    storage = OrderStorage()
    storage.add('foo', 'bar')
    storage.add('foo2', 'bar2')
    storage.add('foo2', 'bar')

    storage.remove('foo', 'bar')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert ['foo2'] == storage.byNamespace('bar')
    assert ['foo2'] == storage.byNamespace('bar2')

    storage.remove('foo2', 'bar2')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert ['foo2'] == storage.byNamespace('bar')
    assert [] == storage.byNamespace('bar2')

    storage.remove('foo2', 'bar')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert [] == storage.byNamespace('bar')
    assert [] == storage.byNamespace('bar2')
Пример #8
0
def test_orderstorage__Orderstorage__add__1():
    """It allows to add objects to namespaces."""
    storage = OrderStorage()
    assert [] == list(storage.namespaces())

    storage.add('foo', 'bar')
    assert ['bar'] == list(storage.namespaces())
    assert ['foo'] == storage.byNamespace('bar')

    storage.add('foo2', 'bar2')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert ['foo'] == storage.byNamespace('bar')
    assert ['foo2'] == storage.byNamespace('bar2')

    storage.add('foo2', 'bar')
    assert ['bar', 'bar2'] == sorted(storage.namespaces())
    assert ['foo', 'foo2'] == storage.byNamespace('bar')
    assert ['foo2'] == storage.byNamespace('bar2')
Пример #9
0
def test_orderstorage__OrderStorage__1():
    """`OrderStorage` fulfills the `IOrderStorage` interface."""
    zope.interface.verify.verifyObject(IOrderStorage, OrderStorage())
Пример #10
0
def test_orderstorage__Orderstorage__truncate__1():
    """It does not create a new namespace when it does not exist."""
    storage = OrderStorage()
    storage.truncate('baz')
    assert [] == sorted(storage.namespaces())
Пример #11
0
def test_orderstorage__Orderstorage__get__3():
    """It raises a `KeyError` if the object was added to another namespace."""
    storage = OrderStorage()
    storage.add('foo1', 'baz')
    with pytest.raises(KeyError):
        storage.get('foo1', 'bar')
Пример #12
0
def test_orderstorage__Orderstorage__get__2():
    """It raises a `KeyError` for a not existing object."""
    storage = OrderStorage()
    storage.add('foo1', 'bar')
    with pytest.raises(KeyError):
        storage.get('foo2', 'bar')
Пример #13
0
def test_orderstorage__Orderstorage__get__1():
    """It raises a `KeyError` for a not existing namespace."""
    with pytest.raises(KeyError):
        OrderStorage().get('foo1', 'bar')
Пример #14
0
def test_orderstorage__Orderstorage__remove__3():
    """It raises `ValueError` on remove of a not existing object."""
    storage = OrderStorage()
    storage.add('fuz', 'bar')
    with pytest.raises(ValueError):
        storage.remove('foo', 'bar')