Exemple #1
0
def storage():
    base_storage = ModelStorage(
        sql_mapi.SQLAlchemyModelAPI,
        initiator=tests_storage.init_inmemory_model_storage)
    base_storage.register(tests_modeling.MockModel)
    yield base_storage
    tests_storage.release_sqlite_storage(base_storage)
def test_model_storage():
    storage = ModelStorage(InMemoryModelDriver())
    storage.register(models.ProviderContext)
    storage.setup()

    pc = models.ProviderContext(context={}, name='context_name', id='id1')
    storage.provider_context.store(pc)

    assert storage.provider_context.get('id1') == pc

    assert [pc_from_storage for pc_from_storage in storage.provider_context.iter()] == [pc]
    assert [pc_from_storage for pc_from_storage in storage.provider_context] == [pc]

    storage.provider_context.update('id1', context={'update_key': 0})
    assert storage.provider_context.get('id1').context == {'update_key': 0}

    storage.provider_context.delete('id1')
    with pytest.raises(StorageError):
        storage.provider_context.get('id1')
def test_storage_driver():
    storage = ModelStorage(InMemoryModelDriver())
    storage.register(models.ProviderContext)
    storage.setup()
    pc = models.ProviderContext(context={}, name='context_name', id='id2')
    storage.driver.store(name='provider_context', entry=pc.fields_dict, entry_id=pc.id)

    assert storage.driver.get(
        name='provider_context',
        entry_id='id2',
        model_cls=models.ProviderContext) == pc.fields_dict

    assert [i for i in storage.driver.iter(name='provider_context')] == [pc.fields_dict]
    assert [i for i in storage.provider_context] == [pc]

    storage.provider_context.delete('id2')

    with pytest.raises(StorageError):
        storage.provider_context.get('id2')
Exemple #4
0
def storage():
    base_storage = ModelStorage(sql_mapi.SQLAlchemyModelAPI,
                                api_kwargs=get_sqlite_api_kwargs())
    base_storage.register(MockModel)
    yield base_storage
    release_sqlite_storage(base_storage)