Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed test/tests/__init__.py
Empty file.
18 changes: 0 additions & 18 deletions test/tests/test_dags.py

This file was deleted.

13 changes: 13 additions & 0 deletions test/unit/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import os

from pathlib import Path

import pytest

from airflow.dag_processing.dagbag import DagBag

dag_dir = Path(__file__).resolve().parent.parent.parent / "mokelumne/dags"

@pytest.fixture()
def dagbag() -> DagBag:
return DagBag(dag_folder=dag_dir.resolve(), include_examples=False)
42 changes: 42 additions & 0 deletions test/unit/test_dags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
"""
PyTest cases for Mokelumne DAGs
"""

import pytest

from airflow.dag_processing.dagbag import DagBag

from mokelumne.dags.gen_llm_image_descriptions import gen_llm_image_descriptions

@pytest.fixture
def gen_llm_image_descriptions(dagbag: DagBag):
return dagbag.dags['gen_llm_image_descriptions']

def _downstream(dag, task_id: str) -> set[str]:
return dag.get_task(task_id).downstream_task_ids

def test_dags_load_with_no_errors(dagbag: DagBag) -> None:
assert dagbag.import_errors == {}, \
("Error(s) during Dag import: %s" % dagbag.import_errors)
assert dagbag.size() == 1

class TestGenLlmImageDescriptionsDag:
def test_tasks_are_wired_properly(self, gen_llm_image_descriptions) -> None:
assert _downstream(gen_llm_image_descriptions, "fetch_tind_records.write_query_results_to_xml") == {
"tind_filter.filter_records",
}
assert _downstream(gen_llm_image_descriptions, "tind_filter.filter_records") == {
"fetch_images.read_csv_to_process",
"summarise_job.collate_csvs",
}
assert _downstream(gen_llm_image_descriptions, "fetch_images.write_status_to_fetched_csv") == {
"generate_descriptions.get_prompt",
"generate_descriptions.read_and_batch_csv",
"summarise_job.collate_csvs",
}
assert _downstream(gen_llm_image_descriptions, "generate_descriptions.write_output_csv") == {
"summarise_job.collate_csvs",
}
assert _downstream(gen_llm_image_descriptions, "summarise_job.generate_summary") == {
"notify_user.render_email_template",
}
Loading