Skip to content

Commit 81325c6

Browse files
authored
fix: backport removal of double forNamespace call (#4605)
fix: removes double forNamespace call (#4602)
1 parent ea702e5 commit 81325c6

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed

data-protocols/dsp/dsp-negotiation/lib/dsp-negotiation-transform-lib/src/main/java/org/eclipse/edc/protocol/dsp/negotiation/transform/to/JsonObjectToContractAgreementMessageTransformer.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,10 @@ public JsonObjectToContractAgreementMessageTransformer() {
5252
public JsonObjectToContractAgreementMessageTransformer(JsonLdNamespace namespace) {
5353
super(JsonObject.class, ContractAgreementMessage.class, namespace);
5454
excludedPolicyKeywords = Set.of(forNamespace(DSPACE_PROPERTY_TIMESTAMP_TERM),
55-
forNamespace(forNamespace(DSPACE_PROPERTY_CONSUMER_ID_TERM)),
55+
forNamespace(DSPACE_PROPERTY_CONSUMER_ID_TERM),
5656
forNamespace(DSPACE_PROPERTY_PROVIDER_ID_TERM));
5757
}
5858

59-
6059
@Override
6160
public @Nullable ContractAgreementMessage transform(@NotNull JsonObject object, @NotNull TransformerContext context) {
6261
var messageBuilder = ContractAgreementMessage.Builder.newInstance();

data-protocols/dsp/dsp-negotiation/lib/dsp-negotiation-transform-lib/src/test/java/org/eclipse/edc/protocol/dsp/negotiation/transform/to/JsonObjectToContractAgreementMessageTransformerTest.java

+38
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.eclipse.edc.transform.spi.TransformerContext;
2929
import org.junit.jupiter.api.BeforeEach;
3030
import org.junit.jupiter.api.Test;
31+
import org.mockito.ArgumentCaptor;
3132

3233
import java.time.Instant;
3334
import java.util.Map;
@@ -40,6 +41,8 @@
4041
import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.ODRL_POLICY_TYPE_AGREEMENT;
4142
import static org.eclipse.edc.protocol.dsp.negotiation.transform.to.TestInput.getExpanded;
4243
import static org.eclipse.edc.protocol.dsp.spi.type.DspNegotiationPropertyAndTypeNames.DSPACE_PROPERTY_AGREEMENT_IRI;
44+
import static org.eclipse.edc.protocol.dsp.spi.type.DspNegotiationPropertyAndTypeNames.DSPACE_PROPERTY_CONSUMER_ID_IRI;
45+
import static org.eclipse.edc.protocol.dsp.spi.type.DspNegotiationPropertyAndTypeNames.DSPACE_PROPERTY_PROVIDER_ID_IRI;
4346
import static org.eclipse.edc.protocol.dsp.spi.type.DspNegotiationPropertyAndTypeNames.DSPACE_PROPERTY_TIMESTAMP_IRI;
4447
import static org.eclipse.edc.protocol.dsp.spi.type.DspNegotiationPropertyAndTypeNames.DSPACE_TYPE_CONTRACT_AGREEMENT_MESSAGE_IRI;
4548
import static org.eclipse.edc.protocol.dsp.spi.type.DspPropertyAndTypeNames.DSPACE_PROPERTY_CONSUMER_PID_IRI;
@@ -199,6 +202,41 @@ void transform_missingTimestamp() {
199202
verify(context, times(1)).reportProblem(contains(DSPACE_PROPERTY_TIMESTAMP_IRI));
200203
}
201204

205+
206+
@Test
207+
void transform_excludedPolicyKeywords() {
208+
var agreement = jsonFactory.createObjectBuilder()
209+
.add(ID, AGREEMENT_ID)
210+
.add(TYPE, ODRL_POLICY_TYPE_AGREEMENT)
211+
.add(ODRL_ASSIGNEE_ATTRIBUTE, CONSUMER_ID)
212+
.add(ODRL_ASSIGNER_ATTRIBUTE, PROVIDER_ID)
213+
.add(DSPACE_PROPERTY_TIMESTAMP_IRI, TIMESTAMP)
214+
.add(DSPACE_PROPERTY_CONSUMER_ID_IRI, CONSUMER_ID)
215+
.add(DSPACE_PROPERTY_PROVIDER_ID_IRI, PROVIDER_ID)
216+
.build();
217+
218+
var message = jsonFactory.createObjectBuilder()
219+
.add(ID, "messageId")
220+
.add(TYPE, DSPACE_TYPE_CONTRACT_AGREEMENT_MESSAGE_IRI)
221+
.add(DSPACE_PROPERTY_CONSUMER_PID_IRI, "consumerPid")
222+
.add(DSPACE_PROPERTY_PROVIDER_PID_IRI, "providerPid")
223+
.add(DSPACE_PROPERTY_AGREEMENT_IRI, agreement)
224+
.build();
225+
226+
when(context.transform(any(JsonObject.class), eq(Policy.class))).thenReturn(policy());
227+
228+
assertThat(transformer.transform(getExpanded(message), context)).isNotNull();
229+
230+
var captor = ArgumentCaptor.forClass(JsonObject.class);
231+
232+
verify(context).transform(captor.capture(), eq(Policy.class));
233+
234+
var transformedPolicy = captor.getValue();
235+
236+
assertThat(transformedPolicy).doesNotContainKeys(DSPACE_PROPERTY_TIMESTAMP_IRI,
237+
DSPACE_PROPERTY_CONSUMER_ID_IRI, DSPACE_PROPERTY_PROVIDER_ID_IRI);
238+
}
239+
202240
private Policy policy() {
203241
return policyBuilder().build();
204242
}

0 commit comments

Comments
 (0)