graphdb-workbench-tests 3.1.0-WBM-8 → 3.1.0-plugins1

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.
Files changed (124) hide show
  1. package/.nycrc +10 -0
  2. package/cypress-legacy.config.js +9 -1
  3. package/cypress-security.config.js +40 -0
  4. package/cypress.config.js +3 -1
  5. package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
  6. package/e2e-legacy/cluster/edit-cluster-nodes-modal.spec.js +44 -0
  7. package/e2e-legacy/explore/class-hierarchy/class.hierarchy.spec.js +1 -2
  8. package/e2e-legacy/explore/graphs-overview/graphs.overview.spec.js +2 -3
  9. package/e2e-legacy/explore/visual-graph/graphs-config.spec.js +5 -18
  10. package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +1 -2
  11. package/e2e-legacy/graphql/activate-deactivate-graphql-endpoint.spec.js +1 -1
  12. package/e2e-legacy/graphql/create-graphql-endpoint.spec.js +1 -3
  13. package/e2e-legacy/graphql/delete-graphql-endpoint.spec.js +1 -1
  14. package/e2e-legacy/graphql/edit-graphql-enpoint.spec.js +1 -1
  15. package/e2e-legacy/graphql/export-graphql-endpoint-definition.spec.js +1 -1
  16. package/e2e-legacy/graphql/filter-graphql-endpoints-on-management-view.spec.js +2 -2
  17. package/e2e-legacy/graphql/graphql-endpoint-management-view.spec.js +5 -5
  18. package/e2e-legacy/graphql/graphql-playground.spec.js +1 -1
  19. package/e2e-legacy/graphql/import-graphql-endpoint-definitions.spec.js +1 -7
  20. package/e2e-legacy/graphql/set-default-graphql-endpoint.spec.js +1 -1
  21. package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
  22. package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
  23. package/e2e-legacy/{guides → help/guides}/movies-interactive-guide.spec.js +2 -2
  24. package/e2e-legacy/{guides → help/guides}/star-wars-interactive-guide.js +2 -2
  25. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
  26. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
  27. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
  28. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
  29. package/e2e-legacy/home/cookie-policy.spec.js +78 -59
  30. package/e2e-legacy/home/create-repository.spec.js +2 -6
  31. package/e2e-legacy/home/documentation-link.spec.js +31 -33
  32. package/e2e-legacy/home/google-analytics.spec.js +4 -6
  33. package/e2e-legacy/home/rdf-resource-search.spec.js +106 -138
  34. package/e2e-legacy/home/view-resource-autocomplete.spec.js +30 -21
  35. package/e2e-legacy/import/import-server-files-batch-operations.spec.js +1 -2
  36. package/e2e-legacy/import/import-server-files.spec.js +1 -2
  37. package/e2e-legacy/import/import-user-data-url.spec.js +1 -25
  38. package/e2e-legacy/import/import-user-data.spec.js +4 -2
  39. package/e2e-legacy/import/import-view.spec.js +1 -2
  40. package/e2e-legacy/monitor/global-operation-statuses-component.spec.js +13 -9
  41. package/e2e-legacy/repository/attach-remote-location.spec.js +2 -5
  42. package/e2e-legacy/repository/ontop-repository.spec.js +3 -12
  43. package/e2e-legacy/repository/repositories.spec.js +35 -46
  44. package/e2e-legacy/setup/aclmanagement/create-rule.spec.js +1 -2
  45. package/e2e-legacy/setup/aclmanagement/edit-rule.spec.js +1 -2
  46. package/e2e-legacy/setup/aclmanagement/reorder-rules.spec.js +1 -2
  47. package/e2e-legacy/setup/aclmanagement/scopes.spec.js +1 -2
  48. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
  49. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
  50. package/e2e-legacy/setup/{autocomplete.spec.js → autocomplete/autocomplete.spec.js} +5 -6
  51. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
  52. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
  53. package/e2e-legacy/setup/connectors-lucene.spec.js +1 -2
  54. package/e2e-legacy/setup/jdbc/jdbc-create.spec.js +2 -2
  55. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
  56. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
  57. package/e2e-legacy/setup/{namespaces.spec.js → namespaces/namespaces.spec.js} +4 -4
  58. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
  59. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
  60. package/e2e-legacy/setup/{plugins.spec.js → plugins/plugins.spec.js} +3 -3
  61. package/e2e-legacy/setup/sparql-template/sparql-template-create.js +10 -3
  62. package/e2e-legacy/setup/users-and-access/user-and-access.spec.js +38 -9
  63. package/e2e-legacy/sparql-editor/saved-query/edit-query.spec.js +3 -6
  64. package/e2e-legacy/sparql-editor/saved-query/readonly-query.spec.js +7 -13
  65. package/e2e-legacy/sparql-editor/saved-query/share-query.spec.js +2 -4
  66. package/e2e-legacy/sparql-editor/sparql-editor.spec.js +1 -4
  67. package/e2e-legacy/ttyg/agent-list.spec.js +38 -6
  68. package/e2e-legacy/ttyg/chat-list.spec.js +1 -2
  69. package/e2e-legacy/ttyg/clone-agent.spec.js +1 -0
  70. package/e2e-legacy/ttyg/create-agent.spec.js +10 -16
  71. package/e2e-legacy/ttyg/edit-agent.spec.js +69 -9
  72. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
  73. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
  74. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
  75. package/e2e-legacy/ttyg/ttyg-permission.spec.js +28 -20
  76. package/e2e-legacy/ttyg/ttyg-view.spec.js +1 -1
  77. package/e2e-security/setup/home/cookie-policy.spec.js +64 -0
  78. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +184 -0
  79. package/e2e-security/setup/users-and-access/graphql-user.spec.js +123 -0
  80. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +69 -0
  81. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +87 -0
  82. package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
  83. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
  84. package/fixtures/repositories/free-access.json +13 -0
  85. package/fixtures/repositories/get-remote-and-local-repositories.json +34 -0
  86. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
  87. package/fixtures/ttyg/agent/get-agent-defaults.json +2 -0
  88. package/npm-shrinkwrap.json +7633 -1817
  89. package/package.json +13 -7
  90. package/plugins/index.js +3 -2
  91. package/steps/base-steps.js +4 -0
  92. package/steps/cluster/cluster-page-steps.js +12 -2
  93. package/steps/error-steps.js +4 -7
  94. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  95. package/steps/guides/guide-steps.js +20 -1
  96. package/steps/home-steps.js +59 -37
  97. package/steps/import/import-steps.js +8 -3
  98. package/steps/login-steps.js +14 -3
  99. package/steps/main-menu-steps.js +76 -6
  100. package/steps/operations-statuses-component-steps.js +5 -10
  101. package/steps/rdf-resource-search-steps.js +55 -0
  102. package/steps/repository-steps.js +17 -17
  103. package/steps/rest-api-documentation-steps.js +15 -0
  104. package/steps/setup/autocomplete-steps.js +17 -3
  105. package/steps/setup/namespace-steps.js +8 -2
  106. package/steps/setup/plugins-steps.js +11 -1
  107. package/steps/setup/settings-steps.js +18 -0
  108. package/steps/setup/user-and-access-steps.js +28 -2
  109. package/steps/system-information-steps.js +70 -0
  110. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +74 -11
  111. package/steps/ttyg/ttyg-view-steps.js +39 -6
  112. package/steps/widgets/active-repository-widget-steps.js +4 -0
  113. package/steps/yasgui/yasr-steps.js +4 -0
  114. package/stubs/browser-stubs.js +21 -0
  115. package/stubs/environment-stubs.js +9 -1
  116. package/stubs/repositories/repositories-stubs.js +4 -0
  117. package/stubs/security-stubs.js +4 -0
  118. package/stubs/ttyg/ttyg-stubs.js +18 -2
  119. package/support/e2e.js +2 -1
  120. package/support/repository-commands.js +14 -1
  121. package/e2e-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -57
  122. package/e2e-flaky/ttyg/ttyg-permission.spec.js +0 -67
  123. package/fixtures/locale-en.json +0 -3361
  124. /package/e2e-legacy/help/{system-information.spec.js → system-information/system-information.spec.js} +0 -0
@@ -15,6 +15,7 @@ Cypress.Commands.add('createRepository', (options = {}) => {
15
15
  }
16
16
  }).then((response) => {
17
17
  cy.waitUntil(() => response && response.status === 201); // 201 Created
18
+ cy.log('Created repository with ID:', options.id);
18
19
  });
19
20
  });
20
21
 
@@ -39,7 +40,9 @@ Cypress.Commands.add('deleteRepository', (id, secured = false) => {
39
40
  headers,
40
41
  // Prevent Cypress from failing the test on non-2xx status codes
41
42
  failOnStatusCode: false
42
- });
43
+ }).then((response) => {
44
+ cy.waitUntil(() => response);
45
+ });
43
46
  });
44
47
 
45
48
  Cypress.Commands.add('presetRepository', (id) => {
@@ -50,6 +53,16 @@ Cypress.Commands.add('presetRepository', (id) => {
50
53
  const presetRepo = JSON.parse(preset);
51
54
  return presetRepo && presetRepo.id === id
52
55
  }));
56
+ cy.log('Pre-set repository:', id);
57
+ });
58
+
59
+ Cypress.Commands.add('unsetRepository', () => {
60
+ cy.removeLocalStorage(PRESET_REPO);
61
+ cy.waitUntil(() =>
62
+ cy.getLocalStorage(PRESET_REPO)
63
+ .then((preset) => {
64
+ return !preset;
65
+ }));
53
66
  });
54
67
 
55
68
  /**
@@ -1,57 +0,0 @@
1
- import {UserAndAccessSteps} from "../../../steps/setup/user-and-access-steps";
2
- import {RepositoriesStubs} from "../../../stubs/repositories/repositories-stubs";
3
- import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
4
- import {ToasterSteps} from "../../../steps/toaster-steps";
5
- import {LoginSteps} from "../../../steps/login-steps";
6
-
7
- const DEFAULT_ADMIN_PASSWORD = "root";
8
- // Moved out of the standard test suite, because Cypress can't verify Free Access is ON in CI
9
- /**
10
- * TODO: Fix me. Broken due to migration (loader is not implemented)
11
- */
12
- describe.skip('Security and Free Access', () => {
13
- beforeEach(() => {
14
- UserAndAccessSteps.visit();
15
- cy.window();
16
- // Users table should be visible
17
- UserAndAccessSteps.getUsersTable().should('be.visible');
18
- });
19
-
20
- afterEach(() => {
21
- UserAndAccessSteps.visit();
22
- UserAndAccessSteps.getToggleSecurityCheckbox()
23
- .then(($toggle) => {
24
- if ($toggle.prop('checked')) {
25
- // Uncheck the security toggle button at the end of each test, if it is checked
26
- UserAndAccessSteps.toggleSecurity();
27
- }
28
- });
29
- });
30
-
31
- it('should toggle free access after Admin has logged in', () => {
32
- // Given I have available repositories to allow Free Access for
33
- RepositoriesStubs.stubRepositories();
34
- // When I enable security
35
- UserAndAccessSteps.toggleSecurity();
36
- // When I log in as an Admin
37
- LoginSteps.loginWithUser("admin", DEFAULT_ADMIN_PASSWORD);
38
- // Then the page should load
39
- UserAndAccessSteps.getSplashLoader().should('not.be.visible');
40
- UserAndAccessSteps.getUsersTable().should('be.visible');
41
- // The Free Access toggle should be OFF
42
- UserAndAccessSteps.getFreeAccessSwitchInput().should('not.be.checked');
43
- // When I toggle Free Access ON
44
- UserAndAccessSteps.toggleFreeAccess();
45
- // Then I click OK in the modal
46
- ModalDialogSteps.clickOKButton();
47
- // Then the toggle button should be ON
48
- UserAndAccessSteps.getFreeAccessSwitchInput().should('be.checked');
49
- // And I should see a success message
50
- ToasterSteps.verifySuccess('Free access has been enabled.');
51
- UserAndAccessSteps.getUsersTable().should('be.visible');
52
- // When I toggle Free Access OFF
53
- UserAndAccessSteps.toggleFreeAccess();
54
- // Then I should see a success message
55
- ToasterSteps.verifySuccess('Free access has been disabled.');
56
- });
57
- });
@@ -1,67 +0,0 @@
1
- import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
2
- import {RepositoriesStub} from "../../stubs/repositories-stub";
3
- import {UserAndAccessSteps} from "../../steps/setup/user-and-access-steps";
4
- import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
5
- import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
6
- import {LoginSteps} from "../../steps/login-steps";
7
-
8
- const USER_WITH_ROLE_USER = 'ttyg_user';
9
- const USER_WITH_ROLE_REPO_MANAGER = 'ttyg_repo_manager';
10
- const USER_ADMINISTRATOR = 'admin';
11
- const PASSWORD = 'root';
12
- const ENABLED = true;
13
- const DISABLED = false;
14
-
15
- describe('TTYG permissions', () => {
16
-
17
-
18
- before(() => {
19
- RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
20
- RepositoriesStub.stubBaseEndpoints('starwars');
21
- cy.presetRepository('starwars');
22
- cy.createUser({username: USER_WITH_ROLE_USER, password: PASSWORD});
23
- cy.createUser({
24
- username: USER_WITH_ROLE_REPO_MANAGER,
25
- password: PASSWORD,
26
- grantedAuthorities: ["ROLE_REPO_MANAGER", "WRITE_REPO_*", "READ_REPO_*"]
27
- });
28
- UserAndAccessSteps.visit();
29
- UserAndAccessSteps.toggleSecurity();
30
- });
31
-
32
- after(() => {
33
- UserAndAccessSteps.visit();
34
- LoginSteps.loginWithUser(USER_ADMINISTRATOR, PASSWORD);
35
- UserAndAccessSteps.toggleSecurity();
36
- cy.deleteUser(USER_WITH_ROLE_USER);
37
- cy.deleteUser(USER_WITH_ROLE_REPO_MANAGER);
38
- });
39
-
40
- it('should disable all buttons that can modify the agent', () => {
41
-
42
- // When I log in with a user who has the ROLE_USER role, I expect all buttons modifying the agent to be disabled.
43
- verifyCanCreateAgentForFirstTime(USER_WITH_ROLE_USER, PASSWORD, DISABLED);
44
-
45
- // When I log in with a user who has the ROLE_REPO_MANAGER role, I expect all buttons modifying the agent to be enabled.
46
- verifyCanCreateAgentForFirstTime(USER_WITH_ROLE_REPO_MANAGER, PASSWORD, ENABLED);
47
-
48
- // When I log in with a user who is administrator, I expect all buttons modifying the agent to be enabled.
49
- verifyCanCreateAgentForFirstTime(USER_ADMINISTRATOR, PASSWORD, ENABLED);
50
- });
51
-
52
- function verifyCanCreateAgentForFirstTime(user, password, enable) {
53
- const shouldBe = enable ? 'be.enabled' : 'be.disabled';
54
- TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
55
- TTYGViewSteps.visit();
56
- LoginSteps.loginWithUser(user, password);
57
- TTYGViewSteps.getCreateFirstAgentButton().should(shouldBe);
58
- TTYGStubs.stubChatsListGet();
59
- TTYGStubs.stubAgentListGet();
60
- TTYGStubs.stubChatGet();
61
- TTYGViewSteps.visit();
62
- TTYGViewSteps.getCreateAgentButton().should(shouldBe);
63
- TTYGViewSteps.getEditCurrentAgentButton().should(shouldBe);
64
- TTYGViewSteps.getToggleAgentsSidebarButton().should(shouldBe);
65
- LoginSteps.logout();
66
- }
67
- });