graphdb-workbench-tests 2.6.0-TR8 → 2.6.0

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.
@@ -179,22 +179,30 @@
179
179
  "apply_rule": "Confirm rule editing",
180
180
  "cancel_rule_editing": "Cancel rule editing",
181
181
  "save_acl": "Save ACL",
182
- "cancel_acl_saving": "Cancel"
182
+ "cancel_acl_saving": "Cancel",
183
+ "create_rule": "Create rule"
183
184
  },
184
185
  "messages": {
185
- "no_data": "There are no rules defined in current repository",
186
+ "no_data": "There are no rules defined in current scope",
186
187
  "invalid_form": "Fill in valid data in all fields before saving rule",
187
188
  "delete_rule_confirmation": "Are you sure you want to delete the selected rule #{{index}}?",
188
189
  "revert_acl_list": "This operation will revert all the changes done in the ACL. Are you sure you want to proceed?",
189
190
  "rules_updated": "ACL was updated successfully",
190
191
  "rules_reverted": "ACL was reverted successfully",
191
- "unsaved_changes_confirmation": "You have unsaved changes. Are you sure that you want to exit?"
192
+ "unsaved_changes_confirmation": "You have unsaved changes. Are you sure that you want to exit?",
193
+ "save_acl_to_apply_rules": "Rules are not applied until saved"
192
194
  }
193
195
  },
194
196
  "errors": {
195
197
  "loading_rules": "Error during ACL rules",
196
198
  "updating_rules": "Error during ACL rules update",
197
199
  "duplicated_rules": "Every ACL rule should be unique."
200
+ },
201
+ "defaults": {
202
+ "asterisk": "* - Any RDF value",
203
+ "default": "default - The default graph",
204
+ "named": "named - Any named graph",
205
+ "all": "all - CLEAR ALL graphs"
198
206
  }
199
207
  },
200
208
  "config.name.label": "Config name",
@@ -52,6 +52,7 @@ describe('ACL Management: rule scopes', () => {
52
52
  // I select Clear graph tab
53
53
  AclManagementSteps.selectTab(1);
54
54
  AclManagementSteps.getActiveTab().should('have.text', 'Clear graph');
55
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
55
56
  // I can create rule
56
57
  AclManagementSteps.addRuleInBeginning();
57
58
  // I fill the policy
@@ -59,15 +60,16 @@ describe('ACL Management: rule scopes', () => {
59
60
  // I fill in the role field
60
61
  AclManagementSteps.fillRole(0, 'ROLE1');
61
62
  // I fill in the context field
62
- AclManagementSteps.fillContext(0, '*');
63
+ AclManagementSteps.fillContext(0, 'all');
63
64
  // I save the rule
64
65
  AclManagementSteps.saveRule(0);
65
66
  // Then the tab label is changed
66
- AclManagementSteps.getActiveTab().should('contain', '*');
67
+ AclManagementSteps.getActiveTabDirtyIcon().should('be.visible');
67
68
 
68
69
  // I select Plugin tab
69
70
  AclManagementSteps.selectTab(2);
70
71
  AclManagementSteps.getActiveTab().should('have.text', 'Plugin');
72
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
71
73
  // I can create rule
72
74
  AclManagementSteps.addRuleInBeginning();
73
75
  // I fill the policy
@@ -81,11 +83,12 @@ describe('ACL Management: rule scopes', () => {
81
83
  // I save the rule
82
84
  AclManagementSteps.saveRule(0);
83
85
  // Then the tab label is changed
84
- AclManagementSteps.getActiveTab().should('contain', '*');
86
+ AclManagementSteps.getActiveTabDirtyIcon().should('be.visible');
85
87
 
86
88
  // I select System tab
87
89
  AclManagementSteps.selectTab(3);
88
90
  AclManagementSteps.getActiveTab().should('have.text', 'System');
91
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
89
92
  // I can create rule
90
93
  AclManagementSteps.addRuleInBeginning();
91
94
  // I fill the policy
@@ -97,11 +100,12 @@ describe('ACL Management: rule scopes', () => {
97
100
  // I save the rule
98
101
  AclManagementSteps.saveRule(0);
99
102
  // Then the tab label is changed
100
- AclManagementSteps.getActiveTab().should('contain', '*');
103
+ AclManagementSteps.getActiveTabDirtyIcon().should('be.visible');
101
104
 
102
105
  // I select Statement tab
103
106
  AclManagementSteps.selectTab(0);
104
107
  AclManagementSteps.getActiveTab().should('have.text', 'Statement');
108
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
105
109
  // I can create rule
106
110
  AclManagementSteps.addRuleInBeginning();
107
111
  // I fill the policy
@@ -121,7 +125,7 @@ describe('ACL Management: rule scopes', () => {
121
125
  // I save the rule
122
126
  AclManagementSteps.saveRule(0);
123
127
  // Then the tab label is changed
124
- AclManagementSteps.getActiveTab().should('contain', '*');
128
+ AclManagementSteps.getActiveTabDirtyIcon().should('be.visible');
125
129
 
126
130
  cy.intercept('PUT', '/rest/repositories/acl-management-*/acl').as('putCall');
127
131
 
@@ -134,7 +138,7 @@ describe('ACL Management: rule scopes', () => {
134
138
  "scope": "clear_graph",
135
139
  "policy": "deny",
136
140
  "role": "CUSTOM_ROLE1",
137
- "context": "*"
141
+ "context": "all"
138
142
  },
139
143
  {
140
144
  "scope": "plugin",
@@ -169,6 +173,7 @@ describe('ACL Management: rule scopes', () => {
169
173
 
170
174
  // I expect to be on Statement tab
171
175
  AclManagementSteps.getActiveTab().should('have.text', 'Statement');
176
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
172
177
  // I expect to have one statement rule
173
178
  AclManagementSteps.getAclRules().should('have.length', 1);
174
179
  const expectedStatementRule = {
@@ -186,17 +191,19 @@ describe('ACL Management: rule scopes', () => {
186
191
  // I visit Clear graph tab
187
192
  AclManagementSteps.selectTab(1);
188
193
  AclManagementSteps.getActiveTab().should('have.text', 'Clear graph');
194
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
189
195
  const expectedClearGraphRule = {
190
196
  "scope": "clear_graph",
191
197
  "policy": "deny",
192
198
  "role": "ROLE1",
193
- "context": "*"
199
+ "context": "all"
194
200
  };
195
201
  AclManagementSteps.checkClearGraphRules([expectedClearGraphRule]);
196
202
 
197
203
  // I visit Plugin tab
198
204
  AclManagementSteps.selectTab(2);
199
205
  AclManagementSteps.getActiveTab().should('have.text', 'Plugin');
206
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
200
207
  const expectedPluginRule = {
201
208
  "scope": "plugin",
202
209
  "policy": "deny",
@@ -209,6 +216,7 @@ describe('ACL Management: rule scopes', () => {
209
216
  // I visit System tab
210
217
  AclManagementSteps.selectTab(3);
211
218
  AclManagementSteps.getActiveTab().should('have.text', 'System');
219
+ AclManagementSteps.getActiveTabDirtyIcon().should('not.exist');
212
220
  const expectedSystemRule = {
213
221
  "scope": "system",
214
222
  "policy": "allow",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphdb-workbench-tests",
3
- "version": "2.6.0-TR8",
3
+ "version": "2.6.0",
4
4
  "description": "Cypress tests for GraphDB workbench",
5
5
  "scripts": {
6
6
  "start": "cypress open",
@@ -69,6 +69,10 @@ export class AclManagementSteps {
69
69
  return this.getAclTabs().eq(index).click();
70
70
  }
71
71
 
72
+ static getActiveTabDirtyIcon() {
73
+ return this.getActiveTab().find('.icon-exclamation');
74
+ }
75
+
72
76
  static addRuleInBeginning() {
73
77
  this.getAddFirstRuleButton().click();
74
78
  }
@@ -122,7 +126,7 @@ export class AclManagementSteps {
122
126
  }
123
127
 
124
128
  static fillSubject(index, value) {
125
- this.getSubjectField(index).clear().type(value);
129
+ this.getSubjectField(index).clear({force: true}).scrollIntoView().type(value);
126
130
  }
127
131
 
128
132
  static getPredicateField(index) {
@@ -130,7 +134,7 @@ export class AclManagementSteps {
130
134
  }
131
135
 
132
136
  static fillPredicate(index, value) {
133
- this.getPredicateField(index).clear().type(value);
137
+ this.getPredicateField(index).clear({force: true}).scrollIntoView().type(value);
134
138
  }
135
139
 
136
140
  static getObjectField(index) {
@@ -138,7 +142,7 @@ export class AclManagementSteps {
138
142
  }
139
143
 
140
144
  static fillObject(index, value) {
141
- this.getObjectField(index).clear().type(value);
145
+ this.getObjectField(index).clear({force: true}).scrollIntoView().type(value);
142
146
  }
143
147
 
144
148
  static getContextField(index) {
@@ -146,7 +150,7 @@ export class AclManagementSteps {
146
150
  }
147
151
 
148
152
  static fillContext(index, value) {
149
- this.getContextField(index).clear().type(value);
153
+ this.getContextField(index).clear({force: true}).scrollIntoView().type(value);
150
154
  }
151
155
 
152
156
  static getRoleField(index) {