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