diff --git a/.ahoy.yml b/.ahoy.yml index 89ae43cd..1b5e5cf6 100644 --- a/.ahoy.yml +++ b/.ahoy.yml @@ -159,9 +159,12 @@ commands: ) || [ "${ALLOW_BDD_FAIL:-0}" -eq 1 ] elif [ "$BEHAVE_TAG" = "authenticated" ]; then # run any tests that don't have a specific tag - ahoy cli "behave -k ${*:-test/features} --tags=-unauthenticated --tags=-smoke --tags=-OpenData" \ + ahoy cli "behave -k ${*:-test/features} --tags=-unauthenticated --tags=-smoke --tags=-OpenData --tags=-multi_plugin" \ || [ "${ALLOW_BDD_FAIL:-0}" -eq 1 ] else + if [ "$BEHAVE_TAG" != "multi_plugin" ]; then + BEHAVE_TAG="$BEHAVE_TAG --tags=-multi_plugin" + fi # run tests with the specified tag ahoy cli "behave -k ${*:-test/features} --tags=$BEHAVE_TAG" \ || [ "${ALLOW_BDD_FAIL:-0}" -eq 1 ] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e1542fb1..88221ace 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,16 +27,20 @@ jobs: fail-fast: true matrix: ckan-version: ["2.10", 2.9] - behave-tag: [smoke, unauthenticated, OpenData, authenticated] + behave-tag: [smoke, unauthenticated, multi_plugin, OpenData, authenticated] name: Run ${{ matrix.behave-tag }} tests on CKAN ${{ matrix.ckan-version }} runs-on: ubuntu-latest - container: drevops/ci-builder:23.7.0 + container: drevops/ci-runner:23.12.0 env: CKAN_VERSION: ${{ matrix.ckan-version }} BEHAVE_TAG: ${{ matrix.behave-tag }} steps: + # Patch https://github.com/actions/runner/issues/863 + - name: Preserve $HOME set in the container + run: echo HOME=/root >> "$GITHUB_ENV" + - uses: actions/checkout@v4 timeout-minutes: 2 diff --git a/ckanext/data_qld/templates/header.html b/ckanext/data_qld/templates/header.html index 362b04a5..52a13205 100644 --- a/ckanext/data_qld/templates/header.html +++ b/ckanext/data_qld/templates/header.html @@ -109,10 +109,10 @@ {% set dataset_search_route = 'dataset.search' %}
  • Data
  • - News and events + Visualisations
  • - Case studies + News and Case Studies
  • Standards and guidance diff --git a/dev-requirements-2.9-py2.txt b/dev-requirements-2.9-py2.txt index f90152de..0af55c74 100644 --- a/dev-requirements-2.9-py2.txt +++ b/dev-requirements-2.9-py2.txt @@ -14,5 +14,7 @@ splinter>=0.13.0,<0.17 xlrd==1.2.0 python-magic==0.4.18 progressbar==2.5 - pika>=1.1.0,<1.3.0 # resolve harvester conflict +requests>=2.32.0 # not directly required, pinned by Snyk to avoid a vulnerability +urllib3>=2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability +zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability diff --git a/dev-requirements-2.9.txt b/dev-requirements-2.9.txt index 98d88194..b8da3a70 100644 --- a/dev-requirements-2.9.txt +++ b/dev-requirements-2.9.txt @@ -12,5 +12,7 @@ splinter>=0.13.0,<0.17 xlrd==1.2.0 python-magic==0.4.18 progressbar==2.5 - pika>=1.1.0,<1.3.0 # resolve harvester conflict +requests>=2.32.0 # not directly required, pinned by Snyk to avoid a vulnerability +urllib3>=2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability +zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability diff --git a/dev-requirements.txt b/dev-requirements.txt index bf9f4fa3..c6b8e2cb 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,17 +1,21 @@ behaving==3.1.5 Appium-Python-Client==2.10.1 +certifi>=2024.7.4 # not directly required, pinned by Snyk to avoid a vulnerability ckanapi==4.3 ckantoolkit>=0.0.4 factory-boy Faker flake8==6.0.0 +idna>=3.7 # not directly required, pinned by Snyk to avoid a vulnerability mock +pika>=1.1.0,<1.3.0 # resolve harvester conflict +progressbar==2.5 pytest-ckan +python-magic==0.4.18 +requests>=2.32.0 # not directly required, pinned by Snyk to avoid a vulnerability selenium<4.10 six>=1.13.0 -xlrd==1.2.0 -python-magic==0.4.18 -progressbar==2.5 - typer<0.11 # We still need Click 7 for now -pika>=1.1.0,<1.3.0 # resolve harvester conflict +urllib3>=2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability +xlrd==1.2.0 +zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability diff --git a/test/features/admin_reporting.feature b/test/features/admin_reporting.feature index 512c30a0..ad9d63e7 100644 --- a/test/features/admin_reporting.feature +++ b/test/features/admin_reporting.feature @@ -1,5 +1,6 @@ @reporting @OpenData +@multi_plugin Feature: AdminReporting Scenario: As an admin user of my organisation, I can view 'My Reports' tab in the dashboard and show the 'Admin Report' with filters and table columns diff --git a/test/features/comments.feature b/test/features/comments.feature index f38f9881..fa8b7b4e 100644 --- a/test/features/comments.feature +++ b/test/features/comments.feature @@ -1,5 +1,6 @@ @comments @OpenData +@multi_plugin Feature: Comments @unauthenticated diff --git a/test/features/data_qld_theme.feature b/test/features/data_qld_theme.feature index 5b38f112..46e8456b 100644 --- a/test/features/data_qld_theme.feature +++ b/test/features/data_qld_theme.feature @@ -129,3 +129,10 @@ Feature: Theme customisations When I go to "/robots.txt" Then I should see "Disallow: /" And I should not see "Allow:" + + @unauthenticated + Scenario: When I go to the home page, I can see Visualisations and News and Case Studies in the navbar + Given "Unauthenticated" as the persona + When I go to homepage + Then I should see an element with xpath "//a[string()='Visualisations']" + And I should see an element with xpath "//a[string()='News and Case Studies']" \ No newline at end of file diff --git a/test/features/data_usability_rating.feature b/test/features/data_usability_rating.feature index e7336a20..f65e8e80 100644 --- a/test/features/data_usability_rating.feature +++ b/test/features/data_usability_rating.feature @@ -26,8 +26,9 @@ Feature: Data usability rating When I log in And I create a dataset and resource with key-value parameters "license=other-open" and "format=CSV::upload=test_game_data.csv::schema=default" And I press the element with xpath "//ol[contains(@class, 'breadcrumb')]//a[starts-with(@href, '/dataset/')]" - And I reload page every 3 seconds until I see an element with xpath "//div[contains(@class, 'qa') and contains(@class, 'openness-')]" but not more than 10 times + And I reload page every 3 seconds until I see an element with xpath "//div[contains(@class, 'qa') and contains(@class, 'openness-4')]" but not more than 10 times Then I should not see an element with xpath "//div[contains(@class, 'openness-3')]" And I should see an element with xpath "//div[contains(@class, 'openness-4')]" - When I press "Test Resource" + When I take a debugging screenshot + And I press "Test Resource" Then I should see an element with xpath "//div[contains(@class, 'qa openness-4')]" diff --git a/test/features/data_validation.feature b/test/features/data_validation.feature index a70e897f..f0ca0a97 100644 --- a/test/features/data_validation.feature +++ b/test/features/data_validation.feature @@ -1,5 +1,6 @@ @config @OpenData +@multi_plugin Feature: Data Validation Scenario Outline: As a sysadmin, admin and editor user of the dataset organisation I can see the 'JSON' button diff --git a/test/features/datarequest.feature b/test/features/datarequest.feature index 8495d65a..5613f8fb 100644 --- a/test/features/datarequest.feature +++ b/test/features/datarequest.feature @@ -1,5 +1,6 @@ @datarequest @OpenData +@multi_plugin Feature: Data Request @unauthenticated diff --git a/test/features/datarequest_circumstances.feature b/test/features/datarequest_circumstances.feature index c2b5d59a..67bb75c9 100644 --- a/test/features/datarequest_circumstances.feature +++ b/test/features/datarequest_circumstances.feature @@ -1,5 +1,6 @@ @data-requests-circumstances @OpenData +@multi_plugin Feature: Datarequest-circumstances Scenario: As a sysadmin user when I go to the admin config page I can view the data requests closing circumstances textarea diff --git a/test/features/dataset_schema.feature b/test/features/dataset_schema.feature index 1315fcc4..60e4eaf3 100644 --- a/test/features/dataset_schema.feature +++ b/test/features/dataset_schema.feature @@ -1,5 +1,6 @@ @dataset_schema @OpenData +@multi_plugin Feature: Dataset Schema Scenario Outline: Add new dataset metadata fields for default data schema validation diff --git a/test/features/engagement_reporting.feature b/test/features/engagement_reporting.feature index a02ab65a..4144125d 100644 --- a/test/features/engagement_reporting.feature +++ b/test/features/engagement_reporting.feature @@ -1,5 +1,6 @@ @reporting @OpenData +@multi_plugin Feature: Engagement Reporting Scenario Outline: As a user with admin or editor role capacity of an organisation, I can view 'My Reports' tab in the dashboard and show the engagement report with filters diff --git a/test/features/reporting.feature b/test/features/reporting.feature index 27af1505..d18a62d4 100644 --- a/test/features/reporting.feature +++ b/test/features/reporting.feature @@ -1,5 +1,6 @@ @reporting @OpenData +@multi_plugin Feature: Reporting @unauthenticated diff --git a/test/features/schema_generation.feature b/test/features/schema_generation.feature index 1c5a8a8e..bcd130be 100644 --- a/test/features/schema_generation.feature +++ b/test/features/schema_generation.feature @@ -1,4 +1,5 @@ @OpenData +@multi_plugin Feature: Schema Generation Enable worker with `ckan jobs clear && ckan jobs worker`, since these tests rely on background tasks