Skip to content

Commit d11cbd7

Browse files
authored
test: set unique, customizable, management api jsonld context (#5822)
1 parent ef0ace7 commit d11cbd7

2 files changed

Lines changed: 17 additions & 51 deletions

File tree

  • extensions/control-plane/api/management-api/management-api-test-fixtures/src/testFixtures/java/org/eclipse/edc/connector/controlplane/test/system/utils
  • system-tests/e2e-transfer-test/runner/src/test/java/org/eclipse/edc/test/e2e

extensions/control-plane/api/management-api/management-api-test-fixtures/src/testFixtures/java/org/eclipse/edc/connector/controlplane/test/system/utils/Participant.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import jakarta.json.Json;
2121
import jakarta.json.JsonArray;
2222
import jakarta.json.JsonObject;
23+
import jakarta.json.JsonValue;
2324
import org.eclipse.edc.connector.controlplane.catalog.spi.Dataset;
2425
import org.eclipse.edc.connector.controlplane.contract.spi.types.offer.ContractDefinition;
2526
import org.eclipse.edc.connector.controlplane.policy.spi.PolicyDefinition;
@@ -41,15 +42,13 @@
4142

4243
import static io.restassured.RestAssured.given;
4344
import static io.restassured.http.ContentType.JSON;
44-
import static jakarta.json.Json.createArrayBuilder;
4545
import static jakarta.json.Json.createObjectBuilder;
4646
import static org.assertj.core.api.Assertions.assertThat;
4747
import static org.awaitility.Awaitility.await;
4848
import static org.eclipse.edc.connector.controlplane.contract.spi.types.negotiation.ContractNegotiationStates.FINALIZED;
4949
import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.CONTEXT;
5050
import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.ID;
5151
import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.TYPE;
52-
import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.VOCAB;
5352
import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_DATASET_ATTRIBUTE;
5453
import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.ODRL_ASSIGNER_ATTRIBUTE;
5554
import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.ODRL_POLICY_ATTRIBUTE;
@@ -73,6 +72,7 @@ public class Participant {
7372
protected Duration timeout = Duration.ofSeconds(30);
7473
protected Protocol protocol = new Protocol("dataspace-protocol-http:2025-1", "/2025-1");
7574
protected String managementVersionBasePath = "/v4";
75+
protected JsonValue managementContext = Json.createValue(EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2);
7676

7777
protected Participant() {
7878
}
@@ -129,7 +129,7 @@ public String createAsset(JsonObject requestBody) {
129129
*/
130130
public String createAsset(String assetId, Map<String, Object> properties, Map<String, Object> dataAddressProperties) {
131131
var requestBody = createObjectBuilder()
132-
.add(CONTEXT, "https://w3id.org/edc/connector/management/v2")
132+
.add(CONTEXT, managementContext)
133133
.add(TYPE, "Asset")
134134
.add(ID, assetId)
135135
.add("properties", createObjectBuilder(properties))
@@ -156,7 +156,7 @@ public String createAsset(String assetId, Map<String, Object> properties, Map<St
156156
*/
157157
public String createPolicyDefinition(JsonObject policy) {
158158
var requestBody = createObjectBuilder()
159-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
159+
.add(CONTEXT, managementContext)
160160
.add(TYPE, "PolicyDefinition")
161161
.add("policy", policy)
162162
.build();
@@ -184,7 +184,7 @@ public String createPolicyDefinition(JsonObject policy) {
184184
*/
185185
public String createContractDefinition(String assetId, String definitionId, String accessPolicyId, String contractPolicyId) {
186186
var requestBody = createObjectBuilder()
187-
.add(CONTEXT, createArrayBuilder().add(EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2))
187+
.add(CONTEXT, managementContext)
188188
.add(ID, definitionId)
189189
.add(TYPE, "ContractDefinition")
190190
.add(EDC_NAMESPACE + "accessPolicyId", accessPolicyId)
@@ -229,7 +229,7 @@ public JsonArray getCatalogDatasets(Participant provider) {
229229
public JsonArray getCatalogDatasets(Participant provider, JsonObject querySpec) {
230230
var datasetReference = new AtomicReference<JsonArray>();
231231
var requestBodyBuilder = createObjectBuilder()
232-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
232+
.add(CONTEXT, managementContext)
233233
.add(TYPE, "CatalogRequest")
234234
.add("counterPartyId", provider.id)
235235
.add("counterPartyAddress", provider.getProtocolUrl())
@@ -272,7 +272,7 @@ public JsonArray getCatalogDatasets(Participant provider, JsonObject querySpec)
272272
*/
273273
public JsonObject getDatasetForAsset(Participant provider, String assetId) {
274274
var requestBody = createObjectBuilder()
275-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
275+
.add(CONTEXT, managementContext)
276276
.add(TYPE, "DatasetRequest")
277277
.add(ID, assetId)
278278
.add("counterPartyId", provider.id)
@@ -323,7 +323,7 @@ public String initContractNegotiation(Participant provider, String assetId) {
323323
*/
324324
public String initContractNegotiation(Participant provider, JsonObject policy) {
325325
var requestBody = createObjectBuilder()
326-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
326+
.add(CONTEXT, managementContext)
327327
.add(TYPE, "ContractRequest")
328328
.add("counterPartyAddress", provider.getProtocolUrl())
329329
.add("protocol", protocol.name())
@@ -387,7 +387,7 @@ public String initiateTransfer(Participant provider, String contractAgreementId,
387387
*/
388388
public String initiateTransfer(Participant provider, String contractAgreementId, JsonObject privateProperties, JsonObject destination, String transferType, JsonArray callbacks) {
389389
var requestBodyBuilder = createObjectBuilder()
390-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
390+
.add(CONTEXT, managementContext)
391391
.add(TYPE, "TransferRequest")
392392
.add("protocol", protocol.name())
393393
.add("contractId", contractAgreementId)
@@ -430,7 +430,7 @@ public String initiateTransfer(Participant provider, String contractAgreementId,
430430
*/
431431
public JsonArray getTransferProcesses() {
432432
var query = createObjectBuilder()
433-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
433+
.add(CONTEXT, managementContext)
434434
.add(TYPE, "QuerySpec")
435435
.build();
436436
return getTransferProcesses(query);
@@ -488,7 +488,7 @@ public String getTransferProcessIdGivenCounterPartyOne(String consumerTransferPr
488488
*/
489489
public void suspendTransfer(String id, String reason) {
490490
var requestBodyBuilder = createObjectBuilder()
491-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
491+
.add(CONTEXT, managementContext)
492492
.add(TYPE, "SuspendTransfer")
493493
.add("reason", reason);
494494

@@ -519,7 +519,7 @@ public void resumeTransfer(String id) {
519519

520520
public void terminateTransfer(String id) {
521521
var requestBodyBuilder = createObjectBuilder()
522-
.add(CONTEXT, createObjectBuilder().add(VOCAB, EDC_NAMESPACE))
522+
.add(CONTEXT, managementContext)
523523
.add(TYPE, "TerminateTransfer")
524524
.add("reason", "any reason");
525525

@@ -631,6 +631,11 @@ public B managementVersionBasePath(String managementVersionBasePath) {
631631
return self();
632632
}
633633

634+
public B managementContext(JsonValue managementContext) {
635+
participant.managementContext = managementContext;
636+
return self();
637+
}
638+
634639
public B protocol(String name, String versionPath) {
635640
participant.protocol = new Protocol(name, versionPath);
636641
return self();

system-tests/e2e-transfer-test/runner/src/test/java/org/eclipse/edc/test/e2e/TransferEndToEndParticipant.java

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
package org.eclipse.edc.test.e2e;
1616

17-
import io.restassured.common.mapper.TypeRef;
1817
import jakarta.json.JsonObject;
1918
import org.assertj.core.api.ThrowingConsumer;
2019
import org.eclipse.edc.connector.controlplane.test.system.utils.Participant;
@@ -54,30 +53,6 @@ public static TransferEndToEndParticipant.Builder newInstance(ComponentRuntimeCo
5453
.signalingUrl(ctx.getEndpoint(SIGNALING));
5554
}
5655

57-
/**
58-
* Get the EDR from the EDR cache by transfer process id.
59-
*
60-
* @param transferProcessId The transfer process id
61-
* @return The cached {@link DataAddress}
62-
*/
63-
public DataAddress getEdr(String transferProcessId) {
64-
var dataAddressRaw = baseManagementRequest()
65-
.contentType(JSON)
66-
.when()
67-
.get("/edrs/{id}/dataaddress", transferProcessId)
68-
.then()
69-
.log().ifError()
70-
.statusCode(200)
71-
.contentType(JSON)
72-
.extract().body().as(new TypeRef<Map<String, Object>>() {
73-
});
74-
75-
76-
var builder = DataAddress.Builder.newInstance();
77-
dataAddressRaw.forEach(builder::property);
78-
return builder.build();
79-
}
80-
8156
/**
8257
* Pull data from provider using EDR.
8358
*
@@ -100,20 +75,6 @@ public void pullData(DataAddress edr, Map<String, String> queryParams, ThrowingC
10075
assertThat(data).satisfies(bodyAssertion);
10176
}
10277

103-
public void postResponse(DataAddress edr, ThrowingConsumer<String> bodyAssertion) {
104-
var data = given()
105-
.baseUri(edr.getStringProperty("responseChannel-endpoint"))
106-
.header("Authorization", edr.getStringProperty("responseChannel-authorization"))
107-
.when()
108-
.post()
109-
.then()
110-
.log().ifError()
111-
.statusCode(200)
112-
.extract().body().asString();
113-
114-
assertThat(data).satisfies(bodyAssertion);
115-
}
116-
11778
public void registerDataPlane(JsonObject dataPlaneRegistrationMessage) {
11879
baseManagementRequest()
11980
.contentType(JSON)

0 commit comments

Comments
 (0)