Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/tests/test_api_client.py
# Copyright (C) 2015-2018 The Software Heritage developers | # Copyright (C) 2015-2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from contextlib import contextmanager | |||||
import shutil | import shutil | ||||
import tempfile | import tempfile | ||||
import unittest | import unittest | ||||
import pytest | import pytest | ||||
from swh.core.api.tests.server_testing import ServerTestFixture | from swh.core.api.tests.server_testing import ServerTestFixture | ||||
from swh.journal.writer import get_journal_writer | from swh.journal.writer import get_journal_writer | ||||
from swh.storage.api.client import RemoteStorage | from swh.storage.api.client import RemoteStorage | ||||
import swh.storage.api.server as server | import swh.storage.api.server as server | ||||
from swh.storage.api.server import app | from swh.storage.api.server import app | ||||
from swh.storage.in_memory import Storage as InMemoryStorage | from swh.storage.in_memory import Storage as InMemoryStorage | ||||
import swh.storage.storage | import swh.storage.storage | ||||
from swh.storage.db import Db | |||||
from swh.storage.tests.test_storage import \ | from swh.storage.tests.test_storage import \ | ||||
CommonTestStorage, CommonPropTestStorage, StorageTestDbFixture | CommonTestStorage, CommonPropTestStorage, StorageTestDbFixture | ||||
class RemotePgStorageFixture(StorageTestDbFixture, ServerTestFixture, | class RemotePgStorageFixture(StorageTestDbFixture, ServerTestFixture, | ||||
unittest.TestCase): | unittest.TestCase): | ||||
def setUp(self): | def setUp(self): | ||||
journal_writer = get_journal_writer(cls='memory') | journal_writer = get_journal_writer(cls='memory') | ||||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | def tearDown(self): | ||||
shutil.rmtree(self.storage_base) | shutil.rmtree(self.storage_base) | ||||
swh.storage.storage.get_journal_writer = self.get_journal_writer | swh.storage.storage.get_journal_writer = self.get_journal_writer | ||||
def reset_storage(self): | def reset_storage(self): | ||||
excluded = {'dbversion', 'tool'} | excluded = {'dbversion', 'tool'} | ||||
self.reset_db_tables(self.TEST_DB_NAME, excluded=excluded) | self.reset_db_tables(self.TEST_DB_NAME, excluded=excluded) | ||||
self.journal_writer.objects[:] = [] | self.journal_writer.objects[:] = [] | ||||
@contextmanager | |||||
def get_db(self): | |||||
yield Db(self.conn) | |||||
class RemoteMemStorageFixture(ServerTestFixture, unittest.TestCase): | class RemoteMemStorageFixture(ServerTestFixture, unittest.TestCase): | ||||
def setUp(self): | def setUp(self): | ||||
self.config = { | self.config = { | ||||
'storage': { | 'storage': { | ||||
'cls': 'memory', | 'cls': 'memory', | ||||
'args': { | 'args': { | ||||
'journal_writer': { | 'journal_writer': { | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |