mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-11-18 16:39:13 +00:00
fix: types, add tests
This commit is contained in:
parent
2340a0f8e9
commit
fcdd61006b
|
@ -2,10 +2,11 @@ import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from selfprivacy_api.jobs import JobStatus, Jobs
|
from selfprivacy_api.jobs import JobStatus, Jobs
|
||||||
|
from selfprivacy_api.utils.huey import huey
|
||||||
|
|
||||||
|
|
||||||
COMPLETED_WITH_ERROR = "Completed with an error"
|
COMPLETED_WITH_ERROR = "Completed with an error"
|
||||||
RESULT_WAAS_NOT_FOUND_ERROR = "We are sorry, result was not found :("
|
RESULT_WAS_NOT_FOUND_ERROR = "We are sorry, result was not found :("
|
||||||
CLEAR_COMPLETED = "Сleaning completed."
|
CLEAR_COMPLETED = "Сleaning completed."
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,7 +47,7 @@ def parse_line(line):
|
||||||
JobStatus.FINISHED,
|
JobStatus.FINISHED,
|
||||||
100,
|
100,
|
||||||
COMPLETED_WITH_ERROR,
|
COMPLETED_WITH_ERROR,
|
||||||
RESULT_WAAS_NOT_FOUND_ERROR,
|
RESULT_WAS_NOT_FOUND_ERROR,
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -72,6 +73,7 @@ def stream_process(
|
||||||
set_job_status(
|
set_job_status(
|
||||||
status=JobStatus.RUNNING,
|
status=JobStatus.RUNNING,
|
||||||
progress=int(percent),
|
progress=int(percent),
|
||||||
|
progress=int(percent),
|
||||||
status_text="Сleaning...",
|
status_text="Сleaning...",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -93,6 +95,7 @@ def get_dead_packages(output):
|
||||||
return dead, percent
|
return dead, percent
|
||||||
|
|
||||||
|
|
||||||
|
@huey.task()
|
||||||
def nix_collect_garbage(
|
def nix_collect_garbage(
|
||||||
job,
|
job,
|
||||||
jobs=Jobs,
|
jobs=Jobs,
|
||||||
|
|
|
@ -2,3 +2,4 @@ from selfprivacy_api.utils.huey import huey
|
||||||
from selfprivacy_api.jobs.test import test_job
|
from selfprivacy_api.jobs.test import test_job
|
||||||
from selfprivacy_api.restic_controller.tasks import *
|
from selfprivacy_api.restic_controller.tasks import *
|
||||||
from selfprivacy_api.services.generic_service_mover import move_service
|
from selfprivacy_api.services.generic_service_mover import move_service
|
||||||
|
from selfprivacy_api.jobs.nix_collect_garbage import nix_collect_garbage
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from selfprivacy_api.jobs import JobStatus
|
from selfprivacy_api.jobs import JobStatus
|
||||||
|
from selfprivacy_api.graphql import schema
|
||||||
|
import asyncio
|
||||||
|
import strawberry
|
||||||
|
|
||||||
|
# from selfprivacy_api.graphql.schema import Subscription
|
||||||
|
|
||||||
from selfprivacy_api.jobs.nix_collect_garbage import (
|
from selfprivacy_api.jobs.nix_collect_garbage import (
|
||||||
get_dead_packages,
|
get_dead_packages,
|
||||||
|
@ -12,7 +17,7 @@ from selfprivacy_api.jobs.nix_collect_garbage import (
|
||||||
CLEAR_COMPLETED,
|
CLEAR_COMPLETED,
|
||||||
COMPLETED_WITH_ERROR,
|
COMPLETED_WITH_ERROR,
|
||||||
stream_process,
|
stream_process,
|
||||||
RESULT_WAAS_NOT_FOUND_ERROR,
|
RESULT_WAS_NOT_FOUND_ERROR,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,7 +64,7 @@ def test_parse_line_with_blank_line():
|
||||||
JobStatus.FINISHED,
|
JobStatus.FINISHED,
|
||||||
100,
|
100,
|
||||||
COMPLETED_WITH_ERROR,
|
COMPLETED_WITH_ERROR,
|
||||||
RESULT_WAAS_NOT_FOUND_ERROR,
|
RESULT_WAS_NOT_FOUND_ERROR,
|
||||||
)
|
)
|
||||||
assert parse_line(txt) == output
|
assert parse_line(txt) == output
|
||||||
|
|
||||||
|
@ -146,3 +151,21 @@ def test_nix_collect_garbage_zero_trash():
|
||||||
)
|
)
|
||||||
|
|
||||||
assert log_event == reference
|
assert log_event == reference
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_graphql_nix_collect_garbage():
|
||||||
|
query = """
|
||||||
|
subscription {
|
||||||
|
nixCollectGarbage()
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
schema_for_garbage = strawberry.Schema(
|
||||||
|
query=schema.Query, mutation=schema.Mutation, subscription=schema.Subscription
|
||||||
|
)
|
||||||
|
|
||||||
|
sub = await schema_for_garbage.subscribe(query)
|
||||||
|
for result in sub:
|
||||||
|
assert not result.errors
|
||||||
|
assert result.data == {}
|
||||||
|
|
Loading…
Reference in a new issue