diff --git a/.github/workflows/run-pytest.yml b/.github/workflows/run-pytest.yml new file mode 100644 index 0000000..f42c678 --- /dev/null +++ b/.github/workflows/run-pytest.yml @@ -0,0 +1,36 @@ +name: Python application test with pytest +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build_test: + name: Build and Test + runs-on: ubuntu-latest + steps: + - name: Checkout + if: ${{ github.event_name == 'push' }} + uses: actions/checkout@v3 + + - name: Checkout PR + if: ${{ github.event_name == 'pull_request' }} + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Install Python 3 + uses: actions/setup-python@v4 + with: + python-version: 3.10.11 + + - name: Install python dependencies + run: | + pip install --upgrade pip + pip install --no-cache-dir --upgrade setuptools + pip install --no-cache-dir --upgrade wheel + pip install -r requirements.txt + + - name: Test with pytest + run: pytest diff --git a/Dockerfile b/Dockerfile index 8e4eac8..54d5944 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ ENV AIRFLOW__LOGGING__LOGGING_LEVEL=INFO # install your pip packages COPY requirements.txt ./requirements.txt +COPY requirements-test.txt ./requirements-test.txt COPY dags ./dags COPY airflow.cfg ./airflow.cfg @@ -15,4 +16,4 @@ COPY airflow.cfg ./airflow.cfg RUN pip install --upgrade pip &&\ pip install --no-cache-dir --upgrade setuptools==59.1.1 &&\ pip install --no-cache-dir --upgrade wheel &&\ - pip install --no-cache-dir --user -r requirements.txt + pip install --no-cache-dir --user -r requirements-test.txt -r requirements.txt diff --git a/tests/unit/test_test_dag.py b/tests/unit/test_test_dag.py new file mode 100644 index 0000000..636af16 --- /dev/null +++ b/tests/unit/test_test_dag.py @@ -0,0 +1,9 @@ +from dags.test.test_dag import fetch, pull + + +def test_test_dag_fetch(): + assert fetch() == "Test String" + + +def test_test_dag_pull(): + assert pull("Test String") == "Test String"