graphdb-workbench-tests 3.4.0-TR2 → 3.4.0-TR4
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/Dockerfile +11 -0
- package/cypress-flaky.config.js +6 -20
- package/cypress.config.js +6 -45
- package/fixtures/locale-en.json +3342 -0
- package/fixtures/ttyg/agent/get-agent-defaults.json +2 -9
- package/fixtures/ttyg/chats/ask-question.json +2 -12
- package/fixtures/ttyg/chats/create/create-chat-response.json +14 -10
- package/fixtures/ttyg/chats/explain-response-1.json +48 -2
- package/fixtures/ttyg/chats/get-chat.json +1 -6
- package/{e2e-legacy → integration}/cluster/cluster-states.spec.js +3 -3
- package/{e2e-legacy/explore/class-hierarchy → integration/explore}/class.hierarchy.spec.js +1 -1
- package/{e2e-legacy/explore/class-relationships/class-relationships.spec.js → integration/explore/class.relationships.spec.js} +50 -20
- package/{e2e-legacy/explore/graphs-overview → integration/explore}/graphs.overview.spec.js +4 -4
- package/integration/explore/similarity-index/similarity-index-create.spec.js +333 -0
- package/integration/explore/similarity-index/similarity-index.spec.js +88 -0
- package/integration/explore/similarity-index/similarity.spec.js +628 -0
- package/{e2e-legacy → integration}/explore/visual-graph/graphs-config.spec.js +10 -5
- package/{e2e-legacy → integration}/explore/visual-graph/visual-graph-node-labels.spec.js +2 -14
- package/{e2e-legacy → integration}/explore/visual-graph/visual.graph.spec.js +96 -75
- package/{e2e-legacy → integration}/graphql/create-graphql-endpoint.spec.js +2 -0
- package/{e2e-legacy → integration}/graphql/edit-graphql-enpoint.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/graphql-endpoint-management-view.spec.js +4 -4
- package/{e2e-legacy → integration}/graphql/graphql-playground.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/import-graphql-endpoint-definitions.spec.js +6 -0
- package/integration/guides/movies-interactive-guide.spec.js +73 -0
- package/{e2e-legacy/help/guides/star-wars-interactive-guide.spec.js → integration/guides/star-wars-interactive-guide.js} +2 -3
- package/integration/home/cookie-policy.spec.js +90 -0
- package/integration/home/documentation-link.spec.js +60 -0
- package/{e2e-legacy → integration}/home/google-analytics.spec.js +6 -4
- package/{e2e-legacy → integration}/home/language-change.spec.js +2 -2
- package/integration/home/language-selector.spec.js +19 -0
- package/integration/home/rdf-resource-search.spec.js +177 -0
- package/integration/home/view-resource-autocomplete.spec.js +52 -0
- package/integration/home/workbench.home.spec.js +30 -0
- package/{e2e-legacy → integration}/import/import-server-files.spec.js +3 -5
- package/{e2e-legacy → integration}/import/import-user-data-file-upload.spec.js +13 -19
- package/{e2e-legacy → integration}/import/import-user-data-text-snippet.spec.js +2 -0
- package/{e2e-legacy → integration}/import/import-user-data-url.spec.js +23 -0
- package/{e2e-legacy → integration}/import/import-user-data.spec.js +4 -11
- package/{e2e-legacy → integration}/license/license.spec.js +4 -4
- package/{e2e-legacy → integration}/monitor/global-operation-statuses-component.spec.js +5 -12
- package/{e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js → integration/monitor/monitor.backup-and-restore.spec.js} +2 -2
- package/integration/monitor/monitor.queries.spec.js +31 -0
- package/{e2e-legacy/monitor/system → integration/monitor}/monitor.resources.spec.js +2 -3
- package/{e2e-legacy → integration}/repository/ontop-repository.spec.js +1 -1
- package/{e2e-legacy → integration}/repository/repositories.spec.js +45 -37
- package/{e2e-legacy → integration}/resource/resource.spec.js +7 -17
- package/{e2e-legacy → integration}/setup/aclmanagement/create-rule.spec.js +0 -4
- package/{e2e-legacy/setup/autocomplete → integration/setup}/autocomplete.spec.js +7 -6
- package/{e2e-legacy → integration}/setup/connectors-lucene.spec.js +10 -26
- package/{e2e-legacy → integration}/setup/jdbc/jdbc-create.spec.js +4 -4
- package/integration/setup/my-settings.spec.js +289 -0
- package/{e2e-legacy/setup/namespaces → integration/setup}/namespaces.spec.js +5 -6
- package/{e2e-legacy/setup/plugins → integration/setup}/plugins.spec.js +3 -3
- package/{e2e-legacy/setup/rdf-rank → integration/setup}/rdf-rank.spec.js +5 -3
- package/{e2e-legacy/setup/sparql-template/sparql-template-create.spec.js → integration/setup/sparql-template-create.js} +8 -16
- package/{e2e-legacy/setup/sparql-template → integration/setup}/sparql-templates.spec.js +4 -4
- package/{e2e-legacy/setup/users-and-access → integration/setup}/user-and-access.spec.js +87 -184
- package/{e2e-legacy → integration}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
- package/{e2e-legacy → integration}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
- package/{e2e-legacy → integration}/sparql-editor/actions/inferred-sameas.spec.js +8 -10
- package/{e2e-legacy → integration}/sparql-editor/actions/show-saved-queries.spec.js +6 -1
- package/{e2e-legacy → integration}/sparql-editor/saved-query/abort-query.spec.js +1 -1
- package/{e2e-legacy → integration}/sparql-editor/saved-query/edit-query.spec.js +3 -3
- package/{e2e-legacy → integration}/sparql-editor/saved-query/readonly-query.spec.js +24 -15
- package/{e2e-legacy → integration}/sparql-editor/saved-query/share-query.spec.js +1 -32
- package/{e2e-legacy → integration}/sparql-editor/yasgui-tabs.spec.js +12 -2
- package/{e2e-legacy → integration}/sparql-editor/yasr/pagination.spec.js +18 -5
- package/{e2e-legacy → integration}/sparql-editor/yasr/table-plugin.spec.js +6 -1
- package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +57 -0
- package/{e2e-legacy → integration}/ttyg/agent-list.spec.js +2 -53
- package/{e2e-legacy → integration}/ttyg/agent-select-menu.spec.js +2 -25
- package/{e2e-legacy → integration}/ttyg/chat-list.spec.js +14 -3
- package/{e2e-legacy → integration}/ttyg/chat-panel.spec.js +6 -74
- package/{e2e-legacy → integration}/ttyg/clone-agent.spec.js +2 -24
- package/{e2e-legacy → integration}/ttyg/create-agent.spec.js +66 -37
- package/{e2e-legacy → integration}/ttyg/create-chat.spec.js +4 -6
- package/{e2e-legacy → integration}/ttyg/delete-agent.spec.js +2 -1
- package/integration/ttyg/edit-agent.spec.js +99 -0
- package/{e2e-legacy → integration}/ttyg/ttyg-view.spec.js +2 -2
- package/{e2e-flaky → integration-flaky}/explore/visual.graph.spec.js +1 -4
- package/{e2e-flaky → integration-flaky}/import/import-server-files-operations.spec.js +2 -2
- package/{e2e-flaky → integration-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
- package/{e2e-flaky → integration-flaky}/setup/sparql-template-create.js +18 -10
- package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +54 -0
- package/{e2e-flaky → integration-flaky}/sparql-editor/actions/execute-update-query.spec.js +12 -2
- package/{e2e-flaky → integration-flaky}/sparql-editor/actions/share-query.spec.js +7 -1
- package/{e2e-flaky → integration-flaky}/sparql-editor/yasr/table-plugin.spec.js +7 -3
- package/{e2e-legacy → integration-flaky}/ttyg/ttyg-permission.spec.js +17 -23
- package/npm-shrinkwrap.json +3815 -11004
- package/package.json +42 -58
- package/plugins/index.js +5 -10
- package/steps/application-steps.js +6 -8
- package/steps/class-views-steps.js +7 -35
- package/steps/cluster/cluster-page-steps.js +2 -12
- package/steps/error-steps.js +3 -15
- package/steps/explore/graphs-overview-steps.js +1 -21
- package/steps/explore/similarity-index-create-steps.js +3 -5
- package/steps/explore/similarity-indexes-steps.js +2 -16
- package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
- package/steps/guides/guide-dialog-steps.js +2 -81
- package/steps/guides/guide-steps.js +2 -54
- package/steps/home-steps.js +77 -184
- package/steps/import/import-resource-message-dialog.js +1 -1
- package/steps/import/import-steps.js +16 -12
- package/steps/import/import-user-data-steps.js +1 -5
- package/steps/language-selector-steps.js +2 -2
- package/steps/license-steps.js +9 -91
- package/steps/login-steps.js +6 -31
- package/steps/main-menu-steps.js +19 -244
- package/steps/modal-dialog-steps.js +1 -32
- package/steps/monitoring/backup-and-restore-steps.js +3 -9
- package/steps/operations-statuses-component-steps.js +10 -5
- package/steps/repository-selector-steps.js +3 -3
- package/steps/repository-steps.js +18 -64
- package/steps/resource/resource-steps.js +2 -6
- package/steps/setup/acl-management-steps.js +2 -6
- package/steps/setup/autocomplete-steps.js +8 -23
- package/steps/setup/jdbc-steps.js +4 -18
- package/steps/setup/namespace-steps.js +7 -10
- package/steps/setup/plugins-steps.js +5 -12
- package/steps/setup/rdf-rank-steps.js +9 -23
- package/steps/setup/settings-steps.js +2 -101
- package/steps/setup/sparql-templates-steps.js +1 -19
- package/steps/setup/user-and-access-steps.js +16 -50
- package/steps/sparql-editor-steps.js +2 -8
- package/steps/sparql-steps.js +1 -13
- package/steps/toaster-steps.js +6 -18
- package/steps/ttyg/chat-panel-steps.js +2 -40
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +31 -136
- package/steps/ttyg/ttyg-view-steps.js +10 -80
- package/steps/visual-graph-steps.js +10 -106
- package/steps/yasgui/yasgui-loader.js +3 -3
- package/steps/yasgui/yasgui-steps.js +1 -1
- package/steps/yasgui/yasqe-steps.js +4 -35
- package/steps/yasgui/yasr-steps.js +3 -73
- package/stubs/autocomplete/autocomplete-stubs.js +0 -7
- package/stubs/environment-stubs.js +1 -9
- package/stubs/license-stubs.js +0 -51
- package/stubs/repositories/repositories-stubs.js +75 -180
- package/stubs/repositories-stub.js +73 -0
- package/stubs/security-stubs.js +0 -12
- package/stubs/similarity-index-stubs.js +0 -4
- package/stubs/ttyg/ttyg-stubs.js +15 -64
- package/stubs/yasgui/query-stubs.js +1 -5
- package/support/commands.js +1 -22
- package/support/{e2e.js → index.js} +3 -9
- package/support/repository-commands.js +4 -29
- package/support/settings-commands.js +1 -33
- package/support/user-commands.js +4 -9
- package/utils/html-util.js +4 -24
- package/.editorconfig +0 -17
- package/.nycrc +0 -10
- package/cypress-legacy.config.js +0 -47
- package/cypress-security.config.js +0 -36
- package/e2e-flaky/import/import-user-data-url.spec.js +0 -63
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +0 -42
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +0 -43
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +0 -30
- package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +0 -42
- package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +0 -39
- package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +0 -21
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +0 -44
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +0 -32
- package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +0 -38
- package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +0 -21
- package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +0 -58
- package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +0 -140
- package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +0 -38
- package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +0 -21
- package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +0 -43
- package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +0 -39
- package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +0 -21
- package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +0 -40
- package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +0 -38
- package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +0 -22
- package/e2e-legacy/graphql/graphql-theme.spec.js +0 -73
- package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +0 -49
- package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +0 -89
- package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +0 -76
- package/e2e-legacy/guides/connectors/connectors-guide.spec.js +0 -163
- package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +0 -74
- package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +0 -55
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +0 -92
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +0 -63
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +0 -105
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +0 -302
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +0 -64
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +0 -42
- package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +0 -69
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +0 -167
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +0 -157
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +0 -92
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +0 -88
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +0 -372
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +0 -36
- package/e2e-legacy/help/guides/guides-autostart.spec.js +0 -126
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +0 -83
- package/e2e-legacy/help/guides/guides-with-repository.spec.js +0 -32
- package/e2e-legacy/help/guides/guides-without-repository.spec.js +0 -20
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +0 -71
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +0 -32
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +0 -20
- package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +0 -32
- package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +0 -20
- package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +0 -182
- package/e2e-legacy/home/documentation-link.spec.js +0 -41
- package/e2e-legacy/home/home-page-with-selected-repository.spec.js +0 -69
- package/e2e-legacy/home/home-page-without-repositories.spec.js +0 -87
- package/e2e-legacy/home/home-page-without-selected-repository.spec.js +0 -59
- package/e2e-legacy/home/rdf-resource-search.spec.js +0 -160
- package/e2e-legacy/home/view-resource-autocomplete.spec.js +0 -65
- package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +0 -51
- package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +0 -45
- package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +0 -28
- package/e2e-legacy/license/license-with-repository.spec.js +0 -113
- package/e2e-legacy/license/license-without-repository.spec.js +0 -103
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +0 -36
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +0 -25
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +0 -39
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +0 -21
- package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +0 -32
- package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +0 -20
- package/e2e-legacy/not-found/not-found.spec.js +0 -23
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +0 -181
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +0 -40
- package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +0 -21
- package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +0 -40
- package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +0 -34
- package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +0 -25
- package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +0 -41
- package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +0 -21
- package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +0 -39
- package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +0 -44
- package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +0 -38
- package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +0 -28
- package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +0 -40
- package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +0 -30
- package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +0 -40
- package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +0 -28
- package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +0 -86
- package/e2e-legacy/setup/settings/my-settings.spec.js +0 -207
- package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +0 -39
- package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +0 -29
- package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +0 -25
- package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +0 -33
- package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +0 -26
- package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +0 -54
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -106
- package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +0 -80
- package/e2e-legacy/ttyg/edit-agent.spec.js +0 -178
- package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +0 -46
- package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +0 -45
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +0 -21
- package/e2e-security/repository/url-with-repository-id-parameter.spec.js +0 -57
- package/e2e-security/setup/home/cookie-policy.spec.js +0 -290
- package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +0 -193
- package/e2e-security/setup/users-and-access/graphql-user.spec.js +0 -126
- package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +0 -70
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +0 -99
- package/e2e-security/setup/users-and-access/user-and-access.spec.js +0 -87
- package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +0 -38
- package/eslint.config.js +0 -39
- package/fixtures/graph/graph-configurations.json +0 -59
- package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +0 -12
- package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +0 -35
- package/fixtures/guides/class-relations/class-relations-guide.json +0 -33
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +0 -15
- package/fixtures/guides/connectors/connectors-guide.json +0 -66
- package/fixtures/guides/connectors/lucene-connector-guide.json +0 -120
- package/fixtures/guides/create-repository/create-repository-guide.json +0 -25
- package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +0 -36
- package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +0 -25
- package/fixtures/guides/download-resource.ttl +0 -629
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +0 -54
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +0 -30
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +0 -21
- package/fixtures/guides/main-menu/main-menu-guide.json +0 -98
- package/fixtures/guides/navigation/navigation-guide.json +0 -60
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +0 -18
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +0 -51
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +0 -25
- package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +0 -74
- package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +0 -26
- package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +0 -22
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +0 -39
- package/fixtures/guides/visual-graph/visual-graph-guide.json +0 -85
- package/fixtures/guides/welcome/welcome-guide.json +0 -18
- package/fixtures/repositories/free-access.json +0 -13
- package/fixtures/similarity/get-ttyg-similarity-instances.json +0 -10
- package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +0 -44
- package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +0 -79
- package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +0 -8
- package/fixtures/ttyg/agent/get-similarity-indexes.json +0 -22
- package/fixtures/ttyg/chats/ask-question-cancel.json +0 -12
- package/fixtures/ttyg/chats/cancel-question-response.json +0 -1
- package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +0 -29
- package/fixtures/ttyg/chats/explain-response-3.json +0 -12
- package/steps/base-steps.js +0 -29
- package/steps/cookie-policy/cookie-consent-banner-steps.js +0 -21
- package/steps/cookie-policy/cookie-policy-modal.steps.js +0 -56
- package/steps/error-page-steps.js +0 -9
- package/steps/explore/class-relationships-steps.js +0 -64
- package/steps/graphql/playground-editor-steps.js +0 -46
- package/steps/header-steps.js +0 -22
- package/steps/monitoring/queries-and-updates-steps.js +0 -20
- package/steps/monitoring/system-monitoring-steps.js +0 -40
- package/steps/not-found/not-found-steps.js +0 -23
- package/steps/rdf-resource-search-steps.js +0 -55
- package/steps/rest-api-documentation-steps.js +0 -15
- package/steps/setup/connectors-steps.js +0 -32
- package/steps/shared-modal-dialog-steps.js +0 -45
- package/steps/system-information-steps.js +0 -70
- package/steps/widgets/active-repository-widget-steps.js +0 -29
- package/steps/widgets/license-widget-steps.js +0 -9
- package/steps/widgets/repository-errors-widget-steps.js +0 -21
- package/steps/widgets/saved-sparql-queries-widget-steps.js +0 -9
- package/stubs/browser-stubs.js +0 -21
- package/stubs/graph-config-stubs.js +0 -17
- package/stubs/guides/guides-stubs.js +0 -103
- package/stubs/saved-queries-stubs.js +0 -5
- package/stubs/sparql-stubs.js +0 -10
- package/support/connector-commands.js +0 -13
- package/support/e2e-security.js +0 -9
- package/support/url-commands.js +0 -13
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-legend.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/delete-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/set-default-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy/help/system-information → integration/help}/system-information.spec.js +0 -0
- package/{e2e-legacy → integration}/home/create-repository.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-server-files-batch-operations.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-user-data-settings-dialog.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-view.spec.js +0 -0
- package/{e2e-legacy → integration}/repository/attach-remote-location.spec.js +1 -1
- /package/{e2e-legacy → integration}/repository/repository-commands.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/delete-rule.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/edit-rule.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/render-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/reorder-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/revert-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/scopes.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/update-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/jdbc/jdbc.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/actions/execute-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/actions/save-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/internationalization.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/saved-query/delete-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/sparql-editor.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/yasr/download-as.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/import/import.server.files.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
|
@@ -1,37 +1,34 @@
|
|
|
1
|
-
import {UserAndAccessSteps} from
|
|
2
|
-
import {RepositoriesStubs} from
|
|
3
|
-
import {RepositorySelectorSteps} from
|
|
4
|
-
import {ModalDialogSteps} from
|
|
5
|
-
import {ToasterSteps} from
|
|
6
|
-
import HomeSteps from
|
|
7
|
-
import {LoginSteps} from
|
|
8
|
-
|
|
9
|
-
import {SecurityStubs} from '../../../stubs/security-stubs.js';
|
|
1
|
+
import {UserAndAccessSteps} from "../../steps/setup/user-and-access-steps";
|
|
2
|
+
import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
3
|
+
import {RepositorySelectorSteps} from "../../steps/repository-selector-steps";
|
|
4
|
+
import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
|
|
5
|
+
import {ToasterSteps} from "../../steps/toaster-steps";
|
|
6
|
+
import HomeSteps from "../../steps/home-steps";
|
|
7
|
+
import {LoginSteps} from "../../steps/login-steps";
|
|
8
|
+
|
|
10
9
|
|
|
11
10
|
describe('User and Access', () => {
|
|
12
11
|
|
|
13
|
-
const PASSWORD =
|
|
14
|
-
const ROLE_USER =
|
|
15
|
-
const ROLE_REPO_MANAGER =
|
|
16
|
-
const ROLE_CUSTOM_ADMIN =
|
|
17
|
-
const DEFAULT_ADMIN_PASSWORD =
|
|
12
|
+
const PASSWORD = "password";
|
|
13
|
+
const ROLE_USER = "#roleUser";
|
|
14
|
+
const ROLE_REPO_MANAGER = "#roleRepoAdmin";
|
|
15
|
+
const ROLE_CUSTOM_ADMIN = "#roleAdmin";
|
|
16
|
+
const DEFAULT_ADMIN_PASSWORD = "root";
|
|
18
17
|
|
|
19
|
-
// eslint-disable-next-line no-undef
|
|
20
18
|
context('', () => {
|
|
21
|
-
const user =
|
|
19
|
+
const user = "user";
|
|
22
20
|
|
|
23
21
|
beforeEach(() => {
|
|
24
22
|
UserAndAccessSteps.visit();
|
|
23
|
+
cy.window();
|
|
25
24
|
// Users table should be visible
|
|
26
25
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
27
|
-
cy.switchOffSecurity(true);
|
|
28
26
|
});
|
|
29
27
|
|
|
30
28
|
afterEach(() => {
|
|
31
|
-
cy.loginAsAdmin().then(()
|
|
29
|
+
cy.loginAsAdmin().then(()=> {
|
|
32
30
|
cy.deleteUser(user, true);
|
|
33
31
|
cy.switchOffSecurity(true);
|
|
34
|
-
cy.switchOffFreeAccess(false);
|
|
35
32
|
});
|
|
36
33
|
});
|
|
37
34
|
|
|
@@ -87,57 +84,22 @@ describe('User and Access', () => {
|
|
|
87
84
|
// Then the 'create' button should be disabled
|
|
88
85
|
UserAndAccessSteps.getConfirmUserCreateButton().should('be.disabled');
|
|
89
86
|
// And the field should show an error
|
|
90
|
-
UserAndAccessSteps.
|
|
87
|
+
UserAndAccessSteps.getFieldError().should('contain.text', 'Must be at least 2 symbols long');
|
|
91
88
|
// When I add more text to the custom role tag
|
|
92
89
|
UserAndAccessSteps.addTextToCustomRoleField('A{enter}');
|
|
93
90
|
// Then the 'create' button should be enabled
|
|
94
91
|
UserAndAccessSteps.getConfirmUserCreateButton().should('be.enabled');
|
|
95
92
|
// And the field error should not exist
|
|
96
|
-
UserAndAccessSteps.
|
|
93
|
+
UserAndAccessSteps.getFieldError().should('not.be.visible');
|
|
97
94
|
|
|
98
95
|
// When I type an invalid tag
|
|
99
96
|
UserAndAccessSteps.addTextToCustomRoleField('B{enter}');
|
|
100
97
|
// And the field shows an error
|
|
101
|
-
UserAndAccessSteps.
|
|
98
|
+
UserAndAccessSteps.getFieldError().should('contain.text', 'Must be at least 2 symbols long');
|
|
102
99
|
// When I delete the invalid text
|
|
103
100
|
UserAndAccessSteps.addTextToCustomRoleField('{backspace}');
|
|
104
101
|
// Then the error should not be visible
|
|
105
|
-
UserAndAccessSteps.
|
|
106
|
-
|
|
107
|
-
// When I create the user with a valid custom role
|
|
108
|
-
UserAndAccessSteps.clickWriteAccessAny();
|
|
109
|
-
SecurityStubs.spyOnUserCreate()
|
|
110
|
-
UserAndAccessSteps.confirmUserCreate();
|
|
111
|
-
// Then the user should be created with that custom role
|
|
112
|
-
cy.wait('@create-user').its('request.body').then((body) => {
|
|
113
|
-
expect(body).to.deep.eq({
|
|
114
|
-
"password": "password",
|
|
115
|
-
"grantedAuthorities": [
|
|
116
|
-
"ROLE_USER",
|
|
117
|
-
"CUSTOM_AA",
|
|
118
|
-
"WRITE_REPO_*",
|
|
119
|
-
"READ_REPO_*"
|
|
120
|
-
],
|
|
121
|
-
"appSettings": {
|
|
122
|
-
"DEFAULT_VIS_GRAPH_SCHEMA": true,
|
|
123
|
-
"DEFAULT_INFERENCE": true,
|
|
124
|
-
"DEFAULT_SAMEAS": true,
|
|
125
|
-
"IGNORE_SHARED_QUERIES": false,
|
|
126
|
-
"EXECUTE_COUNT": true
|
|
127
|
-
}
|
|
128
|
-
})
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
cy.url().should('include', '/users');
|
|
132
|
-
UserAndAccessSteps.findUserInTable(user).should('be.visible');
|
|
133
|
-
UserAndAccessSteps.getUserCustomRoles('@user')
|
|
134
|
-
.should('have.length', 1)
|
|
135
|
-
.eq(0).and('have.text', 'AA');
|
|
136
|
-
// And when I open the edit page for that user, the custom role should be visible in the field without the prefix
|
|
137
|
-
UserAndAccessSteps.openEditUserPage(user);
|
|
138
|
-
UserAndAccessSteps.getCustomRoleField().find('.tag-item span')
|
|
139
|
-
.should('have.length', 1)
|
|
140
|
-
.eq(0).and('have.text', 'AA');
|
|
102
|
+
UserAndAccessSteps.getFieldError().should('not.be.visible');
|
|
141
103
|
});
|
|
142
104
|
|
|
143
105
|
it('Adding a role with a CUSTOM_ prefix shows a warning message', () => {
|
|
@@ -155,63 +117,8 @@ describe('User and Access', () => {
|
|
|
155
117
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
156
118
|
UserAndAccessSteps.getSplashLoader().should('not.be.visible');
|
|
157
119
|
});
|
|
120
|
+
})
|
|
158
121
|
|
|
159
|
-
it('should toggle free access after Admin has logged in', () => {
|
|
160
|
-
// Given I have available repositories to allow Free Access for
|
|
161
|
-
RepositoriesStubs.stubRepositories();
|
|
162
|
-
RepositoriesStubs.stubFreeAccess();
|
|
163
|
-
// When I enable security
|
|
164
|
-
UserAndAccessSteps.toggleSecurity();
|
|
165
|
-
// When I log in as an Admin
|
|
166
|
-
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
167
|
-
// Then the page should load
|
|
168
|
-
UserAndAccessSteps.getSplashLoader().should('not.be.visible');
|
|
169
|
-
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
170
|
-
// The Free Access toggle should be OFF
|
|
171
|
-
UserAndAccessSteps.getFreeAccessSwitchInput().should('not.be.checked');
|
|
172
|
-
// When I toggle Free Access ON
|
|
173
|
-
UserAndAccessSteps.toggleFreeAccess();
|
|
174
|
-
// And I allow free access to a repository
|
|
175
|
-
ModalDialogSteps.getDialog().should('be.visible');
|
|
176
|
-
// Then I click OK in the modal
|
|
177
|
-
ModalDialogSteps.clickOKButton();
|
|
178
|
-
// Then the toggle button should be ON
|
|
179
|
-
UserAndAccessSteps.getFreeAccessSwitchInput().should('be.checked');
|
|
180
|
-
// And I should see a success message
|
|
181
|
-
ToasterSteps.verifySuccess('Free access has been enabled.');
|
|
182
|
-
ToasterSteps.getToast().should('not.exist');
|
|
183
|
-
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
184
|
-
// When I toggle Free Access OFF
|
|
185
|
-
UserAndAccessSteps.toggleFreeAccess();
|
|
186
|
-
// Then I should see a success message
|
|
187
|
-
ToasterSteps.getToast().should('exist');
|
|
188
|
-
ToasterSteps.getToasterMessage().should('contain', 'Free access has been disabled.');
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
it('should redirect to previous page after logout and then login', () => {
|
|
192
|
-
UserAndAccessSteps.toggleSecurity();
|
|
193
|
-
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
194
|
-
MainMenuSteps.clickOnSparqlMenu();
|
|
195
|
-
cy.url().should('include', '/sparql');
|
|
196
|
-
|
|
197
|
-
LoginSteps.logout();
|
|
198
|
-
cy.url().should('include', '/login');
|
|
199
|
-
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
200
|
-
cy.url().should('include', '/sparql');
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
it('should redirect to correct return url when user is authenticated and on login page', () => {
|
|
204
|
-
UserAndAccessSteps.visit();
|
|
205
|
-
UserAndAccessSteps.toggleSecurity();
|
|
206
|
-
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
207
|
-
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
208
|
-
|
|
209
|
-
cy.visit('/login?r=%252Fsparql');
|
|
210
|
-
cy.reload();
|
|
211
|
-
UserAndAccessSteps.getUrl().should('include', '/sparql');
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
// eslint-disable-next-line no-undef
|
|
215
122
|
context('GraphQL only', () => {
|
|
216
123
|
let repositoryId1;
|
|
217
124
|
let repositoryId2;
|
|
@@ -239,7 +146,6 @@ describe('User and Access', () => {
|
|
|
239
146
|
cy.deleteRepository(repositoryId2, true);
|
|
240
147
|
cy.deleteRepository(repositoryId3, true);
|
|
241
148
|
cy.deleteUser(graphqlUser, true);
|
|
242
|
-
cy.switchOffFreeAccess(true);
|
|
243
149
|
cy.switchOffSecurity(true);
|
|
244
150
|
});
|
|
245
151
|
|
|
@@ -250,8 +156,7 @@ describe('User and Access', () => {
|
|
|
250
156
|
createUser(graphqlUser, PASSWORD, ROLE_USER, {read: true, graphql: true, repoName: repositoryId2});
|
|
251
157
|
});
|
|
252
158
|
|
|
253
|
-
|
|
254
|
-
it.skip('Can create user with different auth combinations', () => {
|
|
159
|
+
it('Can create user with different auth combinations', () => {
|
|
255
160
|
cy.wait('@getRepositories');
|
|
256
161
|
// WHEN I create a user with read + GraphQL for repository #2
|
|
257
162
|
createUser(graphqlUser, PASSWORD, ROLE_USER, {read: true, graphql: true, repoName: repositoryId2});
|
|
@@ -292,8 +197,7 @@ describe('User and Access', () => {
|
|
|
292
197
|
assertUserAuths(graphqlUser, {repo: repositoryId3, read: false, write: true, graphql: true});
|
|
293
198
|
});
|
|
294
199
|
|
|
295
|
-
|
|
296
|
-
it.skip('Should have access to 5 pages when have graphql only rights', () => {
|
|
200
|
+
it('Should have access to 5 pages when have graphql only rights', () => {
|
|
297
201
|
cy.wait('@getRepositories');
|
|
298
202
|
// WHEN I create a user with read + GraphQL for repository #2
|
|
299
203
|
createUser(graphqlUser, PASSWORD, ROLE_USER, {readWrite: true, graphql: true, repoName: repositoryId1});
|
|
@@ -311,7 +215,7 @@ describe('User and Access', () => {
|
|
|
311
215
|
});
|
|
312
216
|
});
|
|
313
217
|
|
|
314
|
-
it
|
|
218
|
+
it('Should not have access endpoints management when have read graphql only rights', () => {
|
|
315
219
|
cy.wait('@getRepositories');
|
|
316
220
|
// WHEN I create a user with read + GraphQL for repository #2
|
|
317
221
|
createUser(graphqlUser, PASSWORD, ROLE_USER, {read: true, graphql: true, repoName: repositoryId1});
|
|
@@ -329,7 +233,7 @@ describe('User and Access', () => {
|
|
|
329
233
|
});
|
|
330
234
|
});
|
|
331
235
|
|
|
332
|
-
it
|
|
236
|
+
it('Should have all access to endpoints management when have REPO_MANAGER role', () => {
|
|
333
237
|
cy.wait('@getRepositories');
|
|
334
238
|
createUser(graphqlUser, PASSWORD, ROLE_REPO_MANAGER);
|
|
335
239
|
//enable security
|
|
@@ -345,12 +249,12 @@ describe('User and Access', () => {
|
|
|
345
249
|
});
|
|
346
250
|
});
|
|
347
251
|
|
|
348
|
-
it
|
|
252
|
+
it('Can have Free Access and GraphQL working together', () => {
|
|
349
253
|
cy.wait('@getRepositories');
|
|
350
254
|
//enable security
|
|
351
255
|
UserAndAccessSteps.toggleSecurity();
|
|
352
256
|
//login with the admin
|
|
353
|
-
LoginSteps.loginWithUser(
|
|
257
|
+
LoginSteps.loginWithUser("admin", DEFAULT_ADMIN_PASSWORD);
|
|
354
258
|
// The Free Access toggle should be OFF
|
|
355
259
|
UserAndAccessSteps.getFreeAccessSwitchInput().should('not.be.checked');
|
|
356
260
|
// When I toggle Free Access ON
|
|
@@ -374,14 +278,14 @@ describe('User and Access', () => {
|
|
|
374
278
|
// I change the repository to this with GraphQL only rights
|
|
375
279
|
RepositorySelectorSteps.selectRepository(repositoryId3);
|
|
376
280
|
// Then I should have GraphQL only rights
|
|
377
|
-
FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL.forEach(({path, expectedUrl,
|
|
281
|
+
FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL.forEach(({path, expectedUrl, checks, expectedTitle}) => {
|
|
378
282
|
navigateMenuPath(path, expectedUrl, expectedTitle);
|
|
379
283
|
if (checks) {
|
|
380
284
|
runChecks(checks);
|
|
381
285
|
}
|
|
382
286
|
});
|
|
383
287
|
// Turn free access off
|
|
384
|
-
cy.loginAsAdmin().then(()
|
|
288
|
+
cy.loginAsAdmin().then(()=> {
|
|
385
289
|
cy.switchOffFreeAccess(true);
|
|
386
290
|
});
|
|
387
291
|
});
|
|
@@ -391,7 +295,7 @@ describe('User and Access', () => {
|
|
|
391
295
|
if (repoName === '*') {
|
|
392
296
|
UserAndAccessSteps.clickGraphqlAccessAny();
|
|
393
297
|
} else {
|
|
394
|
-
|
|
298
|
+
UserAndAccessSteps.clickGraphqlAccessRepo(repoName);
|
|
395
299
|
}
|
|
396
300
|
}
|
|
397
301
|
|
|
@@ -419,7 +323,7 @@ describe('User and Access', () => {
|
|
|
419
323
|
UserAndAccessSteps.selectRoleRadioButton(role);
|
|
420
324
|
UserAndAccessSteps.getRoleRadioButton(role).should('be.checked');
|
|
421
325
|
|
|
422
|
-
if (role ===
|
|
326
|
+
if (role === "#roleUser") {
|
|
423
327
|
setRoles(opts);
|
|
424
328
|
UserAndAccessSteps.confirmUserCreate();
|
|
425
329
|
} else if (role === ROLE_CUSTOM_ADMIN && opts.noPassword) {
|
|
@@ -457,7 +361,6 @@ describe('User and Access', () => {
|
|
|
457
361
|
function testForUser(name, isAdmin) {
|
|
458
362
|
//enable security
|
|
459
363
|
UserAndAccessSteps.toggleSecurity();
|
|
460
|
-
LoginSteps.visitLoginPageWithReturnUrl('/users');
|
|
461
364
|
//login new user
|
|
462
365
|
LoginSteps.loginWithUser(name, PASSWORD);
|
|
463
366
|
//verify permissions
|
|
@@ -465,7 +368,7 @@ describe('User and Access', () => {
|
|
|
465
368
|
if (isAdmin) {
|
|
466
369
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
467
370
|
} else {
|
|
468
|
-
UserAndAccessSteps.
|
|
371
|
+
UserAndAccessSteps.getError().should('contain',
|
|
469
372
|
'You have no permission to access this functionality with your current credentials.');
|
|
470
373
|
}
|
|
471
374
|
}
|
|
@@ -473,7 +376,7 @@ describe('User and Access', () => {
|
|
|
473
376
|
function assertUserAuths(username, {repo, read = false, write = false, graphql = false} = {}) {
|
|
474
377
|
UserAndAccessSteps.findUserRowAlias(username, 'userRow');
|
|
475
378
|
|
|
476
|
-
if
|
|
379
|
+
if(!read && !write) {
|
|
477
380
|
return UserAndAccessSteps.getRepoLine('@userRow', repo).should('not.exist');
|
|
478
381
|
}
|
|
479
382
|
|
|
@@ -516,9 +419,9 @@ describe('User and Access', () => {
|
|
|
516
419
|
function navigateMenuPath(pathArray, expectedUrl, expectedTitle) {
|
|
517
420
|
pathArray.forEach((label, index) => {
|
|
518
421
|
if (index === 0) {
|
|
519
|
-
|
|
422
|
+
UserAndAccessSteps.clickMenuItem(label);
|
|
520
423
|
} else {
|
|
521
|
-
|
|
424
|
+
UserAndAccessSteps.clickSubmenuItem(label);
|
|
522
425
|
const title = expectedTitle ? expectedTitle : label;
|
|
523
426
|
cy.get('h1').should('contain', title);
|
|
524
427
|
}
|
|
@@ -531,7 +434,6 @@ describe('User and Access', () => {
|
|
|
531
434
|
|
|
532
435
|
function runChecks(checks = {}) {
|
|
533
436
|
Object.entries(checks).forEach(([selector, assertions]) => {
|
|
534
|
-
// eslint-disable-next-line cypress/no-assigning-return-values
|
|
535
437
|
let chain = cy.get(selector);
|
|
536
438
|
|
|
537
439
|
// assertions is an array, e.g. ["exist", ["contain.text", "Hello"], "be.visible"]
|
|
@@ -559,59 +461,59 @@ describe('User and Access', () => {
|
|
|
559
461
|
|
|
560
462
|
const noAuthChecks = {
|
|
561
463
|
'div[role="main]': [
|
|
562
|
-
'not.exist'
|
|
464
|
+
'not.exist'
|
|
563
465
|
],
|
|
564
466
|
'.no-authority-panel .alert-warning': [
|
|
565
467
|
'be.visible',
|
|
566
468
|
['contains.text', 'Some functionalities are not available because'],
|
|
567
|
-
['contains.text', 'you do not have the required repository permissions.']
|
|
568
|
-
]
|
|
569
|
-
}
|
|
469
|
+
['contains.text', 'you do not have the required repository permissions.']
|
|
470
|
+
]
|
|
471
|
+
}
|
|
570
472
|
|
|
571
473
|
const hasAuthChecks = {
|
|
572
474
|
'div[role="main"]': [
|
|
573
475
|
'exist',
|
|
574
|
-
'be.visible'
|
|
476
|
+
'be.visible'
|
|
575
477
|
],
|
|
576
478
|
'.no-authority-panel .alert-warning': [
|
|
577
|
-
'not.exist'
|
|
578
|
-
]
|
|
579
|
-
}
|
|
479
|
+
'not.exist'
|
|
480
|
+
]
|
|
481
|
+
}
|
|
580
482
|
|
|
581
483
|
const MENU_ITEMS_WITHOUT_GRAPHQL = [
|
|
582
484
|
// 1) Import
|
|
583
485
|
{
|
|
584
486
|
path: ['Import'],
|
|
585
487
|
expectedUrl: '/import',
|
|
586
|
-
checks: noAuthChecks
|
|
488
|
+
checks: noAuthChecks
|
|
587
489
|
},
|
|
588
490
|
|
|
589
491
|
// 2) Explore
|
|
590
492
|
{
|
|
591
493
|
path: ['Explore', 'Graphs overview'],
|
|
592
494
|
expectedUrl: '/graphs',
|
|
593
|
-
checks: noAuthChecks
|
|
495
|
+
checks: noAuthChecks
|
|
594
496
|
},
|
|
595
497
|
{
|
|
596
498
|
path: ['Explore', 'Class hierarchy'],
|
|
597
499
|
expectedUrl: '/hierarchy',
|
|
598
|
-
checks: noAuthChecks
|
|
500
|
+
checks: noAuthChecks
|
|
599
501
|
},
|
|
600
502
|
{
|
|
601
503
|
path: ['Explore', 'Class relationships'],
|
|
602
504
|
expectedUrl: '/relationships',
|
|
603
|
-
checks: noAuthChecks
|
|
505
|
+
checks: noAuthChecks
|
|
604
506
|
},
|
|
605
507
|
{
|
|
606
508
|
path: ['Explore', 'Visual graph'],
|
|
607
509
|
expectedUrl: '/graphs-visualizations',
|
|
608
|
-
checks: noAuthChecks
|
|
510
|
+
checks: noAuthChecks
|
|
609
511
|
},
|
|
610
512
|
{
|
|
611
513
|
path: ['Explore', 'Similarity'],
|
|
612
514
|
expectedTitle: 'Similarity indexes',
|
|
613
515
|
expectedUrl: '/similarity',
|
|
614
|
-
checks: noAuthChecks
|
|
516
|
+
checks: noAuthChecks
|
|
615
517
|
},
|
|
616
518
|
|
|
617
519
|
// 3) SPARQL
|
|
@@ -619,7 +521,7 @@ describe('User and Access', () => {
|
|
|
619
521
|
path: ['SPARQL'],
|
|
620
522
|
expectedTitle: 'SPARQL Query & Update',
|
|
621
523
|
expectedUrl: '/sparql',
|
|
622
|
-
checks: noAuthChecks
|
|
524
|
+
checks: noAuthChecks
|
|
623
525
|
},
|
|
624
526
|
|
|
625
527
|
// 4) GraphQL
|
|
@@ -629,7 +531,7 @@ describe('User and Access', () => {
|
|
|
629
531
|
path: ['Monitor', 'Queries and Updates'],
|
|
630
532
|
expectedUrl: '/monitor/queries',
|
|
631
533
|
expectedTitle: 'Query and Update monitoring',
|
|
632
|
-
checks: noAuthChecks
|
|
534
|
+
checks: noAuthChecks
|
|
633
535
|
},
|
|
634
536
|
|
|
635
537
|
// 6) Setup
|
|
@@ -637,58 +539,58 @@ describe('User and Access', () => {
|
|
|
637
539
|
path: ['Setup', 'My Settings'],
|
|
638
540
|
expectedUrl: '/settings',
|
|
639
541
|
expectedTitle: 'Settings',
|
|
640
|
-
checks: hasAuthChecks
|
|
542
|
+
checks: hasAuthChecks
|
|
641
543
|
},
|
|
642
544
|
{
|
|
643
545
|
path: ['Setup', 'Connectors'],
|
|
644
546
|
expectedUrl: '/connectors',
|
|
645
547
|
expectedTitle: 'Connector management',
|
|
646
|
-
checks: noAuthChecks
|
|
548
|
+
checks: noAuthChecks
|
|
647
549
|
},
|
|
648
550
|
{
|
|
649
551
|
path: ['Setup', 'Cluster'],
|
|
650
552
|
expectedUrl: '/cluster',
|
|
651
553
|
expectedTitle: 'Cluster management',
|
|
652
|
-
checks: hasAuthChecks
|
|
554
|
+
checks: hasAuthChecks
|
|
653
555
|
},
|
|
654
556
|
{
|
|
655
557
|
path: ['Setup', 'Plugins'],
|
|
656
558
|
expectedUrl: '/plugins',
|
|
657
|
-
checks: noAuthChecks
|
|
559
|
+
checks: noAuthChecks
|
|
658
560
|
},
|
|
659
561
|
{
|
|
660
562
|
path: ['Setup', 'Namespaces'],
|
|
661
563
|
expectedUrl: '/namespaces',
|
|
662
|
-
checks: noAuthChecks
|
|
564
|
+
checks: noAuthChecks
|
|
663
565
|
},
|
|
664
566
|
{
|
|
665
567
|
path: ['Setup', 'Autocomplete'],
|
|
666
568
|
expectedUrl: '/autocomplete',
|
|
667
569
|
expectedTitle: 'Autocomplete index',
|
|
668
|
-
checks: noAuthChecks
|
|
570
|
+
checks: noAuthChecks
|
|
669
571
|
},
|
|
670
572
|
{
|
|
671
573
|
path: ['Setup', 'RDF Rank'],
|
|
672
574
|
expectedUrl: '/rdfrank',
|
|
673
|
-
checks: noAuthChecks
|
|
575
|
+
checks: noAuthChecks
|
|
674
576
|
},
|
|
675
577
|
{
|
|
676
578
|
path: ['Setup', 'JDBC'],
|
|
677
579
|
expectedUrl: '/jdbc',
|
|
678
580
|
expectedTitle: 'JDBC configuration',
|
|
679
|
-
checks: noAuthChecks
|
|
581
|
+
checks: noAuthChecks
|
|
680
582
|
},
|
|
681
583
|
{
|
|
682
584
|
path: ['Setup', 'SPARQL Templates'],
|
|
683
585
|
expectedUrl: '/sparql-templates',
|
|
684
|
-
checks: noAuthChecks
|
|
586
|
+
checks: noAuthChecks
|
|
685
587
|
},
|
|
686
588
|
|
|
687
589
|
// 7) Lab
|
|
688
590
|
{
|
|
689
591
|
path: ['Lab', 'Talk to Your Graph'],
|
|
690
592
|
expectedUrl: '/ttyg',
|
|
691
|
-
checks: noAuthChecks
|
|
593
|
+
checks: noAuthChecks
|
|
692
594
|
},
|
|
693
595
|
|
|
694
596
|
// 8) Help
|
|
@@ -696,38 +598,38 @@ describe('User and Access', () => {
|
|
|
696
598
|
path: ['Help', 'REST API'],
|
|
697
599
|
expectedUrl: '/webapi',
|
|
698
600
|
expectedTitle: 'REST API documentation',
|
|
699
|
-
checks: hasAuthChecks
|
|
700
|
-
}
|
|
601
|
+
checks: hasAuthChecks
|
|
602
|
+
}
|
|
701
603
|
];
|
|
702
604
|
|
|
703
605
|
const GRAPHQL_READ_MENU_ITEMS = [
|
|
704
606
|
{
|
|
705
607
|
path: ['GraphQL', 'GraphQL Playground'],
|
|
706
608
|
expectedUrl: '/graphql/playground',
|
|
707
|
-
checks: hasAuthChecks
|
|
708
|
-
}
|
|
609
|
+
checks: hasAuthChecks
|
|
610
|
+
}
|
|
709
611
|
];
|
|
710
612
|
const GRAPHQL_REPO_MANAGER_MENU_ITEMS = [
|
|
711
613
|
{
|
|
712
614
|
path: ['GraphQL', 'Endpoint Management'],
|
|
713
615
|
expectedUrl: '/graphql/endpoints',
|
|
714
|
-
checks: hasAuthChecks
|
|
616
|
+
checks: hasAuthChecks
|
|
715
617
|
},
|
|
716
618
|
{
|
|
717
619
|
path: ['GraphQL', 'GraphQL Playground'],
|
|
718
620
|
expectedUrl: '/graphql/playground',
|
|
719
|
-
checks: hasAuthChecks
|
|
621
|
+
checks: hasAuthChecks
|
|
720
622
|
},
|
|
721
623
|
{
|
|
722
624
|
path: ['Monitor', 'Backup and Restore'],
|
|
723
625
|
expectedUrl: '/monitor/backup-and-restore',
|
|
724
|
-
checks: hasAuthChecks
|
|
626
|
+
checks: hasAuthChecks
|
|
725
627
|
},
|
|
726
628
|
{
|
|
727
629
|
path: ['Help', 'Interactive guides'],
|
|
728
630
|
expectedUrl: '/guides',
|
|
729
|
-
checks: hasAuthChecks
|
|
730
|
-
}
|
|
631
|
+
checks: hasAuthChecks
|
|
632
|
+
}
|
|
731
633
|
];
|
|
732
634
|
|
|
733
635
|
const FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL = [
|
|
@@ -735,35 +637,35 @@ describe('User and Access', () => {
|
|
|
735
637
|
{
|
|
736
638
|
path: ['Import'],
|
|
737
639
|
expectedUrl: '/import',
|
|
738
|
-
checks: noAuthChecks
|
|
640
|
+
checks: noAuthChecks
|
|
739
641
|
},
|
|
740
642
|
|
|
741
643
|
// 2) Explore
|
|
742
644
|
{
|
|
743
645
|
path: ['Explore', 'Graphs overview'],
|
|
744
646
|
expectedUrl: '/graphs',
|
|
745
|
-
checks: noAuthChecks
|
|
647
|
+
checks: noAuthChecks
|
|
746
648
|
},
|
|
747
649
|
{
|
|
748
650
|
path: ['Explore', 'Class hierarchy'],
|
|
749
651
|
expectedUrl: '/hierarchy',
|
|
750
|
-
checks: noAuthChecks
|
|
652
|
+
checks: noAuthChecks
|
|
751
653
|
},
|
|
752
654
|
{
|
|
753
655
|
path: ['Explore', 'Class relationships'],
|
|
754
656
|
expectedUrl: '/relationships',
|
|
755
|
-
checks: noAuthChecks
|
|
657
|
+
checks: noAuthChecks
|
|
756
658
|
},
|
|
757
659
|
{
|
|
758
660
|
path: ['Explore', 'Visual graph'],
|
|
759
661
|
expectedUrl: '/graphs-visualizations',
|
|
760
|
-
checks: noAuthChecks
|
|
662
|
+
checks: noAuthChecks
|
|
761
663
|
},
|
|
762
664
|
{
|
|
763
665
|
path: ['Explore', 'Similarity'],
|
|
764
666
|
expectedTitle: 'Similarity indexes',
|
|
765
667
|
expectedUrl: '/similarity',
|
|
766
|
-
checks: noAuthChecks
|
|
668
|
+
checks: noAuthChecks
|
|
767
669
|
},
|
|
768
670
|
|
|
769
671
|
// 3) SPARQL
|
|
@@ -771,47 +673,48 @@ describe('User and Access', () => {
|
|
|
771
673
|
path: ['SPARQL'],
|
|
772
674
|
expectedTitle: 'SPARQL Query & Update',
|
|
773
675
|
expectedUrl: '/sparql',
|
|
774
|
-
checks: noAuthChecks
|
|
676
|
+
checks: noAuthChecks
|
|
775
677
|
},
|
|
776
678
|
|
|
679
|
+
|
|
777
680
|
// 6) Setup
|
|
778
681
|
{
|
|
779
682
|
path: ['Setup', 'Connectors'],
|
|
780
683
|
expectedUrl: '/connectors',
|
|
781
684
|
expectedTitle: 'Connector management',
|
|
782
|
-
checks: noAuthChecks
|
|
685
|
+
checks: noAuthChecks
|
|
783
686
|
},
|
|
784
687
|
{
|
|
785
688
|
path: ['Setup', 'Plugins'],
|
|
786
689
|
expectedUrl: '/plugins',
|
|
787
|
-
checks: noAuthChecks
|
|
690
|
+
checks: noAuthChecks
|
|
788
691
|
},
|
|
789
692
|
{
|
|
790
693
|
path: ['Setup', 'Namespaces'],
|
|
791
694
|
expectedUrl: '/namespaces',
|
|
792
|
-
checks: noAuthChecks
|
|
695
|
+
checks: noAuthChecks
|
|
793
696
|
},
|
|
794
697
|
{
|
|
795
698
|
path: ['Setup', 'Autocomplete'],
|
|
796
699
|
expectedUrl: '/autocomplete',
|
|
797
700
|
expectedTitle: 'Autocomplete index',
|
|
798
|
-
checks: noAuthChecks
|
|
701
|
+
checks: noAuthChecks
|
|
799
702
|
},
|
|
800
703
|
{
|
|
801
704
|
path: ['Setup', 'RDF Rank'],
|
|
802
705
|
expectedUrl: '/rdfrank',
|
|
803
|
-
checks: noAuthChecks
|
|
706
|
+
checks: noAuthChecks
|
|
804
707
|
},
|
|
805
708
|
{
|
|
806
709
|
path: ['Setup', 'JDBC'],
|
|
807
710
|
expectedUrl: '/jdbc',
|
|
808
711
|
expectedTitle: 'JDBC configuration',
|
|
809
|
-
checks: noAuthChecks
|
|
712
|
+
checks: noAuthChecks
|
|
810
713
|
},
|
|
811
714
|
{
|
|
812
715
|
path: ['Setup', 'SPARQL Templates'],
|
|
813
716
|
expectedUrl: '/sparql-templates',
|
|
814
|
-
checks: noAuthChecks
|
|
717
|
+
checks: noAuthChecks
|
|
815
718
|
},
|
|
816
719
|
|
|
817
720
|
// 7) Help
|
|
@@ -819,7 +722,7 @@ describe('User and Access', () => {
|
|
|
819
722
|
path: ['Help', 'REST API'],
|
|
820
723
|
expectedUrl: '/webapi',
|
|
821
724
|
expectedTitle: 'REST API documentation',
|
|
822
|
-
checks: hasAuthChecks
|
|
823
|
-
}
|
|
725
|
+
checks: hasAuthChecks
|
|
726
|
+
}
|
|
824
727
|
];
|
|
825
728
|
});
|