Skip to content

Integration Tests

Integration Tests #445

name: Integration Tests
on:
schedule:
# Runs around midnight Pacific Time (UTC-7)
# Doesn't account for daylight saving transitions
- cron: "0 7 * * *"
workflow_dispatch:
inputs:
MCP_VENUE_DEV_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC API endpoint in MCP Venue Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_TEST_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
type: string
# TODO: add MCP_VENUE_OPS inputs
jobs:
Dev-Venue-Airflow-API:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Dev - Integration tests with Airflow API
id: mcp_venue_dev_integration_tests_with_airflow_api
continue-on-error: true
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_DEV_AIRFLOW_WEBSERVER_PASSWORD }}
UNITY_USER: ${{ secrets.UNITY_USER }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_cwl_workflows_with_airflow_api.py \
--venue="dev" \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
tests_status=${{ steps.mcp_venue_dev_integration_tests_with_airflow_api.outcome }}
echo "Tests Status: $tests_status"
if [ "$tests_status" != "success" ]; then
echo "Integration Tests with Airflow API on MCP Venue Dev failed."
exit 1
fi
Dev-Venue-OGC-API:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Dev - Integration tests with OGC API
id: mcp_venue_dev_integration_tests_with_ogc_api
continue-on-error: true
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_DEV_AIRFLOW_WEBSERVER_PASSWORD }}
UNITY_USER: ${{ secrets.UNITY_USER }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_cwl_workflows_with_ogc_api.py \
--venue="dev" \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
tests_status=${{ steps.mcp_venue_dev_integration_tests_with_ogc_api.outcome }}
echo "Tests Status: $tests_status"
if [ "$tests_status" != "success" ]; then
echo "Integration Tests with OGC API on MCP Venue Dev failed."
exit 1
fi
# Test-Venue-Airflow-API:
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Setup
# uses: ./.github/actions/setup-action
# continue-on-error: false
#
# - name: MCP Venue Test - Integration tests with Airflow API
# id: mcp_venue_test_integration_tests_with_airflow_api
# continue-on-error: true
# env:
# AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
# UNITY_USER: ${{ secrets.UNITY_USER }}
# UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
# run: |
# pytest -vv -s --gherkin-terminal-reporter \
# unity-test/system/integration/step_defs/test_cwl_workflows_with_airflow_api.py \
# --venue="test" \
# --airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }} \
# --ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT }}
#
# - name: Check Tests Results
# if: always()
# run: |
# tests_status=${{ steps.mcp_venue_test_integration_tests_with_airflow_api.outcome }}
# echo "Tests Status: $tests_status"
# if [ "$tests_status" != "success" ]; then
# echo "Integration Tests with Airflow API on MCP Venue Test failed."
# exit 1
# fi
#
# Test-Venue-OGC-API:
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Setup
# uses: ./.github/actions/setup-action
# continue-on-error: false
#
# - name: MCP Venue Test - Integration tests with OGC API
# id: mcp_venue_test_integration_tests_with_ogc_api
# continue-on-error: true
# env:
# AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
# UNITY_USER: ${{ secrets.UNITY_USER }}
# UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
# run: |
# pytest -vv -s --gherkin-terminal-reporter \
# unity-test/system/integration/step_defs/test_cwl_workflows_with_ogc_api.py \
# --venue="test" \
# --airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }} \
# --ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT }}
#
# - name: Check Tests Results
# if: always()
# run: |
# tests_status=${{ steps.mcp_venue_test_integration_tests_with_ogc_api.outcome }}
# echo "Tests Status: $tests_status"
# if [ "$tests_status" != "success" ]; then
# echo "Integration Tests with OGC API on MCP Venue Test failed."
# exit 1
# fi
#