Skip to content

Commit

Permalink
feat(selfDescription)!: selfDescriptionDocument can be send as json
Browse files Browse the repository at this point in the history
the data structure for the endpoints

/api/administration/Connectors/clearinghouse/selfDescription
/api/administration/registration/clearinghouse/selfDescription

have been changed for selfDescriptionDocument from string to JsonDocument

Refs: CPLP-2847
BREAKING CHANGE: data structure for endpoints changed
  • Loading branch information
Phil91 committed Jun 27, 2023
1 parent 9cb1b41 commit b08a595
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,7 @@ private async Task<Guid> ProcessDocument(SdFactoryResponseModelTitle title, Self
using var sha512Hash = SHA512.Create();
using var ms = new MemoryStream();
using var writer = new Utf8JsonWriter(ms, new JsonWriterOptions { Indented = true });
var jsonDocument = JsonDocument.Parse(data.Content!);
jsonDocument.WriteTo(writer);
data.Content!.WriteTo(writer);

await writer.FlushAsync(cancellationToken);
var documentContent = ms.ToArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

using System.Net.Http.Json;
using System.Text.Json;
using System.Text.Json.Serialization;

namespace Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
Expand All @@ -26,4 +28,4 @@ public record SelfDescriptionResponseData(
[property: JsonPropertyName("externalId")] Guid ExternalId,
[property: JsonPropertyName("status")] SelfDescriptionStatus Status,
[property: JsonPropertyName("message")] string? Message,
[property: JsonPropertyName("selfDescriptionDocument")] string? Content);
[property: JsonPropertyName("selfDescriptionDocument")] JsonDocument? Content);
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
using Org.Eclipse.TractusX.Portal.Backend.Tests.Shared;
using System.Collections.Immutable;
using System.Text.Json;

namespace Org.Eclipse.TractusX.Portal.Backend.Administration.Service.Tests.BusinessLogic;

Expand Down Expand Up @@ -434,7 +435,7 @@ public async Task ProcessClearinghouseSelfDescription_WithValidData_CallsExpecte
{
// Arrange
var connectorId = Guid.NewGuid();
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _connectorsRepository.GetConnectorDataById(A<Guid>._))
.Returns((connectorId, (Guid?)null));

Expand All @@ -453,7 +454,7 @@ public async Task ProcessClearinghouseSelfDescription_WithNotExistingApplication
{
// Arrange
var connectorId = Guid.NewGuid();
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _connectorsRepository.GetConnectorDataById(A<Guid>._))
.Returns(((Guid, Guid?))default);

Expand All @@ -471,7 +472,7 @@ public async Task ProcessClearinghouseSelfDescription_WithExistingSelfDescriptio
{
// Arrange
var connectorId = Guid.NewGuid();
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(connectorId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _connectorsRepository.GetConnectorDataById(A<Guid>._))
.Returns((connectorId, Guid.NewGuid()));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
using Org.Eclipse.TractusX.Portal.Backend.Tests.Shared;
using System.Collections.Immutable;
using System.Text.Json;

namespace Org.Eclipse.TractusX.Portal.Backend.Administration.Service.Tests.BusinessLogic;

Expand Down Expand Up @@ -600,7 +601,7 @@ public async Task TriggerChecklistAsync_WithValidData_ReturnsExpected(Applicatio
public async Task ProcessClearinghouseSelfDescription_WithValidData_CallsExpected()
{
// Arrange
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
var companyId = Guid.NewGuid();
A.CallTo(() => _applicationRepository.GetCompanyIdSubmissionStatusForApplication(ApplicationId))
.Returns((true, companyId, true));
Expand All @@ -618,7 +619,7 @@ public async Task ProcessClearinghouseSelfDescription_WithValidData_CallsExpecte
public async Task ProcessClearinghouseSelfDescription_WithNotExistingApplication_ThrowsNotFoundException()
{
// Arrange
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _applicationRepository.GetCompanyIdSubmissionStatusForApplication(ApplicationId))
.Returns(((bool, Guid, bool))default);

Expand All @@ -634,7 +635,7 @@ public async Task ProcessClearinghouseSelfDescription_WithNotExistingApplication
public async Task ProcessClearinghouseSelfDescription_WithNotSubmittedApplication_ThrowsConflictException()
{
// Arrange
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _applicationRepository.GetCompanyIdSubmissionStatusForApplication(ApplicationId))
.Returns((true, Guid.NewGuid(), false));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
using Org.Eclipse.TractusX.Portal.Backend.Tests.Shared;
using Org.Eclipse.TractusX.Portal.Backend.Tests.Shared.Extensions;
using System.Text.Json;

namespace Org.Eclipse.TractusX.Portal.Backend.Administration.Service.Tests.Controllers;

Expand Down Expand Up @@ -199,8 +200,7 @@ public async Task GetCompanyConnectorEndPoint_WithValidData_ReturnsExpectedResul
public async Task ProcessClearinghouseSelfDescription_ReturnsExpectedResult()
{
// Arrange
var data = new SelfDescriptionResponseData(Guid.NewGuid(), SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");

var data = new SelfDescriptionResponseData(Guid.NewGuid(), SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
// Act
var result = await this._controller.ProcessClearinghouseSelfDescription(data, CancellationToken.None);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
using Org.Eclipse.TractusX.Portal.Backend.Tests.Shared.Extensions;
using System.Text;
using System.Text.Json;

namespace Org.Eclipse.TractusX.Portal.Backend.Administration.Service.Tests.Controllers;

Expand Down Expand Up @@ -243,7 +244,7 @@ public async Task TriggerBpn_ReturnsExpectedResult(ProcessStepTypeId processStep
public async Task ProcessClearinghouseSelfDescription_ReturnsExpectedResult()
{
// Arrange
var data = new SelfDescriptionResponseData(Guid.NewGuid(), SelfDescriptionStatus.Confirm, null, "{ \"test\": true }");
var data = new SelfDescriptionResponseData(Guid.NewGuid(), SelfDescriptionStatus.Confirm, null, JsonDocument.Parse("{ \"test\": true }"));
A.CallTo(() => _logic.ProcessClearinghouseSelfDescription(data, A<CancellationToken>._))
.ReturnsLazily(() => Task.CompletedTask);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Extensions;
using Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Models;
using System.Collections.Immutable;
using System.Text.Json;

namespace Org.Eclipse.TractusX.Portal.Backend.SdFactory.Library.Tests;

Expand Down Expand Up @@ -203,7 +204,7 @@ public async Task ProcessFinishSelfDescriptionLp_ConfirmWithValidData_CompanyIsU
.With(x => x.SelfDescriptionDocumentId, (Guid?)null)
.Create();
const string contentJson = "{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"https://github.com/catenax-ng/tx-sd-factory/raw/clearing-house/src/main/resources/verifiablecredentials.jsonld/sd-document-v22.10.jsonld\",\"https://w3id.org/vc/status-list/2021/v1\"],\"type\":[\"VerifiableCredential\",\"LegalPerson\"],\"issuer\":\"did:sov:12345\",\"issuanceDate\":\"2023-02-18T23:03:16Z\",\"expirationDate\":\"2023-05-19T23:03:16Z\",\"credentialSubject\":{\"bpn\":\"BPNL000000000000\",\"registrationNumber\":[{\"type\":\"local\",\"value\":\"o12345678\"}],\"headquarterAddress\":{\"countryCode\":\"DE\"},\"type\":\"LegalPerson\",\"legalAddress\":{\"countryCode\":\"DE\"},\"id\":\"did:sov:12345\"},\"credentialStatus\":{\"id\":\"https://managed-identity-wallets.int.demo.catena-x.net/api/credentials/status/123\",\"type\":\"StatusList2021Entry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"58\",\"statusListCredential\":\"https://managed-identity-wallets.int.demo.catena-x.net/api/credentials/status/123\"},\"proof\":{\"type\":\"Ed25519Signature2018\",\"created\":\"2023-02-18T23:03:18Z\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:sov:12345#key-1\",\"jws\":\"test\"}}";
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, contentJson);
var data = new SelfDescriptionResponseData(ApplicationId, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse(contentJson));
SetupForProcessFinish(company, applicationChecklistEntry);

// Act
Expand Down Expand Up @@ -339,7 +340,7 @@ public async Task ProcessFinishSelfDescriptionLpForConnector_ConfirmWithValidDat
// Arrange
var connector = new Connector(Guid.NewGuid(), "con-air", "de", "https://one-url.com");
const string contentJson = "{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"https://github.com/catenax-ng/tx-sd-factory/raw/clearing-house/src/main/resources/verifiablecredentials.jsonld/sd-document-v22.10.jsonld\",\"https://w3id.org/vc/status-list/2021/v1\"],\"type\":[\"VerifiableCredential\",\"LegalPerson\"],\"issuer\":\"did:sov:12345\",\"issuanceDate\":\"2023-02-18T23:03:16Z\",\"expirationDate\":\"2023-05-19T23:03:16Z\",\"credentialSubject\":{\"bpn\":\"BPNL000000000000\",\"registrationNumber\":[{\"type\":\"local\",\"value\":\"o12345678\"}],\"headquarterAddress\":{\"countryCode\":\"DE\"},\"type\":\"LegalPerson\",\"legalAddress\":{\"countryCode\":\"DE\"},\"id\":\"did:sov:12345\"},\"credentialStatus\":{\"id\":\"https://managed-identity-wallets.int.demo.catena-x.net/api/credentials/status/123\",\"type\":\"StatusList2021Entry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"58\",\"statusListCredential\":\"https://managed-identity-wallets.int.demo.catena-x.net/api/credentials/status/123\"},\"proof\":{\"type\":\"Ed25519Signature2018\",\"created\":\"2023-02-18T23:03:18Z\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:sov:12345#key-1\",\"jws\":\"test\"}}";
var data = new SelfDescriptionResponseData(connector.Id, SelfDescriptionStatus.Confirm, null, contentJson);
var data = new SelfDescriptionResponseData(connector.Id, SelfDescriptionStatus.Confirm, null, JsonDocument.Parse(contentJson));
SetupForProcessFinishForConnector(connector);

// Act
Expand Down

0 comments on commit b08a595

Please sign in to comment.