graphdb-workbench-tests 2.7.2 → 2.7.3-RC1
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 +1 -0
- package/integration/cluster/cluster-management.spec.js +22 -0
- package/integration/import/import-server-files.spec.js +2 -2
- package/integration/import/import-user-data-file-upload.spec.js +35 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/steps/import/import-resource-message-dialog.js +4 -23
- package/steps/import/import-settings-dialog-steps.js +20 -0
- package/steps/modal-dialog-steps.js +6 -2
package/fixtures/locale-en.json
CHANGED
|
@@ -1522,6 +1522,7 @@
|
|
|
1522
1522
|
"password.required": "Password*",
|
|
1523
1523
|
"my.password.placeholder": "my-password",
|
|
1524
1524
|
"signature.auth.info": "Signature authentication uses the token secret, which must be the same on all GraphDB instances. For more information on configuring the token secret, please refer to ",
|
|
1525
|
+
"signature.cluster.auth.info": "The token secret must be the same on all GraphDB instances. For more information on configuring the token secret, please refer to ",
|
|
1525
1526
|
"signature.auth.info.last": " in the documentation.",
|
|
1526
1527
|
"update.file.content.header": "Update file contents",
|
|
1527
1528
|
"update.file.edit.content.header": "Edit \"{{fileName}}\" contents",
|
|
@@ -187,6 +187,28 @@ describe('Cluster management', () => {
|
|
|
187
187
|
ReplaceNodesDialogSteps.getDialog().should('not.exist');
|
|
188
188
|
ApplicationSteps.getSuccessNotifications().should('be.visible');
|
|
189
189
|
});
|
|
190
|
+
|
|
191
|
+
it('Should not see "Authentication type" while attaching remote GDB node in cluster view', () => {
|
|
192
|
+
// Given I have opened the cluster management page
|
|
193
|
+
ClusterPageSteps.visit();
|
|
194
|
+
|
|
195
|
+
// When there is no cluster configured yet
|
|
196
|
+
ClusterStubs.stubNoClusterGroupStatus();
|
|
197
|
+
ClusterStubs.stubNoClusterNodeStatus();
|
|
198
|
+
ClusterStubs.stubNoClusterConfig();
|
|
199
|
+
RemoteLocationStubs.stubAddRemoteLocation();
|
|
200
|
+
RemoteLocationStubs.stubGetRemoteLocations(0);
|
|
201
|
+
|
|
202
|
+
// When I open the create cluster dialog
|
|
203
|
+
ClusterPageSteps.getClusterPage().should('be.visible');
|
|
204
|
+
ClusterPageSteps.createCluster();
|
|
205
|
+
CreateClusterDialogSteps.getDialog().should('be.visible');
|
|
206
|
+
// And I add a remote location
|
|
207
|
+
RemoteLocationStubs.stubRemoteLocationCheck();
|
|
208
|
+
CreateClusterDialogSteps.openAddRemoteLocationDialog();
|
|
209
|
+
AddRemoteLocationDialogSteps.getDialog().should('be.visible');
|
|
210
|
+
AddRemoteLocationDialogSteps.verifyDialogBody("The token secret must be the same on all GraphDB instances. For more information on configuring the token secret, please refer to ");
|
|
211
|
+
});
|
|
190
212
|
});
|
|
191
213
|
|
|
192
214
|
function addRemoteLocation(location, locationsCount) {
|
|
@@ -124,13 +124,13 @@ describe('Import server files', () => {
|
|
|
124
124
|
ImportServerFilesSteps.openErrorDialog(importResourceName);
|
|
125
125
|
|
|
126
126
|
// Then I expect to see dialog,
|
|
127
|
-
|
|
127
|
+
ImportResourceMessageDialog.getDialog().should('be.visible');
|
|
128
128
|
|
|
129
129
|
// with full error message
|
|
130
130
|
ImportResourceMessageDialog.getMessage().should('have.value', 'RDF Parse Error: The element type "ex:looooooooooooooooooooooooooooooooongTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaame" must be terminated by the matching end-tag "</ex:looooooooooooooooooooooooooooooooongTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaame>". [line 9, column 6]');
|
|
131
131
|
|
|
132
132
|
// When I click on corner close button.
|
|
133
|
-
ImportResourceMessageDialog.
|
|
133
|
+
ImportResourceMessageDialog.close();
|
|
134
134
|
|
|
135
135
|
// // Then I expect the dialog closed
|
|
136
136
|
ImportResourceMessageDialog.getDialog().should('not.exist');
|
|
@@ -47,6 +47,40 @@ describe('Import user data: File upload', () => {
|
|
|
47
47
|
// Then I should see the uploaded file
|
|
48
48
|
ImportUserDataSteps.getResources().should('have.length', 1);
|
|
49
49
|
ImportUserDataSteps.checkImportedResource(0, 'bnodes.ttl');
|
|
50
|
+
// When I try to import the same file again
|
|
51
|
+
ImportUserDataSteps.importFile(0);
|
|
52
|
+
// Then I should not see the upload only option
|
|
53
|
+
ImportSettingsDialogSteps.getDialog().should('be.visible');
|
|
54
|
+
ImportSettingsDialogSteps.getUploadOnlyButton().should('not.exist');
|
|
55
|
+
ImportSettingsDialogSteps.getCancelUploadButton().should('be.visible');
|
|
56
|
+
ImportSettingsDialogSteps.import();
|
|
57
|
+
ImportSettingsDialogSteps.getDialog().should('not.exist');
|
|
58
|
+
ImportUserDataSteps.getResources().should('have.length', 1);
|
|
59
|
+
ImportUserDataSteps.checkImportedResource(0, 'bnodes.ttl');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('Should be able to cancel the file upload', () => {
|
|
63
|
+
// Given there are no files uploaded yet
|
|
64
|
+
ImportUserDataSteps.getResourcesTable().should('be.hidden');
|
|
65
|
+
// And I have selected to upload a file
|
|
66
|
+
ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
|
|
67
|
+
ImportSettingsDialogSteps.getDialog().should('be.visible');
|
|
68
|
+
// When I cancel the file upload via the cancel button
|
|
69
|
+
ImportSettingsDialogSteps.cancelUpload();
|
|
70
|
+
// Then the file upload dialog should close
|
|
71
|
+
ImportSettingsDialogSteps.getDialog().should('not.exist');
|
|
72
|
+
// And there should be no files uploaded
|
|
73
|
+
ImportUserDataSteps.getResourcesTable().should('be.hidden');
|
|
74
|
+
// When I select to upload a file again
|
|
75
|
+
ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
|
|
76
|
+
// Then the import settings dialog should open
|
|
77
|
+
ImportSettingsDialogSteps.getDialog().should('be.visible');
|
|
78
|
+
// And I close the file upload dialog via the close button
|
|
79
|
+
ImportSettingsDialogSteps.close();
|
|
80
|
+
// Then the file upload dialog should close
|
|
81
|
+
ImportSettingsDialogSteps.getDialog().should('not.exist');
|
|
82
|
+
// And there should be no files uploaded
|
|
83
|
+
ImportUserDataSteps.getResourcesTable().should('be.hidden');
|
|
50
84
|
});
|
|
51
85
|
|
|
52
86
|
it('Should allow replacing graph when uploading and importing single file', () => {
|
|
@@ -97,7 +131,7 @@ describe('Import user data: File upload', () => {
|
|
|
97
131
|
// When I start to upload a file
|
|
98
132
|
ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
|
|
99
133
|
// Then the import settings dialog should open automatically
|
|
100
|
-
ImportSettingsDialogSteps.
|
|
134
|
+
ImportSettingsDialogSteps.uploadOnly();
|
|
101
135
|
// Then I should see the uploaded file
|
|
102
136
|
ImportUserDataSteps.getResources().should('have.length', 1);
|
|
103
137
|
ImportUserDataSteps.checkUserDataUploadedResource(0, 'bnodes.ttl');
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphdb-workbench-tests",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3-RC1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "graphdb-workbench-tests",
|
|
9
|
-
"version": "2.7.
|
|
9
|
+
"version": "2.7.3-RC1",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"cypress": "^13.3.1",
|
package/package.json
CHANGED
|
@@ -1,27 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import {ModalDialogSteps} from "../modal-dialog-steps";
|
|
2
2
|
|
|
3
|
+
export class ImportResourceMessageDialog extends ModalDialogSteps {
|
|
3
4
|
static getDialog() {
|
|
4
|
-
return
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
static getDialogHeader() {
|
|
8
|
-
return ImportResourceMessageDialog.getDialog().find('.modal-header');
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
static getCornerCloseButton() {
|
|
12
|
-
return ImportResourceMessageDialog.getDialogHeader().find('.close');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static clickOnCornerCloseButton() {
|
|
16
|
-
ImportResourceMessageDialog.getCornerCloseButton().click();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static getDialogBody() {
|
|
20
|
-
return ImportResourceMessageDialog.getDialog().find('.modal-body');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static getDialogFooter() {
|
|
24
|
-
return ImportResourceMessageDialog.getDialog().find('.modal-footer');
|
|
5
|
+
return super.getDialog('.import-resource-message-dialog');
|
|
25
6
|
}
|
|
26
7
|
|
|
27
8
|
static getCloseButton() {
|
|
@@ -37,7 +18,7 @@ export class ImportResourceMessageDialog {
|
|
|
37
18
|
}
|
|
38
19
|
|
|
39
20
|
static getCopyToClipboard() {
|
|
40
|
-
return ImportResourceMessageDialog.getDialogFooter().find('.copy-to-clipboard-btn')
|
|
21
|
+
return ImportResourceMessageDialog.getDialogFooter().find('.copy-to-clipboard-btn');
|
|
41
22
|
}
|
|
42
23
|
|
|
43
24
|
static copyToClipboard() {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import {ModalDialogSteps} from "../modal-dialog-steps";
|
|
2
2
|
|
|
3
3
|
export class ImportSettingsDialogSteps extends ModalDialogSteps {
|
|
4
|
+
static getDialog() {
|
|
5
|
+
return super.getDialog('.import-settings-modal');
|
|
6
|
+
}
|
|
7
|
+
|
|
4
8
|
static getImportButton() {
|
|
5
9
|
return this.getDialog().find('.import-settings-import-button');
|
|
6
10
|
}
|
|
@@ -17,6 +21,22 @@ export class ImportSettingsDialogSteps extends ModalDialogSteps {
|
|
|
17
21
|
this.getCancelImportButton().click();
|
|
18
22
|
}
|
|
19
23
|
|
|
24
|
+
static getUploadOnlyButton() {
|
|
25
|
+
return this.getDialog().find('.upload-only-button');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static uploadOnly() {
|
|
29
|
+
this.getUploadOnlyButton().click();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getCancelUploadButton() {
|
|
33
|
+
return this.getDialog().find('.cancel-btn');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static cancelUpload() {
|
|
37
|
+
this.getCancelUploadButton().click();
|
|
38
|
+
}
|
|
39
|
+
|
|
20
40
|
static getSettingsForm() {
|
|
21
41
|
return this.getDialog().find('.settings-form');
|
|
22
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export class ModalDialogSteps {
|
|
2
|
-
static getDialog() {
|
|
3
|
-
return cy.get(
|
|
2
|
+
static getDialog(cssClass = '.modal-dialog') {
|
|
3
|
+
return cy.get(cssClass);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
static getDialogHeader() {
|
|
@@ -15,6 +15,10 @@ export class ModalDialogSteps {
|
|
|
15
15
|
ModalDialogSteps.getCloseButton().click();
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
static close() {
|
|
19
|
+
this.clickOnCloseButton();
|
|
20
|
+
}
|
|
21
|
+
|
|
18
22
|
static getDialogBody() {
|
|
19
23
|
return ModalDialogSteps.getDialog().find('.modal-body');
|
|
20
24
|
}
|