graphdb-workbench-tests 2.7.0-TR13 → 2.7.0-TR15
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/fixtures/locale-en.json +16 -10
- package/integration/cluster/cluster-management.spec.js +0 -3
- package/integration/import/import-server-files.spec.js +5 -1
- package/integration/import/import-user-data.spec.js +9 -5
- package/integration/setup/aclmanagement/create-rule.spec.js +15 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/steps/import/import-steps.js +5 -0
- package/steps/setup/acl-management-steps.js +4 -0
package/fixtures/locale-en.json
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"link_state_in_sync": "In sync",
|
|
33
33
|
"link_state_syncing": "Syncing",
|
|
34
34
|
"link_state_out_of_sync": "Out of sync",
|
|
35
|
+
"link_state_receiving_snapshot": "Receiving a snapshot",
|
|
35
36
|
"link_state_recovering": "Recovering",
|
|
36
37
|
"recovery_state": {
|
|
37
38
|
"searching_for_node": "Searching for node",
|
|
@@ -202,7 +203,8 @@
|
|
|
202
203
|
"errors": {
|
|
203
204
|
"loading_rules": "Error during ACL rules",
|
|
204
205
|
"updating_rules": "Error during ACL rules update",
|
|
205
|
-
"duplicated_rules": "Every ACL rule should be unique."
|
|
206
|
+
"duplicated_rules": "Every ACL rule should be unique.",
|
|
207
|
+
"role_length_too_short": "Too short"
|
|
206
208
|
},
|
|
207
209
|
"defaults": {
|
|
208
210
|
"asterisk": "* - Any RDF value",
|
|
@@ -986,26 +988,30 @@
|
|
|
986
988
|
"copied_to_clipboard": "Copied to clipboard"
|
|
987
989
|
},
|
|
988
990
|
"on_upload": {
|
|
989
|
-
"import_user_data": "Import
|
|
990
|
-
"
|
|
991
|
-
"file_size_limit_can_be_changed": "The file size limit can be changed by setting the",
|
|
991
|
+
"import_user_data": "Import RDF files from your computer, from a URL, or type or paste RDF data",
|
|
992
|
+
"file_size_limit_can_be_changed": "The file size limit for uploads can be changed by setting the",
|
|
992
993
|
"the_property": " property",
|
|
993
994
|
"execution": "Import execution",
|
|
994
995
|
"work_in_background": "Imports are executed in the background while you continue working on other things.",
|
|
996
|
+
"to_reimport_again": "To reimport a file, URL or text snippet click the Import button again.",
|
|
995
997
|
"interrupt_support": "Interrupt is supported only when the location is local.",
|
|
996
998
|
"parser_config": "Parser config options are not available for remote locations."
|
|
997
999
|
},
|
|
998
1000
|
"on_server_import": {
|
|
999
|
-
"import_from_server": "
|
|
1000
|
-
"open_directory": "
|
|
1001
|
-
"put_files_into": "
|
|
1001
|
+
"import_from_server": "Import files from the server where GraphDB is running",
|
|
1002
|
+
"open_directory": "Put files or directories you want to import into the",
|
|
1003
|
+
"put_files_into": "directory on the GraphDB server. Create the directory if necessary.",
|
|
1002
1004
|
"directory_can_be_changed": "The directory can be changed by setting the",
|
|
1003
|
-
"the_property": "property"
|
|
1005
|
+
"the_property": "property",
|
|
1006
|
+
"execution": "Import execution",
|
|
1007
|
+
"work_in_background": "Imports are executed in the background while you continue working on other things.",
|
|
1008
|
+
"to_reimport_again": "To reimport a file, URL or text snippet click the Import button again.",
|
|
1009
|
+
"interrupt_support": "Interrupt is supported only when the location is local."
|
|
1004
1010
|
},
|
|
1005
1011
|
"on_file_size_limit": {
|
|
1006
|
-
"
|
|
1012
|
+
"file_import_options_info_1": "Explore other file import options - ",
|
|
1013
|
+
"file_import_options_info_2": "import (opens Server files tab) or ",
|
|
1007
1014
|
"server_files_link": "Server files",
|
|
1008
|
-
"import_or_use": "import or use the",
|
|
1009
1015
|
"api_link": "API"
|
|
1010
1016
|
}
|
|
1011
1017
|
},
|
|
@@ -119,7 +119,6 @@ describe('Cluster management', () => {
|
|
|
119
119
|
ClusterPageSteps.previewClusterConfig();
|
|
120
120
|
ClusterConfigurationSteps.getClusterConfig().should('be.visible');
|
|
121
121
|
ClusterConfigurationSteps.deleteCluster();
|
|
122
|
-
// ClusterConfigurationSteps.closeConfigurationPanel();
|
|
123
122
|
// Then I expect a confirmation dialog to appear
|
|
124
123
|
DeleteClusterDialogSteps.getDialog().should('be.visible');
|
|
125
124
|
// When I confirm
|
|
@@ -131,8 +130,6 @@ describe('Cluster management', () => {
|
|
|
131
130
|
ClusterStubs.stubNoClusterConfig();
|
|
132
131
|
RemoteLocationStubs.stubRemoteLocationStatusNotCluster();
|
|
133
132
|
DeleteClusterDialogSteps.getDialog().should('not.exist');
|
|
134
|
-
ClusterPageSteps.previewClusterConfig();
|
|
135
|
-
ClusterConfigurationSteps.getDeleteClusterButton().should('be.hidden');
|
|
136
133
|
ClusterPageSteps.getRemoveNodesButton().should('not.exist');
|
|
137
134
|
ClusterPageSteps.getAddNodesButton().should('not.exist');
|
|
138
135
|
ClusterPageSteps.getReplaceNodesButton().should('not.exist');
|
|
@@ -41,7 +41,11 @@ describe('Import server files', () => {
|
|
|
41
41
|
|
|
42
42
|
it('Should be able to toggle the server file import help', () => {
|
|
43
43
|
// When the page is loaded
|
|
44
|
-
// Then I
|
|
44
|
+
// Then I expect import help message to be hidden because it is not an empty state
|
|
45
|
+
ImportServerFilesSteps.getHelpMessage().should('not.exist');
|
|
46
|
+
// When I click on the help button
|
|
47
|
+
ImportServerFilesSteps.openHelpMessage();
|
|
48
|
+
// Then the help should appear
|
|
45
49
|
ImportServerFilesSteps.getHelpMessage().should('be.visible');
|
|
46
50
|
// When I close the help
|
|
47
51
|
ImportServerFilesSteps.closeHelpMessage();
|
|
@@ -80,20 +80,24 @@ describe('Import user data', () => {
|
|
|
80
80
|
ImportUserDataSteps.getResources().should('have.length', 0);
|
|
81
81
|
// Then I should see the user data import help
|
|
82
82
|
ImportUserDataSteps.getHelpMessage().should('be.visible');
|
|
83
|
-
// When I
|
|
83
|
+
// When I upload a text snippet
|
|
84
84
|
ImportUserDataSteps.openImportTextSnippetDialog();
|
|
85
85
|
ImportUserDataSteps.fillRDFTextSnippet(RDF_TEXT_SNIPPET);
|
|
86
86
|
ImportUserDataSteps.clickImportTextSnippetButton();
|
|
87
87
|
ImportSettingsDialogSteps.import();
|
|
88
88
|
ImportUserDataSteps.getResources().should('have.length', 1);
|
|
89
|
-
//
|
|
90
|
-
ImportUserDataSteps.
|
|
91
|
-
//
|
|
89
|
+
// Then the help should disappear because it's not an empty state anymore
|
|
90
|
+
ImportUserDataSteps.getHelpMessage().should('not.exist');
|
|
91
|
+
// When I open the help message
|
|
92
|
+
ImportUserDataSteps.openHelpMessage();
|
|
93
|
+
// Then the help message should appear
|
|
94
|
+
ImportUserDataSteps.getHelpMessage().should('be.visible');
|
|
95
|
+
// When I visit another page and return
|
|
92
96
|
cy.visit('/webapi');
|
|
93
97
|
cy.url().should('include', '/webapi');
|
|
94
98
|
ImportUserDataSteps.visit();
|
|
95
99
|
ImportUserDataSteps.getResources().should('have.length', 1);
|
|
96
|
-
// Then the help should not appear because
|
|
100
|
+
// Then the help should not appear because it's not an empty state
|
|
97
101
|
ImportUserDataSteps.getHelpMessage().should('not.exist');
|
|
98
102
|
// When I delete the uploaded file
|
|
99
103
|
ImportUserDataSteps.deleteUploadedFile(0);
|
|
@@ -199,5 +199,20 @@ describe('ACL Management: create rule', () => {
|
|
|
199
199
|
// Then I expect an error notification to be displayed that describe me that ACL have to be unique.
|
|
200
200
|
ApplicationSteps.getErrorNotifications().contains('Every ACL rule should be unique.');
|
|
201
201
|
});
|
|
202
|
+
|
|
203
|
+
it('should not allow creating a new rule if CUSTOM ROLE is less than 2 symbols', () => {
|
|
204
|
+
// When I am on "ACL Management" page and create a new rule with a CUSTOM ROLE of 1 symbol
|
|
205
|
+
AclManagementSteps.addRuleInBeginning();
|
|
206
|
+
AclManagementSteps.selectPolicy(0, 'allow');
|
|
207
|
+
AclManagementSteps.fillRole(0, 'A');
|
|
208
|
+
AclManagementSteps.selectOperation(0, 'write');
|
|
209
|
+
AclManagementSteps.fillSubject(0, '<urn:Mary>');
|
|
210
|
+
AclManagementSteps.fillPredicate(0, '*');
|
|
211
|
+
AclManagementSteps.fillObject(0, '*');
|
|
212
|
+
AclManagementSteps.fillContext(0, '*');
|
|
213
|
+
|
|
214
|
+
// Then I expect an error notification to be displayed that tells me this ROLE length is not allowed
|
|
215
|
+
AclManagementSteps.getFieldError().contains('Too short');
|
|
216
|
+
});
|
|
202
217
|
});
|
|
203
218
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphdb-workbench-tests",
|
|
3
|
-
"version": "2.7.0-
|
|
3
|
+
"version": "2.7.0-TR15",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "graphdb-workbench-tests",
|
|
9
|
-
"version": "2.7.0-
|
|
9
|
+
"version": "2.7.0-TR15",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"cypress": "^13.3.1",
|
package/package.json
CHANGED
|
@@ -143,6 +143,11 @@ class ImportSteps {
|
|
|
143
143
|
return cy.window().its('navigator.clipboard').invoke('readText').then((text) => text);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
static openHelpMessage() {
|
|
147
|
+
// For some reason the page info box opens unexpectedly and covers the help info icon.
|
|
148
|
+
this.getView().find('.toggle-help-btn').click({force: true});
|
|
149
|
+
}
|
|
150
|
+
|
|
146
151
|
static closeHelpMessage() {
|
|
147
152
|
return this.getHelpMessage().find('button.close').click();
|
|
148
153
|
}
|
|
@@ -161,6 +161,10 @@ export class AclManagementSteps {
|
|
|
161
161
|
this.getRoleField(index).clear().type(value);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
+
static getFieldError() {
|
|
165
|
+
return cy.get('div.small');
|
|
166
|
+
}
|
|
167
|
+
|
|
164
168
|
static getPluginField(index) {
|
|
165
169
|
return this.getRule(index).find('.plugin-cell textarea');
|
|
166
170
|
}
|