Initial deploy setup
deploy / deploy (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-21 14:00:00 +02:00
commit b8091e59bd
285 changed files with 27854 additions and 0 deletions
@@ -0,0 +1,86 @@
from io import StringIO
import pytest
from django.core.management import call_command
from apps.sources.models import Source
@pytest.mark.django_db
def test_discover_sources_command_runs_for_all_modes_and_is_replayable():
out = StringIO()
call_command(
"discover_sources",
"html",
"--input",
"fixtures/discovery/html_candidate_discovery.html",
"--base-url",
"https://example.org/",
stdout=out,
)
call_command(
"discover_sources",
"sitemap",
"--input",
"fixtures/discovery/sitemap_index.xml",
"--base-url",
"https://jobs.example.org/",
stdout=out,
)
call_command(
"discover_sources",
"feed",
"--input",
"fixtures/discovery/feed_jobs.xml",
"--base-url",
"https://jobs.example.org/feed/jobs",
stdout=out,
)
call_command(
"discover_sources",
"email",
"--input",
"fixtures/emails/sample_alert.eml",
stdout=out,
)
source_types = {
(source.domain, source.source_type)
for source in Source.objects.filter(status=Source.Status.CANDIDATE)
}
assert ("example.org", Source.Type.EMPLOYER) in source_types
assert ("jobs.example.org", Source.Type.EMPLOYER) in source_types
assert ("example.org", Source.Type.RSS) in source_types
assert ("jobs.example.org", Source.Type.SITEMAP) in source_types
assert ("jobs.example.org", Source.Type.RSS) in source_types
assert "Persist result" in out.getvalue()
out.seek(0)
out.truncate(0)
call_command(
"discover_sources",
"html",
"--input",
"fixtures/discovery/html_candidate_discovery.html",
"--base-url",
"https://example.org/",
stdout=out,
)
assert Source.objects.filter(status=Source.Status.CANDIDATE).count() == 5
@pytest.mark.django_db
def test_discover_sources_dry_run_keeps_db_empty():
out = StringIO()
call_command(
"discover_sources",
"feed",
"--input",
"fixtures/discovery/feed_jobs.xml",
"--base-url",
"https://jobs.example.org/feed/jobs",
"--dry-run",
stdout=out,
)
assert Source.objects.count() == 0
assert "Dry-run modus" in out.getvalue()