swh:1:snp:eb70f1f85391e4b077c211bec36af0061c4bf937
Raw File
Tip revision: 9c394498ae68fb6a484f1c16e7769227b361b441 authored by Antoine Lambert on 02 August 2018, 13:01:24 UTC
origin_search: Add option to filter out origins with no visit
Tip revision: 9c39449
test_api_client.py
# Copyright (C) 2015-2018  The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information

import shutil
import tempfile
import unittest

from swh.core.tests.server_testing import ServerTestFixture
from swh.storage.tests.test_storage import CommonTestStorage
from swh.storage.api.client import RemoteStorage
from swh.storage.api.server import app


class TestRemoteStorage(CommonTestStorage, ServerTestFixture,
                        unittest.TestCase):
    """Test the remote storage API.

    This class doesn't define any tests as we want identical
    functionality between local and remote storage. All the tests are
    therefore defined in CommonTestStorage.
    """

    def setUp(self):
        # ServerTestFixture needs to have self.objroot for
        # setUp() method, but this field is defined in
        # AbstractTestStorage's setUp()
        # To avoid confusion, override the self.objroot to a
        # one chosen in this class.
        self.storage_base = tempfile.mkdtemp()
        self.config = {
            'storage': {
                'cls': 'local',
                'args': {
                    'db': 'dbname=%s' % self.TEST_STORAGE_DB_NAME,
                    'objstorage': {
                        'cls': 'pathslicing',
                        'args': {
                            'root': self.storage_base,
                            'slicing': '0:2',
                        },
                    },
                }
            }
        }
        self.app = app
        super().setUp()
        self.storage = RemoteStorage(self.url())
        self.objroot = self.storage_base

    def tearDown(self):
        super().tearDown()
        shutil.rmtree(self.storage_base)
back to top