graphdb-workbench-tests 3.4.0-dynamic-guides-test → 3.4.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.
- package/e2e-legacy/cluster/cluster-states.spec.js +3 -3
- package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +58 -0
- package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +167 -0
- package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +55 -78
- package/e2e-legacy/graphql/graphql-in-remote-location.spec.js +49 -0
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +2 -1
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +34 -26
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +1 -0
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +330 -124
- package/e2e-legacy/help/guides/guides-autostart.spec.js +36 -3
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
- package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +182 -0
- package/e2e-legacy/home/create-repository.spec.js +6 -0
- package/e2e-legacy/repository/attach-remote-location.spec.js +47 -12
- package/e2e-legacy/resource/resource.spec.js +33 -13
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +44 -0
- package/e2e-legacy/sparql-editor/actions/expand-results-over-sameas.spec.js +8 -8
- package/e2e-legacy/sparql-editor/actions/include-inferred-statements.spec.js +4 -4
- package/e2e-legacy/sparql-editor/actions/inferred-sameas.spec.js +3 -3
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +90 -36
- package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
- package/e2e-legacy/ttyg/chat-panel.spec.js +9 -0
- package/e2e-legacy/ttyg/clone-agent.spec.js +22 -0
- package/e2e-legacy/ttyg/edit-agent.spec.js +17 -0
- package/e2e-security/setup/home/cookie-policy.spec.js +232 -6
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +72 -59
- package/fixtures/graph/graph-configurations.json +59 -0
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
- package/fixtures/guides/navigation/navigation-guide.json +60 -0
- package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +6 -1
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
- package/fixtures/ttyg/chats/explain-response-1.json +2 -48
- package/npm-shrinkwrap.json +32 -33
- package/package.json +1 -1
- package/steps/cookie-policy/cookie-consent-banner-steps.js +21 -0
- package/steps/cookie-policy/cookie-policy-modal.steps.js +56 -0
- package/steps/graphql/create-graphql-endpoint-steps.js +8 -0
- package/steps/graphql/graphql-endpoint-management-steps.js +8 -0
- package/steps/graphql/graphql-playground-steps.js +8 -0
- package/steps/guides/guide-dialog-steps.js +56 -2
- package/steps/guides/movies-guide-steps.js +2 -1
- package/steps/header-steps.js +13 -0
- package/steps/home-steps.js +4 -27
- package/steps/login-steps.js +1 -0
- package/steps/main-menu-steps.js +1 -0
- package/steps/repositories/attach-repository-steps.js +16 -0
- package/steps/repository-steps.js +24 -0
- package/steps/resource/resource-steps.js +0 -8
- package/steps/setup/acl-management-steps.js +12 -0
- package/steps/setup/settings-steps.js +1 -1
- package/steps/shared-modal-dialog-steps.js +45 -0
- package/steps/sparql-editor-steps.js +18 -4
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +1 -1
- package/steps/visual-graph-split-button-steps.js +45 -0
- package/steps/visual-graph-steps.js +69 -3
- package/steps/yasgui/yasr-steps.js +30 -6
- package/stubs/cluster/remote-location-stubs.js +4 -0
- package/stubs/graph-config-stubs.js +17 -0
- package/stubs/guides/guides-stubs.js +8 -0
- package/stubs/repositories/repositories-stubs.js +22 -0
- package/stubs/security-stubs.js +4 -0
- package/stubs/sparql-stubs.js +10 -0
- package/support/commands.js +1 -0
- package/support/e2e-security.js +1 -1
- package/support/repository-commands.js +22 -3
- package/support/settings-commands.js +18 -2
- package/support/url-commands.js +13 -0
- package/e2e-legacy/home/cookie-policy.spec.js +0 -108
|
@@ -3,6 +3,7 @@ import {UserAndAccessSteps} from "../../../steps/setup/user-and-access-steps";
|
|
|
3
3
|
import {LoginSteps} from "../../../steps/login-steps";
|
|
4
4
|
import {ToasterSteps} from "../../../steps/toaster-steps";
|
|
5
5
|
import {HeaderSteps} from '../../../steps/header-steps.js';
|
|
6
|
+
import HomeSteps from '../../../steps/home-steps.js';
|
|
6
7
|
|
|
7
8
|
describe('Turn on Security', () => {
|
|
8
9
|
|
|
@@ -11,76 +12,88 @@ describe('Turn on Security', () => {
|
|
|
11
12
|
cy.switchOnSecurity();
|
|
12
13
|
});
|
|
13
14
|
|
|
14
|
-
afterEach(() =>{
|
|
15
|
+
afterEach(() => {
|
|
15
16
|
cy.loginAsAdmin();
|
|
16
17
|
cy.switchOffSecurity(true);
|
|
17
18
|
})
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
it('should enable security and show login screen', () => {
|
|
21
|
+
// Navigate to Users & Access
|
|
22
|
+
UserAndAccessSteps.visit();
|
|
23
|
+
// Verify we are redirected to login page
|
|
24
|
+
cy.url().should('include', '/login');
|
|
25
|
+
HeaderSteps.getHeader().should('not.exist');
|
|
26
|
+
MainMenuSteps.getMainMenu().should('not.exist');
|
|
27
|
+
});
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
it('should reject wrong credentials and accept admin/root', () => {
|
|
30
|
+
// Attempt login with invalid credentials
|
|
31
|
+
LoginSteps.visitLoginPage();
|
|
32
|
+
LoginSteps.loginWithUser('wrongUser', 'wrongPass');
|
|
33
|
+
// Expect error message
|
|
34
|
+
ToasterSteps.verifyNewToasterError('Wrong credentials');
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
// Login with correct admin credentials
|
|
37
|
+
LoginSteps.visitLoginPage();
|
|
38
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
39
|
+
cy.url().should('include', '/');
|
|
40
|
+
});
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
it('should show toaster after logging out', () => {
|
|
43
|
+
UserAndAccessSteps.visit();
|
|
44
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
45
|
+
// Verify we are logged in
|
|
46
|
+
UserAndAccessSteps.getUsersCatalogContainer().should('be.visible');
|
|
47
|
+
// Log out
|
|
48
|
+
HeaderSteps.logout();
|
|
49
|
+
cy.url().should('include', '/login');
|
|
50
|
+
// Verify toaster message
|
|
51
|
+
ToasterSteps.verifySuccess('Signed out');
|
|
52
|
+
})
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
describe('Password Change', () => {
|
|
55
|
+
afterEach(() => {
|
|
56
|
+
// Reset password back to original value for test isolation
|
|
57
|
+
UserAndAccessSteps.visit();
|
|
58
|
+
UserAndAccessSteps.openEditUserPage('admin');
|
|
59
|
+
UserAndAccessSteps.typePassword('root');
|
|
60
|
+
UserAndAccessSteps.typeConfirmPasswordField('root');
|
|
61
|
+
UserAndAccessSteps.confirmUserEdit();
|
|
62
|
+
UserAndAccessSteps.getUsersCatalogContainer().should('be.visible');
|
|
63
|
+
})
|
|
50
64
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
it('should change admin password and enforce new credentials', () => {
|
|
66
|
+
// Navigate to Users & Access after login
|
|
67
|
+
UserAndAccessSteps.visit();
|
|
68
|
+
// Verify we are redirected to login page
|
|
69
|
+
cy.url().should('include', '/login');
|
|
70
|
+
// Login with admin credentials
|
|
71
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
72
|
+
// Verify we are logged in
|
|
73
|
+
UserAndAccessSteps.getUsersCatalogContainer().should('be.visible');
|
|
56
74
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
cy.url().should('include', '/login');
|
|
75
|
+
// Open edit page for admin user
|
|
76
|
+
UserAndAccessSteps.openEditUserPage('admin');
|
|
60
77
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
// Change password to a new value
|
|
79
|
+
let newPassword = 'MyNewP@ssw0rd!';
|
|
80
|
+
UserAndAccessSteps.typePassword(newPassword);
|
|
81
|
+
UserAndAccessSteps.typeConfirmPasswordField(newPassword);
|
|
82
|
+
UserAndAccessSteps.confirmUserEdit();
|
|
64
83
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
MainMenuSteps.clickOnUsersAndAccess();
|
|
69
|
-
// Open edit page for admin user
|
|
70
|
-
UserAndAccessSteps.openEditUserPage('admin');
|
|
71
|
-
newPassword = 'root';
|
|
72
|
-
UserAndAccessSteps.typePassword(newPassword);
|
|
73
|
-
UserAndAccessSteps.typeConfirmPasswordField(newPassword);
|
|
74
|
-
UserAndAccessSteps.confirmUserEdit();
|
|
75
|
-
});
|
|
84
|
+
// Log out
|
|
85
|
+
LoginSteps.logout();
|
|
86
|
+
cy.url().should('include', '/login');
|
|
76
87
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
// Attempt login with old password
|
|
89
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
90
|
+
ToasterSteps.verifyNewToasterError('Wrong credentials');
|
|
91
|
+
|
|
92
|
+
// Attempt login with new password
|
|
93
|
+
LoginSteps.visitLoginPage();
|
|
94
|
+
LoginSteps.loginWithUser('admin', newPassword);
|
|
95
|
+
// Verify we are logged in and we are on the home page
|
|
96
|
+
HomeSteps.getView().should('be.visible');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
86
99
|
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "de99fd5de7f94ef98f1875dff55fc1c9",
|
|
4
|
+
"name": "Graph Config 1",
|
|
5
|
+
"startMode": "search",
|
|
6
|
+
"owner": "admin",
|
|
7
|
+
"startQueryIncludeInferred": true,
|
|
8
|
+
"startQuerySameAs": true,
|
|
9
|
+
"startGraphQuery": "# CONSTRUCT or DESCRIBE query. The results will be rendered visually as a graph of triples.\nCONSTRUCT WHERE {\n\t?s ?p ?o\n} LIMIT 10",
|
|
10
|
+
"startIRI": null,
|
|
11
|
+
"startIRILabel": null,
|
|
12
|
+
"expandQuery": null,
|
|
13
|
+
"resourceQuery": null,
|
|
14
|
+
"predicateLabelQuery": null,
|
|
15
|
+
"resourcePropertiesQuery": null,
|
|
16
|
+
"shared": false,
|
|
17
|
+
"description": null,
|
|
18
|
+
"hint": null,
|
|
19
|
+
"repositoryId": "A_test"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "94cab6579df445c68c454b2156013811",
|
|
23
|
+
"name": "Graph Config 1",
|
|
24
|
+
"startMode": "search",
|
|
25
|
+
"owner": "admin",
|
|
26
|
+
"startQueryIncludeInferred": true,
|
|
27
|
+
"startQuerySameAs": true,
|
|
28
|
+
"startGraphQuery": "# CONSTRUCT or DESCRIBE query. The results will be rendered visually as a graph of triples.\nCONSTRUCT WHERE {\n\t?s ?p ?o\n} LIMIT 10",
|
|
29
|
+
"startIRI": null,
|
|
30
|
+
"startIRILabel": null,
|
|
31
|
+
"expandQuery": null,
|
|
32
|
+
"resourceQuery": null,
|
|
33
|
+
"predicateLabelQuery": null,
|
|
34
|
+
"resourcePropertiesQuery": null,
|
|
35
|
+
"shared": false,
|
|
36
|
+
"description": null,
|
|
37
|
+
"hint": null,
|
|
38
|
+
"repositoryId": null
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "94cab6579df445c68c454b2156013661",
|
|
42
|
+
"name": "Graph Config 1",
|
|
43
|
+
"startMode": "query",
|
|
44
|
+
"owner": "admin",
|
|
45
|
+
"startQueryIncludeInferred": true,
|
|
46
|
+
"startQuerySameAs": true,
|
|
47
|
+
"startGraphQuery": "# CONSTRUCT or DESCRIBE query. The results will be rendered visually as a graph of triples.\nCONSTRUCT WHERE {\n\t?s ?p ?o\n} LIMIT 10",
|
|
48
|
+
"startIRI": null,
|
|
49
|
+
"startIRILabel": null,
|
|
50
|
+
"expandQuery": null,
|
|
51
|
+
"resourceQuery": null,
|
|
52
|
+
"predicateLabelQuery": null,
|
|
53
|
+
"resourcePropertiesQuery": null,
|
|
54
|
+
"shared": false,
|
|
55
|
+
"description": null,
|
|
56
|
+
"hint": null,
|
|
57
|
+
"repositoryId": null
|
|
58
|
+
}
|
|
59
|
+
]
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Navigate microfrontends"
|
|
5
|
+
},
|
|
6
|
+
"guideDescription": {
|
|
7
|
+
"en": "Navigate microfrontends"
|
|
8
|
+
},
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"guideBlockName": "read-only-element",
|
|
12
|
+
"options": {
|
|
13
|
+
"url": "404",
|
|
14
|
+
"elementSelector": "[guide-selector=\"not-found-banner\"]",
|
|
15
|
+
"title": "Navigation",
|
|
16
|
+
"content": "This is a 404 page"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"guideBlockName": "clickable-element",
|
|
21
|
+
"options": {
|
|
22
|
+
"url": "404",
|
|
23
|
+
"elementSelector": "[guide-selector=\"go-back-home-btn\"]",
|
|
24
|
+
"title": "Navigation",
|
|
25
|
+
"disableNextFlow": true,
|
|
26
|
+
"content": "This is the go back home button"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"guideBlockName": "clickable-element",
|
|
31
|
+
"options": {
|
|
32
|
+
"elementSelector": "[guide-selector=\"tutorial-container\"]",
|
|
33
|
+
"title": "Navigation",
|
|
34
|
+
"content": "This is the home page"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"guideBlockName": "read-only-element",
|
|
39
|
+
"options": {
|
|
40
|
+
"url": "sparql-new",
|
|
41
|
+
"elementSelector": "[guide-selector=\"sparql-editor\"]",
|
|
42
|
+
"title": "Navigation",
|
|
43
|
+
"content": "This is the new sparql view"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"guideBlockName": "read-only-element",
|
|
48
|
+
"options": {
|
|
49
|
+
"url": "import",
|
|
50
|
+
"elementSelector": "[guide-selector=\"uploadRdfFileButton\"]",
|
|
51
|
+
"title": "Navigation",
|
|
52
|
+
"content": "This is the import view"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"guideBlockName": "guide-end"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Create visual graph config guide"
|
|
5
|
+
},
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"guideBlockName": "visual-graph-config-create",
|
|
9
|
+
"options": {
|
|
10
|
+
"configDescription": "my description",
|
|
11
|
+
"configHint": "my hint",
|
|
12
|
+
"shareConfig": true,
|
|
13
|
+
"linkLimit": 200,
|
|
14
|
+
"expandIri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#WineGrape",
|
|
15
|
+
"iriLabel": "WineGrape",
|
|
16
|
+
"tabConfig": [
|
|
17
|
+
{
|
|
18
|
+
"tabName": "startingPoint",
|
|
19
|
+
"startingPoint": "fixed",
|
|
20
|
+
"searchTerm": "MerlotGrape",
|
|
21
|
+
"iri": "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#MerlotGrape"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"tabName": "graphExpansion",
|
|
25
|
+
"query": "construct {\n ?node ?p ?o .\n ?s ?p ?node .\n} where {\n { ?node ?p ?o . }\n union\n { ?s ?p ?node . }\n}",
|
|
26
|
+
"queryExtraContent": "The graph expansion query defines what happens when a node is expanded in the visual graph. Expanding a node loads additional resources connected to it and adds them to the graph as new nodes and edges.",
|
|
27
|
+
"sampleQueryContent": "The <b>Sample queries</b> includes example graph expansion queries. <b>Unfiltered object properties</b> shows all object property connections of a node, while <b>Filtered object properties</b> shows only selected ones.",
|
|
28
|
+
"includeInferredData": true,
|
|
29
|
+
"expandResultsOverOwl": true
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"guideBlockName": "guide-end"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
]
|
|
@@ -4,54 +4,8 @@
|
|
|
4
4
|
"queryMethods": [
|
|
5
5
|
{
|
|
6
6
|
"name": "sparql_query",
|
|
7
|
-
"rawQuery": "SELECT ?
|
|
8
|
-
"query": "SELECT ?
|
|
9
|
-
"queryType": "sparql",
|
|
10
|
-
"errorOutput": "Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:Character' uses an undefined prefix"
|
|
11
|
-
}, {
|
|
12
|
-
"name": "retrieval_search",
|
|
13
|
-
"rawQuery": "{\"queries\":[{\"query\":\"pilots that work with Luke Skywalker\",\"filter\":{\"document_id\":\"https://swapi.co/resource/human/1\"},\"top_k\":3}]}",
|
|
14
|
-
"query": "{\n \"queries\" : [ {\n \"query\" : \"pilots that work with Luke Skywalker\",\n \"filter\" : {\n \"document_id\" : \"https://swapi.co/resource/human/1\"\n },\n \"top_k\" : 3\n } ]\n}",
|
|
15
|
-
"queryType": "json",
|
|
16
|
-
"errorOutput": null
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "iri_discovery",
|
|
20
|
-
"rawQuery": "Luke Skywalker",
|
|
21
|
-
"query": "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\nPREFIX skos: <http://www.w3.org/2004/02/skos/core#>\nPREFIX onto: <http://www.ontotext.com/>\nSELECT ?label ?iri {\n ?label onto:fts ('''Luke~ Skywalker~''' '*') .\n ?iri rdfs:label|skos:prefLabel ?label .\n}",
|
|
22
|
-
"queryType": "sparql",
|
|
23
|
-
"errorOutput": null
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"name": "sparql_query",
|
|
27
|
-
"rawQuery": "SELECT ?height WHERE {\n <https://swapi.co/resource/human/1> voc:height ?height.\n}",
|
|
28
|
-
"query": "SELECT ?height WHERE {\n <https://swapi.co/resource/human/1> voc:height ?height.\n}",
|
|
29
|
-
"queryType": "sparql",
|
|
30
|
-
"errorOutput": "Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:height' uses an undefined prefix"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "sparql_query",
|
|
34
|
-
"rawQuery": "PREFIX voc: <https://swapi.co/vocabulary/>\nSELECT ?name ?height WHERE {\n ?character voc:height ?height;\n rdfs:label ?name.\n FILTER(?name = \"Luke Skywalker\" || ?name = \"Leia Organa\")\n}",
|
|
35
|
-
"query": "PREFIX voc: <https://swapi.co/vocabulary/>\nSELECT ?name ?height WHERE {\n ?character voc:height ?height;\n rdfs:label ?name.\n FILTER(?name = \"Luke Skywalker\" || ?name = \"Leia Organa\")\n}",
|
|
36
|
-
"queryType": "sparql",
|
|
37
|
-
"errorOutput": null
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"name": "fts_search",
|
|
41
|
-
"rawQuery": "Second Luke",
|
|
42
|
-
"query": "PREFIX onto: <http://www.ontotext.com/>\nDESCRIBE ?iri {\n\t?x onto:fts \\'\\'\\'Second Luke\\'\\'\\' .\n\t{\n\t\t?x ?p ?iri .\n\t} union {\n\t\t?iri ?p ?x .\n\t}\n}",
|
|
43
|
-
"queryType": "sparql",
|
|
44
|
-
"errorOutput": null
|
|
45
|
-
}, {
|
|
46
|
-
"name": "similarity_search",
|
|
47
|
-
"rawQuery": "Second Luke",
|
|
48
|
-
"query": "PREFIX onto: <http://www.ontotext.com/>\nDESCRIBE ?iri {\n\t?x onto:fts \\'\\'\\'Second Luke\\'\\'\\' .\n\t{\n\t\t?x ?p ?iri .\n\t} union {\n\t\t?iri ?p ?x .\n\t}\n}",
|
|
49
|
-
"queryType": "sparql",
|
|
50
|
-
"errorOutput": null
|
|
51
|
-
}, {
|
|
52
|
-
"name": "iri_discovery",
|
|
53
|
-
"rawQuery": "Luke Skywalker",
|
|
54
|
-
"query": "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\nPREFIX skos: <http://www.w3.org/2004/02/skos/core#>\nPREFIX onto: <http://www.ontotext.com/>\nSELECT ?label ?iri {\n ?label onto:fts ('''Luke~ Skywalker~''' '*') .\n ?iri rdfs:label|skos:prefLabel ?label .\n}",
|
|
7
|
+
"rawQuery": "SELECT ?name ?height WHERE {\n ?character voc:height ?height;\n rdfs:label ?name.\n FILTER(?name = \"Luke Skywalker\" || ?name = \"Leia Organa\")\n}",
|
|
8
|
+
"query": "SELECT ?name ?height WHERE {\n ?character voc:height ?height;\n rdfs:label ?name.\n FILTER(?name = \"Luke Skywalker\" || ?name = \"Leia Organa\")\n}",
|
|
55
9
|
"queryType": "sparql",
|
|
56
10
|
"errorOutput": null
|
|
57
11
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphdb-workbench-tests",
|
|
3
|
-
"version": "3.4.0
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "graphdb-workbench-tests",
|
|
9
|
-
"version": "3.4.0
|
|
9
|
+
"version": "3.4.0",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@bahmutov/cypress-code-coverage": "^2.7.2",
|
|
@@ -1071,9 +1071,9 @@
|
|
|
1071
1071
|
}
|
|
1072
1072
|
},
|
|
1073
1073
|
"node_modules/@babel/plugin-transform-modules-systemjs": {
|
|
1074
|
-
"version": "7.29.
|
|
1075
|
-
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.
|
|
1076
|
-
"integrity": "sha512-
|
|
1074
|
+
"version": "7.29.4",
|
|
1075
|
+
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.4.tgz",
|
|
1076
|
+
"integrity": "sha512-N7QmZ0xRZfjHOfZeQLJjwgX2zS9pdGHSVl/cjSGlo4dXMqvurfxXDMKY4RqEKzPozV78VMcd0lxyG13mlbKc4w==",
|
|
1077
1077
|
"dev": true,
|
|
1078
1078
|
"license": "MIT",
|
|
1079
1079
|
"dependencies": {
|
|
@@ -3377,9 +3377,9 @@
|
|
|
3377
3377
|
"license": "MIT"
|
|
3378
3378
|
},
|
|
3379
3379
|
"node_modules/brace-expansion": {
|
|
3380
|
-
"version": "1.1.
|
|
3381
|
-
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.
|
|
3382
|
-
"integrity": "sha512-
|
|
3380
|
+
"version": "1.1.13",
|
|
3381
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
|
|
3382
|
+
"integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
|
|
3383
3383
|
"dev": true,
|
|
3384
3384
|
"license": "MIT",
|
|
3385
3385
|
"dependencies": {
|
|
@@ -5420,9 +5420,9 @@
|
|
|
5420
5420
|
"license": "MIT"
|
|
5421
5421
|
},
|
|
5422
5422
|
"node_modules/fast-uri": {
|
|
5423
|
-
"version": "3.1.
|
|
5424
|
-
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.
|
|
5425
|
-
"integrity": "sha512-
|
|
5423
|
+
"version": "3.1.2",
|
|
5424
|
+
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
|
|
5425
|
+
"integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
|
|
5426
5426
|
"dev": true,
|
|
5427
5427
|
"funding": [
|
|
5428
5428
|
{
|
|
@@ -5570,9 +5570,9 @@
|
|
|
5570
5570
|
}
|
|
5571
5571
|
},
|
|
5572
5572
|
"node_modules/flatted": {
|
|
5573
|
-
"version": "3.
|
|
5574
|
-
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.
|
|
5575
|
-
"integrity": "sha512-
|
|
5573
|
+
"version": "3.4.2",
|
|
5574
|
+
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
|
|
5575
|
+
"integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
|
|
5576
5576
|
"dev": true,
|
|
5577
5577
|
"license": "ISC"
|
|
5578
5578
|
},
|
|
@@ -7111,9 +7111,9 @@
|
|
|
7111
7111
|
}
|
|
7112
7112
|
},
|
|
7113
7113
|
"node_modules/lodash": {
|
|
7114
|
-
"version": "4.
|
|
7115
|
-
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.
|
|
7116
|
-
"integrity": "sha512-
|
|
7114
|
+
"version": "4.18.1",
|
|
7115
|
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
7116
|
+
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
7117
7117
|
"dev": true,
|
|
7118
7118
|
"license": "MIT"
|
|
7119
7119
|
},
|
|
@@ -7606,9 +7606,9 @@
|
|
|
7606
7606
|
}
|
|
7607
7607
|
},
|
|
7608
7608
|
"node_modules/mocha/node_modules/brace-expansion": {
|
|
7609
|
-
"version": "5.0.
|
|
7610
|
-
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.
|
|
7611
|
-
"integrity": "sha512-
|
|
7609
|
+
"version": "5.0.6",
|
|
7610
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
|
|
7611
|
+
"integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
|
|
7612
7612
|
"dev": true,
|
|
7613
7613
|
"license": "MIT",
|
|
7614
7614
|
"peer": true,
|
|
@@ -8369,9 +8369,9 @@
|
|
|
8369
8369
|
"license": "ISC"
|
|
8370
8370
|
},
|
|
8371
8371
|
"node_modules/picomatch": {
|
|
8372
|
-
"version": "2.3.
|
|
8373
|
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.
|
|
8374
|
-
"integrity": "sha512-
|
|
8372
|
+
"version": "2.3.2",
|
|
8373
|
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
|
|
8374
|
+
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
|
|
8375
8375
|
"dev": true,
|
|
8376
8376
|
"license": "MIT",
|
|
8377
8377
|
"engines": {
|
|
@@ -8921,9 +8921,9 @@
|
|
|
8921
8921
|
}
|
|
8922
8922
|
},
|
|
8923
8923
|
"node_modules/rimraf/node_modules/brace-expansion": {
|
|
8924
|
-
"version": "5.0.
|
|
8925
|
-
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.
|
|
8926
|
-
"integrity": "sha512-
|
|
8924
|
+
"version": "5.0.6",
|
|
8925
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
|
|
8926
|
+
"integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
|
|
8927
8927
|
"dev": true,
|
|
8928
8928
|
"license": "MIT",
|
|
8929
8929
|
"dependencies": {
|
|
@@ -9794,9 +9794,9 @@
|
|
|
9794
9794
|
}
|
|
9795
9795
|
},
|
|
9796
9796
|
"node_modules/systeminformation": {
|
|
9797
|
-
"version": "5.31.
|
|
9798
|
-
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.
|
|
9799
|
-
"integrity": "sha512-
|
|
9797
|
+
"version": "5.31.6",
|
|
9798
|
+
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.6.tgz",
|
|
9799
|
+
"integrity": "sha512-Uv2b2uGGM6ns+26czgW2cYRabYdnswM0ddSOOlryHOaelzsmDSet1iM/NT7VOYxW8x/BW+HkY+b1Ve2pLTSGSA==",
|
|
9800
9800
|
"dev": true,
|
|
9801
9801
|
"license": "MIT",
|
|
9802
9802
|
"os": [
|
|
@@ -9856,9 +9856,9 @@
|
|
|
9856
9856
|
}
|
|
9857
9857
|
},
|
|
9858
9858
|
"node_modules/terser-webpack-plugin": {
|
|
9859
|
-
"version": "5.
|
|
9860
|
-
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.
|
|
9861
|
-
"integrity": "sha512-
|
|
9859
|
+
"version": "5.4.0",
|
|
9860
|
+
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz",
|
|
9861
|
+
"integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==",
|
|
9862
9862
|
"dev": true,
|
|
9863
9863
|
"license": "MIT",
|
|
9864
9864
|
"peer": true,
|
|
@@ -9866,7 +9866,6 @@
|
|
|
9866
9866
|
"@jridgewell/trace-mapping": "^0.3.25",
|
|
9867
9867
|
"jest-worker": "^27.4.5",
|
|
9868
9868
|
"schema-utils": "^4.3.0",
|
|
9869
|
-
"serialize-javascript": "^6.0.2",
|
|
9870
9869
|
"terser": "^5.31.1"
|
|
9871
9870
|
},
|
|
9872
9871
|
"engines": {
|
package/package.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class CookieConsentBannerSteps {
|
|
2
|
+
static getCookieConsentBanner() {
|
|
3
|
+
return cy.get('.cookie-consent-banner');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
static getCookieConsentButton() {
|
|
7
|
+
return this.getCookieConsentBanner().find('button');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static giveCookieConsent() {
|
|
11
|
+
return this.getCookieConsentButton().click();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static getCookiePolicyLink() {
|
|
15
|
+
return cy.get('.cookie-consent-content a');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static clickCookiePolicyLink() {
|
|
19
|
+
return this.getCookiePolicyLink().click();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {SharedModalDialogSteps} from '../shared-modal-dialog-steps';
|
|
2
|
+
|
|
3
|
+
export class CookiePolicyModalSteps extends SharedModalDialogSteps {
|
|
4
|
+
static getDialogComponent(cssClass = '.cookie-policy-modal') {
|
|
5
|
+
return super.getDialogComponent(cssClass);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
static getStatisticCookiesToggle() {
|
|
9
|
+
return this.getBody().find('.statistic-cookies-toggle .toggle-switch');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static getStatisticCookiesCheckbox() {
|
|
13
|
+
return this.getStatisticCookiesToggle().find('input');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static toggleStatisticCookies() {
|
|
17
|
+
this.getStatisticCookiesToggle().click();
|
|
18
|
+
// Wait here is intentional because there is a debounce before the checkbox state is updated
|
|
19
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
20
|
+
cy.wait(500);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static getThirdPartyCookiesToggle() {
|
|
24
|
+
return this.getBody().find('.third-party-cookies-toggle .toggle-switch');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static getThirdPartyCookiesCheckbox() {
|
|
28
|
+
return this.getThirdPartyCookiesToggle().find('input');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static toggleThirdPartyCookies() {
|
|
32
|
+
this.getThirdPartyCookiesToggle().click();
|
|
33
|
+
// Wait here is intentional because there is a debounce before the checkbox state is updated
|
|
34
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
35
|
+
cy.wait(500);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static closeDialog() {
|
|
39
|
+
this.getFooter().find('.close-btn').click();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Validates the cookie policy dialog by checking the visibility of the dialog and the state of the checkboxes for
|
|
44
|
+
* analytic and third party cookies.
|
|
45
|
+
* @param {boolean} expectedStatisticChecked
|
|
46
|
+
* @param {boolean} expectedThirdPartyChecked
|
|
47
|
+
*/
|
|
48
|
+
static validateCookiePolicyDialog(expectedStatisticChecked, expectedThirdPartyChecked) {
|
|
49
|
+
// I should see the cookie policy
|
|
50
|
+
CookiePolicyModalSteps.getDialogComponent().should('be.visible');
|
|
51
|
+
CookiePolicyModalSteps.getBody().should('be.visible');
|
|
52
|
+
// And I expect to see that analytic and third party cookies are allowed
|
|
53
|
+
CookiePolicyModalSteps.getStatisticCookiesCheckbox().should(expectedStatisticChecked ? 'be.checked' : 'not.be.checked');
|
|
54
|
+
CookiePolicyModalSteps.getThirdPartyCookiesCheckbox().should(expectedThirdPartyChecked ? 'be.checked' : 'not.be.checked');
|
|
55
|
+
}
|
|
56
|
+
}
|