graphdb-workbench-tests 3.4.0-TR4 → 3.4.0-TR5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +17 -0
- package/.nycrc +10 -0
- package/cypress-flaky.config.js +20 -6
- package/cypress-legacy.config.js +47 -0
- package/cypress-security.config.js +36 -0
- package/cypress.config.js +45 -6
- package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
- package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +2 -2
- package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
- package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
- package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +10 -18
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +2 -12
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +1 -7
- package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +3 -7
- package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +3 -3
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
- package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
- package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
- package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
- package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
- package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +20 -50
- package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
- package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
- package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
- package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +5 -10
- package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +58 -0
- package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +142 -0
- package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +14 -2
- package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
- package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
- package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +75 -96
- package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
- package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
- package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
- package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +39 -0
- package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +21 -0
- package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
- package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
- package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
- package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
- package/e2e-legacy/graphql/graphql-theme.spec.js +73 -0
- package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
- package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +49 -0
- package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +89 -0
- package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +76 -0
- package/e2e-legacy/guides/connectors/connectors-guide.spec.js +163 -0
- package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +74 -0
- package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +55 -0
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +302 -0
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
- package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +69 -0
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +168 -0
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +158 -0
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +92 -0
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +88 -0
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +372 -0
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
- package/e2e-legacy/help/guides/guides-autostart.spec.js +126 -0
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
- package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
- package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +71 -0
- package/{integration/guides/star-wars-interactive-guide.js → e2e-legacy/help/guides/star-wars-interactive-guide.spec.js} +3 -2
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
- package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
- package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
- package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +182 -0
- package/e2e-legacy/home/documentation-link.spec.js +41 -0
- package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
- package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
- package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
- package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
- package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
- package/e2e-legacy/home/rdf-resource-search.spec.js +160 -0
- package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
- package/{integration → e2e-legacy}/import/import-server-files.spec.js +5 -3
- package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +19 -13
- package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
- package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
- package/{integration → e2e-legacy}/import/import-user-data.spec.js +11 -4
- package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
- package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
- package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
- package/e2e-legacy/license/license-with-repository.spec.js +113 -0
- package/e2e-legacy/license/license-without-repository.spec.js +103 -0
- package/{integration → e2e-legacy}/license/license.spec.js +4 -4
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
- package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
- package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
- package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
- package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
- package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
- package/e2e-legacy/not-found/not-found.spec.js +23 -0
- package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +1 -1
- package/{integration → e2e-legacy}/repository/repositories.spec.js +37 -45
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +181 -0
- package/{integration → e2e-legacy}/resource/resource.spec.js +50 -20
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +84 -0
- package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
- package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +4 -0
- package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
- package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
- package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +6 -7
- package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
- package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
- package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
- package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
- package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +26 -10
- package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +4 -4
- package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
- package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
- package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
- package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
- package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
- package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
- package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
- package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
- package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
- package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
- package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +3 -5
- package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
- package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
- package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
- package/e2e-legacy/setup/settings/my-settings.spec.js +207 -0
- package/{integration/setup/sparql-template-create.js → e2e-legacy/setup/sparql-template/sparql-template-create.spec.js} +16 -8
- package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
- package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
- package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
- package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +184 -87
- package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
- package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
- package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
- package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +10 -8
- package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +1 -6
- package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +1 -1
- package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
- package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +15 -24
- package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +32 -1
- package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
- package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
- package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +2 -12
- package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +54 -0
- package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +5 -18
- package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +106 -0
- package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
- package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +53 -2
- package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +25 -2
- package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +3 -14
- package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +74 -6
- package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +24 -2
- package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +37 -66
- package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +6 -4
- package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +1 -2
- package/e2e-legacy/ttyg/edit-agent.spec.js +178 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
- package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +23 -17
- package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +2 -2
- package/e2e-security/repository/url-with-repository-id-parameter.spec.js +57 -0
- package/e2e-security/setup/home/cookie-policy.spec.js +290 -0
- package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +193 -0
- package/e2e-security/setup/users-and-access/graphql-user.spec.js +126 -0
- package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +70 -0
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +99 -0
- package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
- package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
- package/eslint.config.js +39 -0
- package/fixtures/graph/graph-configurations.json +59 -0
- package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +12 -0
- package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +35 -0
- package/fixtures/guides/class-relations/class-relations-guide.json +33 -0
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
- package/fixtures/guides/connectors/connectors-guide.json +66 -0
- package/fixtures/guides/connectors/lucene-connector-guide.json +120 -0
- package/fixtures/guides/create-repository/create-repository-guide.json +25 -0
- package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +36 -0
- package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +25 -0
- package/fixtures/guides/download-resource.ttl +629 -0
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
- package/fixtures/guides/main-menu/main-menu-guide.json +98 -0
- package/fixtures/guides/navigation/navigation-guide.json +60 -0
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
- package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +74 -0
- package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +26 -0
- package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +22 -0
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
- package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
- package/fixtures/guides/welcome/welcome-guide.json +18 -0
- package/fixtures/repositories/free-access.json +13 -0
- package/fixtures/similarity/get-ttyg-similarity-instances.json +10 -0
- package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
- package/fixtures/ttyg/agent/get-agent-defaults.json +9 -2
- package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
- package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +8 -0
- package/fixtures/ttyg/agent/get-similarity-indexes.json +22 -0
- package/fixtures/ttyg/chats/ask-question-cancel.json +12 -0
- package/fixtures/ttyg/chats/ask-question.json +12 -2
- package/fixtures/ttyg/chats/cancel-question-response.json +1 -0
- package/fixtures/ttyg/chats/create/create-chat-response.json +10 -14
- package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +29 -0
- package/fixtures/ttyg/chats/explain-response-1.json +2 -48
- package/fixtures/ttyg/chats/explain-response-3.json +12 -0
- package/fixtures/ttyg/chats/get-chat.json +6 -1
- package/npm-shrinkwrap.json +11004 -3815
- package/package.json +58 -42
- package/plugins/index.js +10 -5
- package/steps/application-steps.js +8 -6
- package/steps/base-steps.js +29 -0
- package/steps/class-views-steps.js +35 -7
- package/steps/cluster/cluster-page-steps.js +12 -2
- package/steps/cookie-policy/cookie-consent-banner-steps.js +21 -0
- package/steps/cookie-policy/cookie-policy-modal.steps.js +56 -0
- package/steps/error-page-steps.js +9 -0
- package/steps/error-steps.js +15 -3
- package/steps/explore/class-relationships-steps.js +64 -0
- package/steps/explore/graphs-overview-steps.js +21 -1
- package/steps/explore/similarity-index-create-steps.js +5 -3
- package/steps/explore/similarity-indexes-steps.js +16 -2
- package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
- package/steps/graphql/playground-editor-steps.js +46 -0
- package/steps/guides/guide-dialog-steps.js +81 -2
- package/steps/guides/guide-steps.js +54 -2
- package/steps/guides/movies-guide-steps.js +2 -1
- package/steps/header-steps.js +22 -0
- package/steps/home-steps.js +184 -77
- package/steps/import/import-resource-message-dialog.js +1 -1
- package/steps/import/import-steps.js +12 -16
- package/steps/import/import-user-data-steps.js +5 -1
- package/steps/language-selector-steps.js +2 -2
- package/steps/license-steps.js +91 -9
- package/steps/login-steps.js +31 -6
- package/steps/main-menu-steps.js +244 -19
- package/steps/modal-dialog-steps.js +32 -1
- package/steps/monitoring/backup-and-restore-steps.js +9 -3
- package/steps/monitoring/queries-and-updates-steps.js +20 -0
- package/steps/monitoring/system-monitoring-steps.js +40 -0
- package/steps/not-found/not-found-steps.js +23 -0
- package/steps/operations-statuses-component-steps.js +5 -10
- package/steps/rdf-resource-search-steps.js +55 -0
- package/steps/repository-selector-steps.js +3 -3
- package/steps/repository-steps.js +88 -18
- package/steps/resource/resource-steps.js +6 -10
- package/steps/rest-api-documentation-steps.js +15 -0
- package/steps/setup/acl-management-steps.js +18 -2
- package/steps/setup/autocomplete-steps.js +23 -8
- package/steps/setup/connectors-steps.js +32 -0
- package/steps/setup/jdbc-steps.js +18 -4
- package/steps/setup/namespace-steps.js +10 -7
- package/steps/setup/plugins-steps.js +12 -5
- package/steps/setup/rdf-rank-steps.js +23 -9
- package/steps/setup/settings-steps.js +101 -2
- package/steps/setup/sparql-templates-steps.js +19 -1
- package/steps/setup/user-and-access-steps.js +50 -16
- package/steps/shared-modal-dialog-steps.js +45 -0
- package/steps/sparql-editor-steps.js +21 -2
- package/steps/sparql-steps.js +13 -1
- package/steps/system-information-steps.js +70 -0
- package/steps/toaster-steps.js +18 -6
- package/steps/ttyg/chat-panel-steps.js +40 -2
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +136 -31
- package/steps/ttyg/ttyg-view-steps.js +80 -10
- package/steps/visual-graph-split-button-steps.js +45 -0
- package/steps/visual-graph-steps.js +106 -10
- package/steps/widgets/active-repository-widget-steps.js +29 -0
- package/steps/widgets/license-widget-steps.js +9 -0
- package/steps/widgets/repository-errors-widget-steps.js +21 -0
- package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
- package/steps/yasgui/yasgui-loader.js +3 -3
- package/steps/yasgui/yasgui-steps.js +1 -1
- package/steps/yasgui/yasqe-steps.js +35 -4
- package/steps/yasgui/yasr-steps.js +35 -5
- package/stubs/autocomplete/autocomplete-stubs.js +7 -0
- package/stubs/browser-stubs.js +21 -0
- package/stubs/environment-stubs.js +9 -1
- package/stubs/graph-config-stubs.js +17 -0
- package/stubs/guides/guides-stubs.js +103 -0
- package/stubs/license-stubs.js +51 -0
- package/stubs/repositories/repositories-stubs.js +180 -75
- package/stubs/saved-queries-stubs.js +5 -0
- package/stubs/security-stubs.js +12 -0
- package/stubs/similarity-index-stubs.js +4 -0
- package/stubs/sparql-stubs.js +10 -0
- package/stubs/ttyg/ttyg-stubs.js +64 -15
- package/stubs/yasgui/query-stubs.js +5 -1
- package/support/commands.js +22 -1
- package/support/connector-commands.js +13 -0
- package/support/e2e-security.js +9 -0
- package/support/{index.js → e2e.js} +9 -3
- package/support/repository-commands.js +29 -4
- package/support/settings-commands.js +33 -1
- package/support/url-commands.js +13 -0
- package/support/user-commands.js +9 -4
- package/utils/html-util.js +24 -4
- package/Dockerfile +0 -11
- package/fixtures/locale-en.json +0 -3342
- package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
- package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
- package/integration/explore/similarity-index/similarity.spec.js +0 -628
- package/integration/guides/movies-interactive-guide.spec.js +0 -73
- package/integration/home/cookie-policy.spec.js +0 -90
- package/integration/home/documentation-link.spec.js +0 -60
- package/integration/home/language-selector.spec.js +0 -19
- package/integration/home/rdf-resource-search.spec.js +0 -177
- package/integration/home/view-resource-autocomplete.spec.js +0 -52
- package/integration/home/workbench.home.spec.js +0 -30
- package/integration/monitor/monitor.queries.spec.js +0 -31
- package/integration/setup/my-settings.spec.js +0 -289
- package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -57
- package/integration/ttyg/edit-agent.spec.js +0 -99
- package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
- package/stubs/repositories-stub.js +0 -73
- package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
- package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
- package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
- package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
- /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
package/stubs/license-stubs.js
CHANGED
|
@@ -18,6 +18,57 @@ export class LicenseStubs {
|
|
|
18
18
|
}).as('enterpriseLicense');
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
static stubLicenseNotSet() {
|
|
22
|
+
cy.intercept('GET', '/rest/graphdb-settings/license', {
|
|
23
|
+
statusCode: 200,
|
|
24
|
+
body:{
|
|
25
|
+
"installationId": null,
|
|
26
|
+
"message": "No license was set",
|
|
27
|
+
"productType": "unknown",
|
|
28
|
+
"licenseCapabilities": [],
|
|
29
|
+
"present": false,
|
|
30
|
+
"valid": false,
|
|
31
|
+
"version": "Invalid",
|
|
32
|
+
"product": "Invalid",
|
|
33
|
+
"licensee": "Invalid",
|
|
34
|
+
"typeOfUse": "Invalid",
|
|
35
|
+
"maxCpuCores": 0,
|
|
36
|
+
"usageRestriction": "Invalid",
|
|
37
|
+
"expiryDate": 0,
|
|
38
|
+
"latestPublicationDate": 0
|
|
39
|
+
}
|
|
40
|
+
}).as('licenseNotSet');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static stubNoValidLicense() {
|
|
44
|
+
cy.intercept('GET', '/rest/graphdb-settings/license', {
|
|
45
|
+
statusCode: 200,
|
|
46
|
+
body:{
|
|
47
|
+
"installationId": null,
|
|
48
|
+
"message": "The license key expired on 2025-01-31",
|
|
49
|
+
"valid": false,
|
|
50
|
+
"productType": "enterprise",
|
|
51
|
+
"licenseCapabilities": [
|
|
52
|
+
"Lucene connector",
|
|
53
|
+
"Solr connector",
|
|
54
|
+
"Elasticsearch connector",
|
|
55
|
+
"OpenSearch connector",
|
|
56
|
+
"Kafka connector",
|
|
57
|
+
"Cluster"
|
|
58
|
+
],
|
|
59
|
+
"version": null,
|
|
60
|
+
"product": "GRAPHDB_ENTERPRISE",
|
|
61
|
+
"licensee": "ONTOTEXT_INTERNAL",
|
|
62
|
+
"typeOfUse": "Non-commercial research only",
|
|
63
|
+
"usageRestriction": null,
|
|
64
|
+
"expiryDate": 1738274400000,
|
|
65
|
+
"latestPublicationDate": null,
|
|
66
|
+
"maxCpuCores": null,
|
|
67
|
+
"present": true
|
|
68
|
+
}
|
|
69
|
+
}).as('noValidLicense');
|
|
70
|
+
}
|
|
71
|
+
|
|
21
72
|
static stubEvaluationLicense() {
|
|
22
73
|
cy.intercept('GET', '/rest/graphdb-settings/license', {
|
|
23
74
|
statusCode: 200,
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
import {Stubs} from
|
|
2
|
-
import {REPOSITORIES_URL} from
|
|
3
|
-
import {
|
|
1
|
+
import {Stubs} from '../stubs';
|
|
2
|
+
import {REPOSITORIES_URL} from '../../support/repository-commands';
|
|
3
|
+
import {GlobalOperationsStatusesStub} from '../global-operations-statuses-stub.js';
|
|
4
|
+
import repoTemplate from "../../fixtures/repo-template.json";
|
|
4
5
|
|
|
5
6
|
export class RepositoriesStubs extends Stubs {
|
|
6
7
|
static stubRepositories(withDelay = 0, fixture = '/repositories/get-repositories.json') {
|
|
7
8
|
RepositoriesStubs.stubGetQueryResponse('/rest/repositories/all', fixture, 'get-all-repositories', withDelay);
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
static stubFreeAccess(withDelay = 0, fixture = '/repositories/free-access.json') {
|
|
12
|
+
RepositoriesStubs.stubGetQueryResponse('/rest/security/free-access', fixture, 'free-access', withDelay);
|
|
13
|
+
}
|
|
14
|
+
|
|
10
15
|
static spyGetRepositories() {
|
|
11
16
|
cy.intercept('GET', '/rest/repositories/all').as('getRepositories');
|
|
12
17
|
}
|
|
13
18
|
|
|
19
|
+
static spyGetActiveLocations() {
|
|
20
|
+
cy.intercept('GET', '/rest/locations/active').as('getActiveLocations');
|
|
21
|
+
}
|
|
22
|
+
|
|
14
23
|
static stubLocations(withDelay = 0) {
|
|
15
24
|
RepositoriesStubs.stubQueryResponse('/rest/locations', '/repositories/get-locations.json', 'get-locations', withDelay);
|
|
16
25
|
}
|
|
@@ -27,52 +36,52 @@ export class RepositoriesStubs extends Stubs {
|
|
|
27
36
|
this.interceptRepository(repositoryId, 200);
|
|
28
37
|
}
|
|
29
38
|
|
|
30
|
-
static stubGetRepositoryConfig(repositoryId, fixture = '/repositories/get-repository-config.json'
|
|
39
|
+
static stubGetRepositoryConfig(repositoryId, fixture = '/repositories/get-repository-config.json') {
|
|
31
40
|
RepositoriesStubs.stubQueryResponse(`/rest/repositories/${repositoryId}`, fixture, 'get-repository-config');
|
|
32
41
|
}
|
|
33
42
|
|
|
34
43
|
static getFixtureParams() {
|
|
35
44
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
propertiesFile: {
|
|
46
|
+
name: 'propertiesFile',
|
|
47
|
+
label: 'JDBC properties file',
|
|
48
|
+
value: 'repositories/ontop/ontop_jdbc.properties',
|
|
40
49
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
lensesFile: {
|
|
51
|
+
name: 'lensesFile',
|
|
52
|
+
label: 'Lenses file',
|
|
53
|
+
value: '',
|
|
45
54
|
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
isShacl: {
|
|
56
|
+
name: 'isShacl',
|
|
57
|
+
label: 'Enable SHACL validation',
|
|
58
|
+
value: 'false',
|
|
50
59
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
owlFile: {
|
|
61
|
+
name: 'owlFile',
|
|
62
|
+
label: 'Ontology file',
|
|
63
|
+
value: '',
|
|
55
64
|
},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
member: {
|
|
66
|
+
name: 'member',
|
|
67
|
+
label: 'FedX repo members',
|
|
68
|
+
value: [],
|
|
60
69
|
},
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
constraintFile: {
|
|
71
|
+
name: 'constraintFile',
|
|
72
|
+
label: 'Constraint file',
|
|
73
|
+
value: '',
|
|
65
74
|
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
obdaFile: {
|
|
76
|
+
name: 'obdaFile',
|
|
77
|
+
label: 'OBDA or R2RML file',
|
|
78
|
+
value: 'repositories/ontop/university-complete.obda',
|
|
79
|
+
},
|
|
80
|
+
dbMetadataFile: {
|
|
81
|
+
name: 'dbMetadataFile',
|
|
82
|
+
label: 'DB metadata file',
|
|
83
|
+
value: '',
|
|
70
84
|
},
|
|
71
|
-
"dbMetadataFile": {
|
|
72
|
-
"name": "dbMetadataFile",
|
|
73
|
-
"label": "DB metadata file",
|
|
74
|
-
"value": ""
|
|
75
|
-
}
|
|
76
85
|
};
|
|
77
86
|
}
|
|
78
87
|
|
|
@@ -80,14 +89,14 @@ export class RepositoriesStubs extends Stubs {
|
|
|
80
89
|
cy.intercept(`${REPOSITORIES_URL}/${id}?location=`, {
|
|
81
90
|
statusCode,
|
|
82
91
|
body: {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
92
|
+
id: id,
|
|
93
|
+
title: '',
|
|
94
|
+
type: 'ontop',
|
|
95
|
+
sesameType: 'graphdb:OntopRepository',
|
|
96
|
+
location: '',
|
|
97
|
+
hostName: 'localhost',
|
|
98
|
+
params: {...this.getFixtureParams(), ...extraParams},
|
|
99
|
+
},
|
|
91
100
|
});
|
|
92
101
|
}
|
|
93
102
|
|
|
@@ -95,33 +104,39 @@ export class RepositoriesStubs extends Stubs {
|
|
|
95
104
|
cy.intercept(REPOSITORIES_URL + '/all', {
|
|
96
105
|
statusCode: 200,
|
|
97
106
|
body: {
|
|
98
|
-
|
|
107
|
+
'': [
|
|
99
108
|
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
]
|
|
114
|
-
}
|
|
109
|
+
id: repositoryId,
|
|
110
|
+
title: '',
|
|
111
|
+
uri: 'http://address:5423/repositories/ontop',
|
|
112
|
+
externalUrl: 'http://address:5423/repositories/ontop',
|
|
113
|
+
local: true,
|
|
114
|
+
type: 'ontop',
|
|
115
|
+
sesameType: 'graphdb:OntopRepository',
|
|
116
|
+
location: '',
|
|
117
|
+
readable: true,
|
|
118
|
+
writable: true,
|
|
119
|
+
unsupported: false,
|
|
120
|
+
state: 'ACTIVE',
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
},
|
|
115
124
|
}).as('getMockRepositories');
|
|
116
125
|
|
|
117
126
|
cy.intercept(`${REPOSITORIES_URL}/${repositoryId}/restart?location=*`, {
|
|
118
127
|
statusCode: 200,
|
|
119
|
-
body: {}
|
|
128
|
+
body: {},
|
|
120
129
|
}).as('restartRepository');
|
|
121
130
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
131
|
+
RepositoriesStubs.stubBaseEndpoints(repositoryId, [{
|
|
132
|
+
prefix: {
|
|
133
|
+
type: 'literal',
|
|
134
|
+
value: 'agg',
|
|
135
|
+
},
|
|
136
|
+
namespace: {
|
|
137
|
+
type: 'literal',
|
|
138
|
+
value: 'http://jena.apache.org/ARQ/function/aggregate#',
|
|
139
|
+
},
|
|
125
140
|
}]);
|
|
126
141
|
}
|
|
127
142
|
|
|
@@ -129,17 +144,107 @@ export class RepositoriesStubs extends Stubs {
|
|
|
129
144
|
cy.intercept(`${REPOSITORIES_URL}/ontop/jdbc-properties?driverType=*`, {
|
|
130
145
|
statusCode: 200,
|
|
131
146
|
body: {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
147
|
+
id: repositoryId,
|
|
148
|
+
title: '',
|
|
149
|
+
type: 'ontop',
|
|
150
|
+
sesameType: 'graphdb:OntopRepository',
|
|
151
|
+
location: '',
|
|
152
|
+
hostName: 'localhost',
|
|
153
|
+
driverClass: 'postgresql',
|
|
154
|
+
params: this.getFixtureParams(),
|
|
155
|
+
},
|
|
141
156
|
}).as('saveChanges');
|
|
142
157
|
|
|
143
|
-
cy.intercept(`/rest/repositories/${repositoryId}`, {
|
|
158
|
+
cy.intercept(`/rest/repositories/${repositoryId}`, {statusCode: 200});
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
static stubOntopRepository(repositoryId) {
|
|
162
|
+
const alRepositoryResponse = {
|
|
163
|
+
'': [{
|
|
164
|
+
'id': repositoryId,
|
|
165
|
+
'title': '',
|
|
166
|
+
'uri': `http://b:9000/repositories/${repositoryId}`,
|
|
167
|
+
'externalUrl': `http://b:9000/repositories/${repositoryId}`,
|
|
168
|
+
'local': true,
|
|
169
|
+
'type': 'ontop',
|
|
170
|
+
'sesameType': 'graphdb:OntopRepository',
|
|
171
|
+
'location': '',
|
|
172
|
+
'readable': true,
|
|
173
|
+
'writable': true,
|
|
174
|
+
'unsupported': false,
|
|
175
|
+
'state': 'RUNNING',
|
|
176
|
+
}],
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
cy.intercept('GET', '/rest/repositories/all', {
|
|
180
|
+
statusCode: 200,
|
|
181
|
+
body: alRepositoryResponse,
|
|
182
|
+
}).as('all-repositories');
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @param {string} repositoryId
|
|
187
|
+
* @param {[]}namespaces - An instance of array object have to be:
|
|
188
|
+
* {
|
|
189
|
+
* "prefix" : {
|
|
190
|
+
* "type" : "literal",
|
|
191
|
+
* "value" : "agg"
|
|
192
|
+
* },
|
|
193
|
+
* "namespace" : {
|
|
194
|
+
* "type" : "literal",
|
|
195
|
+
* "value" : "http://jena.apache.org/ARQ/function/aggregate#"
|
|
196
|
+
* }
|
|
197
|
+
* }
|
|
198
|
+
*/
|
|
199
|
+
static stubNameSpaces(repositoryId, namespaces = []) {
|
|
200
|
+
const namespacesResponse = {
|
|
201
|
+
'head': {
|
|
202
|
+
'vars': [
|
|
203
|
+
'prefix',
|
|
204
|
+
'namespace',
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
'results': {
|
|
208
|
+
'bindings': namespaces,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
cy.intercept('GET', `/repositories/${repositoryId}/namespaces`, {
|
|
212
|
+
statusCode: 200,
|
|
213
|
+
body: namespacesResponse,
|
|
214
|
+
}).as('namespaces-response');
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
static stubAutocomplete() {
|
|
218
|
+
cy.intercept(`/rest/autocomplete/enabled`, {
|
|
219
|
+
statusCode: 200,
|
|
220
|
+
body: {},
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
static stubBaseEndpoints(repositoryId, namespaces) {
|
|
225
|
+
RepositoriesStubs.stubNameSpaces(repositoryId, namespaces);
|
|
226
|
+
RepositoriesStubs.stubAutocomplete();
|
|
227
|
+
GlobalOperationsStatusesStub.stubNoOperationsResponse('starwars');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
static stubRepositoryModel(repositoryId, options = {}) {
|
|
231
|
+
const body = Cypress._.defaultsDeep(
|
|
232
|
+
{ id: repositoryId, ...options },
|
|
233
|
+
repoTemplate
|
|
234
|
+
);
|
|
235
|
+
cy.intercept('GET', `/rest/repositories/${repositoryId}`, {
|
|
236
|
+
statusCode: 200,
|
|
237
|
+
body
|
|
238
|
+
}).as('repository-model');
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
static stubFtsSearchDisabled(repositoryId) {
|
|
242
|
+
RepositoriesStubs.stubRepositoryModel(repositoryId, {
|
|
243
|
+
params: {
|
|
244
|
+
enableFtsIndex: {
|
|
245
|
+
value: 'false'
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
});
|
|
144
249
|
}
|
|
145
250
|
}
|
package/stubs/security-stubs.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
export class SecurityStubs {
|
|
2
2
|
|
|
3
|
+
static spyOnAuthenticatedUser() {
|
|
4
|
+
cy.intercept('/rest/security/authenticated-user').as('get-authenticated-user')
|
|
5
|
+
}
|
|
6
|
+
|
|
3
7
|
static stubUserSecurity(infer = true, sameAs = true, userName = 'admin') {
|
|
4
8
|
cy.intercept(`rest/security/users/${userName}`, (req) => {
|
|
5
9
|
req.reply(SecurityStubs.getAdminResponse(infer, sameAs));
|
|
6
10
|
}).as('security-get-admin');
|
|
7
11
|
}
|
|
8
12
|
|
|
13
|
+
static spyOnUserCreate() {
|
|
14
|
+
cy.intercept('POST', 'rest/security/users/*').as('create-user');
|
|
15
|
+
}
|
|
16
|
+
|
|
9
17
|
static stubInferAndSameAsDefaults() {
|
|
10
18
|
cy.intercept('rest/security/all', (req) => {
|
|
11
19
|
req.reply(SecurityStubs.getResponseSecurityEnabled());
|
|
12
20
|
}).as('security-all');
|
|
13
21
|
}
|
|
14
22
|
|
|
23
|
+
static spyOnUserUpdate(userName) {
|
|
24
|
+
cy.intercept('PATCH', `rest/security/users/${userName}`).as('updateUser');
|
|
25
|
+
}
|
|
26
|
+
|
|
15
27
|
static stubUpdateUserData(userName) {
|
|
16
28
|
cy.intercept('PATCH', `/rest/security/users/${userName}`, {
|
|
17
29
|
statusCode: 200,
|
|
@@ -29,4 +29,8 @@ export class SimilarityIndexStubs extends Stubs {
|
|
|
29
29
|
}).as('get-ttyg-similarity-indexes');
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
+
|
|
33
|
+
static stubTTYGSimilarityInstances(fixture = '/similarity/get-ttyg-similarity-instances.json', delay = 0) {
|
|
34
|
+
this.stubQueryResponse('/rest/similarity/**/indexes', fixture, 'get-ttyg-similarity-instances', delay);
|
|
35
|
+
}
|
|
32
36
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {Stubs} from './stubs.js';
|
|
2
|
+
|
|
3
|
+
export class SparqlStubs extends Stubs {
|
|
4
|
+
static spyAddKnownPrefixes() {
|
|
5
|
+
cy.intercept('/rest/sparql/add-known-prefixes', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
body: 'PREFIX voc: <https://swapi.co/vocabulary/> SELECT ?name ?height WHERE { ?character voc:height ?height; rdfs:label ?name. FILTER(?name = "Luke Skywalker" || ?name = "Leia Organa") }'
|
|
8
|
+
}).as('addKnownPrefixes')
|
|
9
|
+
}
|
|
10
|
+
}
|
package/stubs/ttyg/ttyg-stubs.js
CHANGED
|
@@ -86,6 +86,18 @@ export class TTYGStubs extends Stubs {
|
|
|
86
86
|
}).as('get-agent-list');
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
static getSimilarityIndexesForRepo(repositoryId, fixture = '/ttyg/agent/get-similarity-indexes.json', delay = 0) {
|
|
90
|
+
cy.intercept('GET', `rest/similarity/${repositoryId}/indexes`, {
|
|
91
|
+
fixture: fixture,
|
|
92
|
+
statusCode: 200,
|
|
93
|
+
delay: delay
|
|
94
|
+
}).as('get-similarity-indexes');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
static stubAgentListWithIncompatibleGet(delay = 0) {
|
|
98
|
+
this.stubAgentListGet('/ttyg/agent/get-agent-list-with-incompatible-agents.json', delay);
|
|
99
|
+
}
|
|
100
|
+
|
|
89
101
|
static stubAgentGet(fixture = '/ttyg/agent/get-agent.json', delay = 0) {
|
|
90
102
|
cy.intercept('GET', '/rest/chat/agents/*', {
|
|
91
103
|
fixture: fixture,
|
|
@@ -94,12 +106,10 @@ export class TTYGStubs extends Stubs {
|
|
|
94
106
|
}).as('get-agent');
|
|
95
107
|
}
|
|
96
108
|
|
|
97
|
-
static stubAgentListGetError() {
|
|
109
|
+
static stubAgentListGetError(error = 'Internal Server Error') {
|
|
98
110
|
cy.intercept('GET', '/rest/chat/agents', {
|
|
99
111
|
statusCode: 500,
|
|
100
|
-
|
|
101
|
-
error: 'Internal Server Error'
|
|
102
|
-
}
|
|
112
|
+
body: error
|
|
103
113
|
}).as('get-agent-list-error');
|
|
104
114
|
}
|
|
105
115
|
|
|
@@ -131,30 +141,60 @@ export class TTYGStubs extends Stubs {
|
|
|
131
141
|
}).as('delete-agent');
|
|
132
142
|
}
|
|
133
143
|
|
|
134
|
-
static stubAgentDefaultsGet() {
|
|
144
|
+
static stubAgentDefaultsGet(fixture = '/ttyg/agent/get-agent-defaults.json') {
|
|
135
145
|
cy.intercept('GET', '/rest/chat/agents/default', {
|
|
136
|
-
fixture
|
|
146
|
+
fixture,
|
|
137
147
|
statusCode: 200
|
|
138
148
|
}).as('get-agent-defaults');
|
|
139
149
|
}
|
|
140
150
|
|
|
141
151
|
static stubAnswerQuestion(fixture = '/ttyg/chats/ask-question.json') {
|
|
142
|
-
cy.intercept('POST', '/rest/chat/
|
|
152
|
+
cy.intercept('POST', '/rest/chat/chats/**/question', {
|
|
143
153
|
fixture,
|
|
144
154
|
statusCode: 200
|
|
145
155
|
}).as('get-agent-defaults');
|
|
146
156
|
}
|
|
147
157
|
|
|
148
|
-
static
|
|
149
|
-
cy.
|
|
158
|
+
static stubAnswerQuestionWithDelay(fixture = '/ttyg/chats/ask-question-cancel.json', delay = 1000) {
|
|
159
|
+
cy.intercept({
|
|
160
|
+
method: 'POST',
|
|
161
|
+
url: '/rest/chat/chats/**/question',
|
|
162
|
+
}, (req) => {
|
|
163
|
+
req.reply({
|
|
164
|
+
fixture,
|
|
165
|
+
statusCode: 200,
|
|
166
|
+
delay
|
|
167
|
+
});
|
|
168
|
+
}).as('get-cancelled-answer');
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
static stubCancelQuestion(fixture = '/ttyg/chats/cancel-question-response.json', delay = 1000) {
|
|
172
|
+
cy.intercept({
|
|
173
|
+
method: 'POST',
|
|
174
|
+
url: 'rest/chat/chats/**/cancel'
|
|
175
|
+
}, (req) => {
|
|
176
|
+
req.reply({
|
|
177
|
+
fixture,
|
|
178
|
+
statusCode: 200,
|
|
179
|
+
delay
|
|
180
|
+
});
|
|
181
|
+
}).as('get-cancel-response');
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
static stubCreateNewChat() {
|
|
185
|
+
cy.intercept('POST', '/rest/chat/chats', {
|
|
186
|
+
fixture: 'ttyg/chats/create/create-chat-response.json',
|
|
187
|
+
statusCode: 200
|
|
188
|
+
}).as('ask-first-chat-question');
|
|
189
|
+
|
|
190
|
+
cy.fixture('ttyg/chats/create/question-response-after-chat-creation.json').then((fixtureData) => {
|
|
150
191
|
const today = Math.floor(Date.now() / 1000) + '';
|
|
151
192
|
const body = JSON.stringify(fixtureData).replace(/"creationDate"/g, today);
|
|
152
|
-
cy.intercept('POST', '/rest/chat/
|
|
193
|
+
cy.intercept('POST', '/rest/chat/chats/**/question', {
|
|
153
194
|
statusCode: 200,
|
|
154
195
|
body: JSON.parse(body)
|
|
155
196
|
}).as('create-chat');
|
|
156
197
|
});
|
|
157
|
-
|
|
158
198
|
}
|
|
159
199
|
|
|
160
200
|
static stubExplainResponse(fixture = '/ttyg/chats/explain-response-1.json') {
|
|
@@ -164,10 +204,19 @@ export class TTYGStubs extends Stubs {
|
|
|
164
204
|
}).as('explain-response');
|
|
165
205
|
}
|
|
166
206
|
|
|
167
|
-
static
|
|
168
|
-
cy.intercept('GET', '
|
|
169
|
-
fixture,
|
|
207
|
+
static getExternalUrl() {
|
|
208
|
+
cy.intercept('GET', 'rest/info/external-url', {
|
|
170
209
|
statusCode: 200,
|
|
171
|
-
|
|
210
|
+
body: 'http://user-pc:7200'
|
|
211
|
+
}).as('external-url');
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
static stubForApiType(type = 'default') {
|
|
215
|
+
const fixtures = {
|
|
216
|
+
default: '/ttyg/agent/get-agent-defaults.json',
|
|
217
|
+
assistants: '/ttyg/agent/get-agent-defaults-assistant-api.json'
|
|
218
|
+
};
|
|
219
|
+
this.stubAgentListGet('/ttyg/agent/get-agent-list-autocomplete-query.json');
|
|
220
|
+
this.stubAgentDefaultsGet(fixtures[type]);
|
|
172
221
|
}
|
|
173
222
|
}
|
|
@@ -85,7 +85,7 @@ export class QueryStubs {
|
|
|
85
85
|
}).as(`query-${page}_${offset}_${limit}_${returnResult}`);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
static stubTotalQueryCount(repositoryId, totalElements, resultType
|
|
88
|
+
static stubTotalQueryCount(repositoryId, totalElements, resultType) {
|
|
89
89
|
const result = QueryStubs.createEmptyResponse(resultType);
|
|
90
90
|
result.results.bindings = [QueryStubs.createTotalResultsCount(resultType, totalElements)];
|
|
91
91
|
cy.intercept(`/repositories/${repositoryId}`, (req) => {
|
|
@@ -221,6 +221,10 @@ export class QueryStubs {
|
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
|
+
|
|
225
|
+
static interceptSavedQueryCreation() {
|
|
226
|
+
cy.intercept('POST', '/rest/sparql/saved-queries').as('saveQuery');
|
|
227
|
+
}
|
|
224
228
|
}
|
|
225
229
|
|
|
226
230
|
export class QueryStubDescription {
|
package/support/commands.js
CHANGED
|
@@ -6,7 +6,9 @@ import './settings-commands';
|
|
|
6
6
|
import './visual-graph-commands';
|
|
7
7
|
import './user-commands';
|
|
8
8
|
import './security-command';
|
|
9
|
+
import './connector-commands';
|
|
9
10
|
import 'cypress-wait-until';
|
|
11
|
+
import './url-commands.js';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Loads fixtures from the given paths recursively and returns them as an array.
|
|
@@ -82,7 +84,26 @@ Cypress.Commands.add("form_request", (url, formData) => {
|
|
|
82
84
|
* @author Sava Savov sava.savov@ontotext.com
|
|
83
85
|
*/
|
|
84
86
|
|
|
85
|
-
Cypress.Commands.add("hideToastContainer", (
|
|
87
|
+
Cypress.Commands.add("hideToastContainer", () => {
|
|
86
88
|
cy.get('.toast-success')
|
|
87
89
|
.then((toastContainer) => toastContainer && toastContainer.remove());
|
|
88
90
|
});
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Get element by testId. Can be chained to another cypress command, or used directly
|
|
95
|
+
*
|
|
96
|
+
* @Example
|
|
97
|
+
* MySteps.getSomething().getByTestId('my-test-id');
|
|
98
|
+
* Or
|
|
99
|
+
* cy.getByTestId('my-test-id');
|
|
100
|
+
*/
|
|
101
|
+
Cypress.Commands.add('getByTestId', {prevSubject: 'optional'}, (subject, testId) => {
|
|
102
|
+
return subject
|
|
103
|
+
? cy.wrap(subject).find(buildTestIdAttr(testId))
|
|
104
|
+
: cy.get(buildTestIdAttr(testId));
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
function buildTestIdAttr(testId) {
|
|
108
|
+
return `[data-test="${testId}"]`;
|
|
109
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const REPOSITORIES_URL = '/repositories/';
|
|
2
|
+
const STATEMENTS_URL = '/statements';
|
|
3
|
+
|
|
4
|
+
Cypress.Commands.add('createConnector', (repositoryId, connectorType, connectorName) => {
|
|
5
|
+
cy.request({
|
|
6
|
+
headers: {
|
|
7
|
+
'content-type': 'application/x-www-form-urlencoded'
|
|
8
|
+
},
|
|
9
|
+
method: 'POST',
|
|
10
|
+
url: REPOSITORIES_URL + repositoryId + STATEMENTS_URL,
|
|
11
|
+
body: `update=PREFIX%20%3A%3Chttp%3A%2F%2Fwww.ontotext.com%2Fconnectors%2F${connectorType}%23%3E%0APREFIX%20inst%3A%3Chttp%3A%2F%2Fwww.ontotext.com%2Fconnectors%2F${connectorType}%2Finstance%23%3E%0AINSERT%20DATA%20%7B%0A%09inst%3A${connectorName}%20%3AcreateConnector%20'''%0A%7B%0A%20%20%22fields%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22fieldName%22%3A%20%22sss%22%2C%0A%20%20%20%20%20%20%22propertyChain%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22rdf%3Alabel%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22indexed%22%3A%20true%2C%0A%20%20%20%20%20%20%22stored%22%3A%20true%2C%0A%20%20%20%20%20%20%22analyzed%22%3A%20true%2C%0A%20%20%20%20%20%20%22multivalued%22%3A%20true%2C%0A%20%20%20%20%20%20%22ignoreInvalidValues%22%3A%20false%2C%0A%20%20%20%20%20%20%22facet%22%3A%20true%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22fieldName%22%3A%20%22description%22%2C%0A%20%20%20%20%20%20%22propertyChain%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22rdfs%3Acomment%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22indexed%22%3A%20true%2C%0A%20%20%20%20%20%20%22stored%22%3A%20true%2C%0A%20%20%20%20%20%20%22analyzed%22%3A%20true%2C%0A%20%20%20%20%20%20%22multivalued%22%3A%20false%2C%0A%20%20%20%20%20%20%22ignoreInvalidValues%22%3A%20false%2C%0A%20%20%20%20%20%20%22facet%22%3A%20false%0A%20%20%20%20%7D%0A%20%20%5D%2C%0A%20%20%22languages%22%3A%20%5B%5D%2C%0A%20%20%22types%22%3A%20%5B%0A%20%20%20%20%22rdf%3Alabel%22%0A%20%20%5D%2C%0A%20%20%22readonly%22%3A%20false%2C%0A%20%20%22detectFields%22%3A%20false%2C%0A%20%20%22importGraph%22%3A%20false%2C%0A%20%20%22skipInitialIndexing%22%3A%20false%2C%0A%20%20%22boostProperties%22%3A%20%5B%5D%2C%0A%20%20%22stripMarkup%22%3A%20false%0A%7D%0A'''%20.%0A%7D%0A`
|
|
12
|
+
}).should((response) => expect(response.status).to.equal(204));
|
|
13
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import './e2e';
|
|
2
|
+
|
|
3
|
+
beforeEach(() => {
|
|
4
|
+
cy.loginAsAdmin();
|
|
5
|
+
// Switch off security after each test to ensure that tests are independent and don't affect each other.
|
|
6
|
+
// For example, if security is enabled in one test, it can cause other tests that don't expect security to fail.
|
|
7
|
+
cy.switchOffSecurity(true);
|
|
8
|
+
cy.switchOffFreeAccess(true);
|
|
9
|
+
});
|