diff --git a/.github/scripts/generate_ci_config.sh b/.github/scripts/generate_ci_config.sh index fa1fc7f..144f7a2 100755 --- a/.github/scripts/generate_ci_config.sh +++ b/.github/scripts/generate_ci_config.sh @@ -111,6 +111,7 @@ if [[ "${WEKO}" == "true" ]]; then WEKO_INDEX_NAME_VALUE=${WEKO_INDEX_NAME:-'Sample Index'} WEKO_DOCKER_COMPOSE_PATH_VALUE=${WEKO_DOCKER_COMPOSE_PATH:-} SWORD_MAPPING_ID_VALUE=${SWORD_MAPPING_ID:-30002} + WEKO_TEST_MODE_VALUE=${WEKO_TEST_MODE:-direct} IGNORE_HTTPS_ERRORS_VALUE=${IGNORE_HTTPS_ERRORS:-false} cat >> "${OUTPUT}" <&2 + exit 1 + fi cat >> "${OUTPUT}" <> "${OUTPUT}" <<'EOF' diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 5dfa497..78ed21a 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -93,6 +93,20 @@ jobs: include_admin: false skip_admin: true skip_metadata: false + skip_autofill: true + minio_enabled: false + weko_enabled: false + jupyterhub_enabled: false + flowable_enabled: false + - name: user-metadata + display_name: "User Tests (Metadata)" + include_admin: false + skip_admin: true + skip_metadata: false + skip_autofill: false + skip_default_storage: true + skip_login: true + skip_130mb_upload: true minio_enabled: false weko_enabled: false jupyterhub_enabled: false @@ -154,6 +168,7 @@ jobs: include_admin: false skip_admin: true skip_metadata: false + skip_autofill: true skip_default_storage: true skip_login: true skip_130mb_upload: true @@ -175,8 +190,21 @@ jobs: weko_enabled: false jupyterhub_enabled: false flowable_enabled: false - - name: user-weko - display_name: "User Tests (WEKO)" + - name: user-weko-direct + display_name: "User Tests (WEKO Direct)" + include_admin: true + skip_admin: true + skip_metadata: true + skip_default_storage: true + skip_login: true + skip_130mb_upload: true + minio_enabled: false + weko_enabled: true + weko_test_mode: direct + jupyterhub_enabled: false + flowable_enabled: false + - name: user-weko-workflow + display_name: "User Tests (WEKO Workflow)" include_admin: true skip_admin: true skip_metadata: true @@ -185,6 +213,7 @@ jobs: skip_130mb_upload: true minio_enabled: false weko_enabled: true + weko_test_mode: workflow jupyterhub_enabled: false flowable_enabled: false - name: user-jupyterhub @@ -199,8 +228,34 @@ jobs: weko_enabled: false jupyterhub_enabled: true flowable_enabled: false - - name: user-workflow - display_name: "User Tests (Flowable)" + - name: user-workflow-roles + display_name: "User Tests (Flowable Roles)" + include_admin: true + skip_admin: true + skip_metadata: true + skip_default_storage: true + skip_login: true + skip_130mb_upload: true + minio_enabled: false + weko_enabled: false + jupyterhub_enabled: false + flowable_enabled: true + workflow_test_mode: roles + - name: user-workflow-forms + display_name: "User Tests (Flowable Forms)" + include_admin: true + skip_admin: true + skip_metadata: true + skip_default_storage: true + skip_login: true + skip_130mb_upload: true + minio_enabled: false + weko_enabled: false + jupyterhub_enabled: false + flowable_enabled: true + workflow_test_mode: forms + - name: user-workflow-batch + display_name: "User Tests (Flowable Batch)" include_admin: true skip_admin: true skip_metadata: true @@ -211,6 +266,7 @@ jobs: weko_enabled: false jupyterhub_enabled: false flowable_enabled: true + workflow_test_mode: batch workflow_batch_project_count: 50 name: E2E ${{ matrix.test-group.display_name }} env: @@ -905,6 +961,7 @@ jobs: echo "WEKO_INSTITUTION_NAME=Virginia Tech [Test]" >> $GITHUB_ENV echo "WEKO_INDEX_NAME=Sample Index" >> $GITHUB_ENV echo "WEKO_DOCKER_COMPOSE_PATH=${{ github.workspace }}/weko/docker-compose2.yml" >> $GITHUB_ENV + echo "WEKO_TEST_MODE=${{ matrix.test-group.weko_test_mode || 'direct' }}" >> $GITHUB_ENV echo "IGNORE_HTTPS_ERRORS=true" >> $GITHUB_ENV - name: Verify RDM containers can connect to WEKO via HTTPS @@ -931,6 +988,7 @@ jobs: run: | echo "GATEWAY_BASE_URL=http://192.168.168.167:8088/" >> $GITHUB_ENV echo "WORKFLOW_BATCH_PROJECT_COUNT=${{ matrix.test-group.workflow_batch_project_count || 50 }}" >> $GITHUB_ENV + echo "WORKFLOW_TEST_MODE=${{ matrix.test-group.workflow_test_mode }}" >> $GITHUB_ENV - name: Install TLJH stack if: env.JUPYTERHUB_ENABLED == 'true' @@ -1069,8 +1127,9 @@ jobs: skip_admin: ${{ matrix.test-group.skip_admin }} skip_login: ${{ matrix.test-group.skip_login || false }} weko_enabled: ${{ matrix.test-group.weko_enabled == true }} + weko_test_mode: ${{ matrix.test-group.weko_test_mode || 'direct' }} enable_1gb_file_upload: false - skip_erad_completion_test: false + skip_autofill: ${{ matrix.test-group.skip_autofill == true }} storages_oauth: [] EOF diff --git a/resources/example-wizard-workflow.zip b/resources/example-wizard-workflow.zip new file mode 100644 index 0000000..7a7e40a Binary files /dev/null and b/resources/example-wizard-workflow.zip differ diff --git a/resources/wizard-upload.pdf b/resources/wizard-upload.pdf new file mode 100644 index 0000000..7930b95 Binary files /dev/null and b/resources/wizard-upload.pdf differ diff --git a/run_tests.py b/run_tests.py index 8a385ea..a3804bf 100644 --- a/run_tests.py +++ b/run_tests.py @@ -46,7 +46,7 @@ def __init__(self, config_path, show_disk_usage=False, failed_result_path=None): self.skip_admin = False self.skip_login = False self.enable_1gb_file_upload = False - self.skip_erad_completion_test = False + self.skip_autofill = False self.jupyterhub_enabled = False self.tljh_url = None self.tljh_username = None @@ -62,6 +62,7 @@ def __init__(self, config_path, show_disk_usage=False, failed_result_path=None): self.weko_index_name = None self.weko_docker_compose_path = None self.sword_mapping_id = 30002 + self.weko_test_mode = 'direct' self.ignore_https_errors = False # S3CompatSigV4 specific parameters self.s3compatsigv4_enabled = False @@ -85,6 +86,7 @@ def __init__(self, config_path, show_disk_usage=False, failed_result_path=None): self.idp_username_other_institution = None self.idp_password_other_institution = None self.workflow_batch_project_count = 50 + self.workflow_test_mode = None self.institution_name = None # Exclude notebooks @@ -374,7 +376,7 @@ def run_metadata_tests(self): idp_username_2=getattr(self, 'idp_username_2', None), idp_password_2=getattr(self, 'idp_password_2', None), skip_failed_test=self.skip_failed_test, - skip_erad_completion_test=self.skip_erad_completion_test, + skip_autofill=self.skip_autofill, exclude_notebooks=self.exclude_notebooks, ) ) @@ -474,6 +476,7 @@ def run_weko_tests(self): weko_index_name=self.weko_index_name, weko_docker_compose_path=self.weko_docker_compose_path, sword_mapping_id=self.sword_mapping_id, + weko_test_mode=self.weko_test_mode, ignore_https_errors=self.ignore_https_errors, idp_name_2=getattr(self, 'idp_name_2', None), idp_username_2=getattr(self, 'idp_username_2', None), @@ -506,6 +509,7 @@ def run_workflow_tests(self): 'idp_username_other_institution', 'idp_password_other_institution', 'institution_name', + 'workflow_test_mode', ] if not getattr(self, name, None) ] @@ -532,6 +536,7 @@ def run_workflow_tests(self): idp_password_other_institution=self.idp_password_other_institution, batch_project_count=self.workflow_batch_project_count, institution_name=self.institution_name, + workflow_test_mode=self.workflow_test_mode, skip_failed_test=self.skip_failed_test, exclude_notebooks=self.exclude_notebooks, ) diff --git a/scripts/metadata_v2025.py b/scripts/metadata_v2025.py index 4d90d58..21e4c7f 100644 --- a/scripts/metadata_v2025.py +++ b/scripts/metadata_v2025.py @@ -28,13 +28,16 @@ class FieldType(Enum): TEXTAREA = "textarea" SELECT = "select" POWER_SELECT = "power_select" + RADIO = "radio" TABLE = "table" + NAME_TABLE = "name_table" class ProjectMetadataForm: """Project metadata form (GRDM metadata registration page). - XPath base: //*[contains(text(), "{label}")]/../following-sibling::... + Ember registries UI uses