mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-11-22 12:11:26 +00:00
test(service, backup): move dummy service fixtures to conftest.py
This commit is contained in:
parent
bcbe1ff50c
commit
4b2eda25f6
|
@ -3,12 +3,19 @@
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
from os import path
|
|
||||||
|
|
||||||
from fastapi.testclient import TestClient
|
|
||||||
import os.path as path
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
from os import path
|
||||||
|
from os import makedirs
|
||||||
|
from typing import Generator
|
||||||
|
from fastapi.testclient import TestClient
|
||||||
|
|
||||||
|
from selfprivacy_api.utils.huey import huey
|
||||||
|
|
||||||
|
import selfprivacy_api.services as services
|
||||||
|
from selfprivacy_api.services import get_service_by_id, Service
|
||||||
|
from selfprivacy_api.services.test_service import DummyService
|
||||||
|
|
||||||
from selfprivacy_api.models.tokens.token import Token
|
from selfprivacy_api.models.tokens.token import Token
|
||||||
from selfprivacy_api.repositories.tokens.json_tokens_repository import (
|
from selfprivacy_api.repositories.tokens.json_tokens_repository import (
|
||||||
JsonTokensRepository,
|
JsonTokensRepository,
|
||||||
|
@ -19,6 +26,9 @@ from selfprivacy_api.repositories.tokens.redis_tokens_repository import (
|
||||||
|
|
||||||
from tests.common import read_json
|
from tests.common import read_json
|
||||||
|
|
||||||
|
TESTFILE_BODY = "testytest!"
|
||||||
|
TESTFILE_2_BODY = "testissimo!"
|
||||||
|
|
||||||
EMPTY_TOKENS_JSON = ' {"tokens": []}'
|
EMPTY_TOKENS_JSON = ' {"tokens": []}'
|
||||||
|
|
||||||
|
|
||||||
|
@ -147,3 +157,49 @@ def wrong_auth_client(tokens_file, huey_database, jobs_file):
|
||||||
client = TestClient(app)
|
client = TestClient(app)
|
||||||
client.headers.update({"Authorization": "Bearer WRONG_TOKEN"})
|
client.headers.update({"Authorization": "Bearer WRONG_TOKEN"})
|
||||||
return client
|
return client
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture()
|
||||||
|
def raw_dummy_service(tmpdir):
|
||||||
|
dirnames = ["test_service", "also_test_service"]
|
||||||
|
service_dirs = []
|
||||||
|
for d in dirnames:
|
||||||
|
service_dir = path.join(tmpdir, d)
|
||||||
|
makedirs(service_dir)
|
||||||
|
service_dirs.append(service_dir)
|
||||||
|
|
||||||
|
testfile_path_1 = path.join(service_dirs[0], "testfile.txt")
|
||||||
|
with open(testfile_path_1, "w") as file:
|
||||||
|
file.write(TESTFILE_BODY)
|
||||||
|
|
||||||
|
testfile_path_2 = path.join(service_dirs[1], "testfile2.txt")
|
||||||
|
with open(testfile_path_2, "w") as file:
|
||||||
|
file.write(TESTFILE_2_BODY)
|
||||||
|
|
||||||
|
# we need this to not change get_folders() much
|
||||||
|
class TestDummyService(DummyService, folders=service_dirs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
service = TestDummyService()
|
||||||
|
# assert pickle.dumps(service) is not None
|
||||||
|
return service
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture()
|
||||||
|
def dummy_service(
|
||||||
|
tmpdir, raw_dummy_service, generic_userdata
|
||||||
|
) -> Generator[Service, None, None]:
|
||||||
|
service = raw_dummy_service
|
||||||
|
|
||||||
|
# register our service
|
||||||
|
services.services.append(service)
|
||||||
|
|
||||||
|
huey.immediate = True
|
||||||
|
assert huey.immediate is True
|
||||||
|
|
||||||
|
assert get_service_by_id(service.get_id()) is not None
|
||||||
|
service.enable()
|
||||||
|
yield service
|
||||||
|
|
||||||
|
# cleanup because apparently it matters wrt tasks
|
||||||
|
services.services.remove(service)
|
||||||
|
|
|
@ -16,8 +16,6 @@ import tempfile
|
||||||
|
|
||||||
from selfprivacy_api.utils.huey import huey
|
from selfprivacy_api.utils.huey import huey
|
||||||
|
|
||||||
from tests.test_common import dummy_service, raw_dummy_service
|
|
||||||
|
|
||||||
from selfprivacy_api.services import Service, get_all_services
|
from selfprivacy_api.services import Service, get_all_services
|
||||||
from selfprivacy_api.services import get_service_by_id
|
from selfprivacy_api.services import get_service_by_id
|
||||||
from selfprivacy_api.services.service import ServiceStatus
|
from selfprivacy_api.services.service import ServiceStatus
|
||||||
|
|
|
@ -13,7 +13,6 @@ from selfprivacy_api.utils.block_devices import (
|
||||||
resize_block_device,
|
resize_block_device,
|
||||||
)
|
)
|
||||||
from tests.common import read_json
|
from tests.common import read_json
|
||||||
from tests.test_common import dummy_service, raw_dummy_service
|
|
||||||
|
|
||||||
SINGLE_LSBLK_OUTPUT = b"""
|
SINGLE_LSBLK_OUTPUT = b"""
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,70 +1,9 @@
|
||||||
# pylint: disable=redefined-outer-name
|
# pylint: disable=redefined-outer-name
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
import json
|
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from selfprivacy_api.utils import WriteUserData, ReadUserData
|
from selfprivacy_api.utils import WriteUserData, ReadUserData
|
||||||
from selfprivacy_api.utils.huey import huey
|
|
||||||
|
|
||||||
from os import path
|
|
||||||
from os import makedirs
|
|
||||||
from typing import Generator
|
|
||||||
|
|
||||||
# import pickle
|
|
||||||
import selfprivacy_api.services as services
|
|
||||||
from selfprivacy_api.services import get_service_by_id, Service
|
|
||||||
from selfprivacy_api.services.test_service import DummyService
|
|
||||||
|
|
||||||
|
|
||||||
TESTFILE_BODY = "testytest!"
|
|
||||||
TESTFILE_2_BODY = "testissimo!"
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
|
||||||
def raw_dummy_service(tmpdir):
|
|
||||||
dirnames = ["test_service", "also_test_service"]
|
|
||||||
service_dirs = []
|
|
||||||
for d in dirnames:
|
|
||||||
service_dir = path.join(tmpdir, d)
|
|
||||||
makedirs(service_dir)
|
|
||||||
service_dirs.append(service_dir)
|
|
||||||
|
|
||||||
testfile_path_1 = path.join(service_dirs[0], "testfile.txt")
|
|
||||||
with open(testfile_path_1, "w") as file:
|
|
||||||
file.write(TESTFILE_BODY)
|
|
||||||
|
|
||||||
testfile_path_2 = path.join(service_dirs[1], "testfile2.txt")
|
|
||||||
with open(testfile_path_2, "w") as file:
|
|
||||||
file.write(TESTFILE_2_BODY)
|
|
||||||
|
|
||||||
# we need this to not change get_folders() much
|
|
||||||
class TestDummyService(DummyService, folders=service_dirs):
|
|
||||||
pass
|
|
||||||
|
|
||||||
service = TestDummyService()
|
|
||||||
# assert pickle.dumps(service) is not None
|
|
||||||
return service
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
|
||||||
def dummy_service(
|
|
||||||
tmpdir, raw_dummy_service, generic_userdata
|
|
||||||
) -> Generator[Service, None, None]:
|
|
||||||
service = raw_dummy_service
|
|
||||||
|
|
||||||
# register our service
|
|
||||||
services.services.append(service)
|
|
||||||
|
|
||||||
huey.immediate = True
|
|
||||||
assert huey.immediate is True
|
|
||||||
|
|
||||||
assert get_service_by_id(service.get_id()) is not None
|
|
||||||
service.enable()
|
|
||||||
yield service
|
|
||||||
|
|
||||||
# cleanup because apparently it matters wrt tasks
|
|
||||||
services.services.remove(service)
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_api_version(authorized_client):
|
def test_get_api_version(authorized_client):
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
from os import path
|
from os import path
|
||||||
from tests.test_backup import backups
|
from tests.test_backup import backups
|
||||||
from tests.test_common import raw_dummy_service, dummy_service
|
|
||||||
from tests.common import generate_backup_query
|
from tests.common import generate_backup_query
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ from selfprivacy_api.services import get_service_by_id
|
||||||
from selfprivacy_api.services.service import Service, ServiceStatus
|
from selfprivacy_api.services.service import Service, ServiceStatus
|
||||||
from selfprivacy_api.services.test_service import DummyService
|
from selfprivacy_api.services.test_service import DummyService
|
||||||
|
|
||||||
from tests.test_common import raw_dummy_service, dummy_service
|
|
||||||
from tests.common import generate_service_query
|
from tests.common import generate_service_query
|
||||||
from tests.test_graphql.common import assert_empty, assert_ok, get_data
|
from tests.test_graphql.common import assert_empty, assert_ok, get_data
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,6 @@ from selfprivacy_api.services.generic_service_mover import FolderMoveNames
|
||||||
from selfprivacy_api.services.test_service import DummyService
|
from selfprivacy_api.services.test_service import DummyService
|
||||||
from selfprivacy_api.services.service import Service, ServiceStatus, StoppedService
|
from selfprivacy_api.services.service import Service, ServiceStatus, StoppedService
|
||||||
|
|
||||||
from tests.test_common import raw_dummy_service, dummy_service
|
|
||||||
|
|
||||||
|
|
||||||
def test_unimplemented_folders_raises():
|
def test_unimplemented_folders_raises():
|
||||||
with raises(NotImplementedError):
|
with raises(NotImplementedError):
|
||||||
|
|
Loading…
Reference in a new issue