From d40bace124c4522fcd07bc35c722495a7511ab63 Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 10:51:17 +0200 Subject: [PATCH 01/21] chore(documention):[#1108] update sequence diagram to current state --- .../get-all-contracts-sequenceflow.puml | 50 ------------------- .../get-all-contracts-sequenceflow.svg | 49 +----------------- .../get-all-contracts-sequenceflow.puml | 37 ++++++++------ 3 files changed, 24 insertions(+), 112 deletions(-) delete mode 100644 docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.puml diff --git a/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.puml b/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.puml deleted file mode 100644 index 263be59575..0000000000 --- a/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.puml +++ /dev/null @@ -1,50 +0,0 @@ -@startuml -title - ==POST api/contracts/request -end title - -autonumber "[00]" - -participant "Trace-X Frontend" as FE order 0 -participant "Trace-X Backend" as BE order 1 -participant "Trace-X Database" as DB order 2 -participant "EDC" as EDC order 3 - -FE -> BE: POST api/contracts/request (limit, offset, sort, filter) - -activate BE -BE -> DB: Fetch requested distinct contractAgreementIds -activate DB -autonumber stop -DB --> BE: List(contractAgreementIds) -autonumber resume -deactivate DB - -BE -> EDC: POST tx-edc/management/v2/contractagreements/request \nfiltered by contractAgreementIds -activate EDC -autonumber stop -EDC --> BE: JSON response -autonumber resume -deactivate EDC -BE -> BE: Extract contractSigningDate, policy -activate BE -deactivate BE - -loop for all contractAgreementIds -BE -> EDC: GET tx-edc/management/v2/contractagreements/{contractAgreementId}/negotiation -activate EDC -autonumber stop -EDC --> BE: JSON response -autonumber resume -deactivate EDC -BE -> BE: Extract id, counterPartyAddress, state -activate BE -deactivate BE -end - -autonumber stop -BE --> FE: JSON response -autonumber resume -deactivate BE - -@enduml diff --git a/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.svg b/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.svg index 1f1438577f..bc3c66354c 100644 --- a/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.svg +++ b/docs/concept/#638-contractagreement-admin-view/get-all-contracts-sequenceflow.svg @@ -1,48 +1 @@ - - - - - - - - - - +Endpoint POST /contractsTrace-XFrontendTrace-XFrontendTrace-XBackendTrace-XBackendTrace-XDatabaseTrace-XDatabaseEDCEDC[01]POST contractsapi endpoint is pageable,filterable, limitable, sortable[02]fetch requested distinct contractAgreementIdslist of contractAgreementIds[03]POST edc/management/v2/contractagreements/requestfiltered by contractAgreementIdslist of contractAgreement objects[04]extract contractSigningDate, policyloop[for all contractAgreementIds][05]GET edc/management/v2/contractagreements/{contractAgreementId}/negotiationcontractAgreementNegotiation object[06]extract attributes of response (id, counterPartyAddress, state)pageable result of contractResponse objects \ No newline at end of file diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/get-all-contracts-sequenceflow.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/get-all-contracts-sequenceflow.puml index 2413a2a9bf..492828fd0a 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/get-all-contracts-sequenceflow.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/get-all-contracts-sequenceflow.puml @@ -1,49 +1,58 @@ @startuml title - ==POST api/contracts/request + == Endpoint POST /contracts end title +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + autonumber "[00]" -participant "Trace-X Frontend" as FE order 0 -participant "Trace-X Backend" as BE order 1 -participant "Trace-X Database" as DB order 2 +participant "Trace-X \n Frontend" as FE order 0 +participant "Trace-X \n Backend" as BE order 1 +participant "Trace-X \n Database" as DB order 2 participant "EDC" as EDC order 3 -FE -> BE: POST api/contracts/request (limit, offset, sort, filter) +FE -> BE: POST contracts + note left + api endpoint is pageable, + filterable, limitable, sortable + end note activate BE -BE -> DB: Fetch requested distinct contractAgreementIds +BE -> DB: fetch requested distinct contractAgreementIds activate DB autonumber stop -DB --> BE: List(contractAgreementIds) +DB --> BE: list of contractAgreementIds autonumber resume deactivate DB -BE -> EDC: POST tx-edc/management/v2/contractagreements/request \nfiltered by contractAgreementIds +BE -> EDC: POST edc/management/v2/contractagreements/request \nfiltered by contractAgreementIds activate EDC autonumber stop -EDC --> BE: List of ContractAgreement objects +EDC --> BE: list of contractAgreement objects autonumber resume deactivate EDC -BE -> BE: Extract contractSigningDate, policy +BE -> BE: extract contractSigningDate, policy activate BE deactivate BE loop for all contractAgreementIds -BE -> EDC: GET tx-edc/management/v2/contractagreements/{contractAgreementId}/negotiation +BE -> EDC: GET edc/management/v2/contractagreements/{contractAgreementId}/negotiation activate EDC autonumber stop -EDC --> BE: ContractAgreementNegotiation object +EDC --> BE: contractAgreementNegotiation object autonumber resume deactivate EDC -BE -> BE: Extractattributes of response (id, counterPartyAddress, state) +BE -> BE: extract attributes of response (id, counterPartyAddress, state) activate BE deactivate BE end autonumber stop -BE --> FE: Pageable Result of ContractResponse objects +BE --> FE: pageable result of contractResponse objects autonumber resume deactivate BE From d4cddea6e525b33f9d50dfeb9890c166bd0527e3 Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 15:14:10 +0200 Subject: [PATCH 02/21] chore(docu):[#1108] refactore sequence diagram --- .../data-sovereignty/policy-management.adoc | 16 +++ ...ereignty-notifications-policy-expired.puml | 6 +- .../data-sovereignty-publishing-assets.puml | 136 ++++++++++++++---- 3 files changed, 129 insertions(+), 29 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 49fd9f8f19..874834df0c 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -10,6 +10,17 @@ However, to be sure that data is shared only with companies that match one's req The policies used for sending and receiving notifications and parts have an identical data format, so they can be used for each process interchangeably. The processes itself are different and will be explained here: +== Policy Types +The EDC Connector MUST provide a possibility to restrict the access of a Data Asset to specific business partners by attribute(s), e.g., represented as a VC. +The Connector MUST restrict the data usage to partners and purposes for a specific use case. + +There are two policy types used. +* Access +* Usage + +As specified by the [Dataspace Protocol](https://github.com/International-Data-Spaces-Association/ids-specification), one Data Asset MUST refer to at least one Usage Policy, expressed in ODRL. +For additional information refer to [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view) + == Policies for sending and receiving parts [plantuml, target=data-sovereignty-publish-assets, format=svg] .... @@ -72,6 +83,11 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover It's possible to publish parts with different policies. For this, the user must only publish a limited selection of parts for which he can select a policy. For the parts that must be published with different policies, the user can repeat the process. + +**Note**: +For more detailed information concering the functionality of IRS please refer to [IRS docu](https://eclipse-tractusx.github.io/item-relationship-service/docs/) + + **[Work-in-progress]** The user may also choose parts that have already been published - they can be republished with a different policy. The process for this is identical to the regular publishing process. == Policies for sending and receiving notifications diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml index a46c1a3956..68d1050e44 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml @@ -1,8 +1,12 @@ @startuml -'https://plantuml.com/sequence-diagram autonumber title: Policies: Sending notifications with expired policy +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + actor Admin actor User participant "Trace-X" as TraceX diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index 3264dce3f9..633f2a1cd4 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -1,52 +1,132 @@ @startuml -'https://plantuml.com/sequence-diagram -autonumber + +autonumber "[00]" +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + title Policies: Send and receive parts -actor "Admin A" as AA +actor "Admin \n [A]" as AA actor User -participant "Trace-X A" as TXA -participant "DTR A" as DTRA -participant "EDC A" as EDCA -participant "IRS B" as IRSB -participant "EDC B" as EDCB -participant "Trace-X B" as TXB +participant "Trace-X \n [A]" as TXA +participant "PolicyStore \n [A]" as PSA +participant "Digital Twin Registry \n [A]" as DTRA +participant "EDC \n [A]" as EDCA +participant "Digital Twin Registry \n [B]" as DTRB +participant "EDC \n [B]" as EDCB +participant "IRS \n [B]" as IRSB +participant "PolicyStore \n [B]" as PSB +participant "Trace-X \n [B]" as TXB actor "Admin B" as AB -AA -> TXA: create policies -AB -> TXB: create policies -... -User -> TXA: import parts +AA -> TXA: create policy +note left + create policy used for publishing + company parts [POLICY_TRACEX-PUBLISH_ASSETS] +end note +activate TXA +TXA -> PSA: create policy for BPNL +TXA <-- PSA: 201 policy created +AA <-- TXA: policy created +deactivate TXA + +AB -> TXB: create policy +activate TXB + + +note right + create policy for + BPNL of Trace-X [A] + [POLICY_BPNL_TRACEX_A] +end note +AB <-- TXB: policy created +deactivate TXB + ... -User -> TXA: publish selected parts +User -> TXA: import parts (POST /assets/import) activate TXA +User <-- TXA: ok +... + +User -> TXA: publish selected parts (POST /assets/publish) + +User <-- TXA: request for policy + User --> TXA: select policy to be used -TXA -> EDCA: create policy + +TXA -> EDCA: PolicyDefinition exists +TXA <-- EDCA: return PolicyDefinition exists +opt PolicyDefinition exists +TXA -> EDCA: create PolicyDefinition (/management/v2/policydefinitions) +TXA <-- EDCA: PolicyDefinition created +else + +end opt + loop selected parts -TXA -> DTRA: create part -TXA -> DTRA: link part and policy + +TXA -> DTRA: create asset /shell-descriptors +note left + create asset in DTR +end note +TXA <-- DTRA: 201 : Asset Administration Shell Descriptor created successfully + +TXA -> EDCA: create asset (POST /v3/assets) +note left + create CatalogOffer in EDC +end note +TXA <-- EDCA: 200 Asset was created successfully. + +TXA -> EDCA: create ContractDefinition (/management/v2/contractdefinitions) with policy +note left + create ContractDefinition in EDC +end note +TXA <-- EDCA: ContractDefinition created + end + + deactivate TXA ... -TXB -> TXB: synchronize parts +TXB -> TXB: synchronize parts (assets/as-$/sync) +note left + different endpoints for sync as-built and as-planned assets +end note activate TXB -TXB -> IRSB: start contract negotiation +TXB -> DTRB: GET Asset Administration Shell Descriptors +activate DTRB +TXB <-- DTRB: 200 Requested Asset Administration Shell Descriptors +deactivate DTRB + +TXB -> IRSB: Register job (GET /irs/jobs) activate IRSB -IRSB -> EDCA: get catalog of Trace-X A +IRSB -> EDCA: GET /v2/catalog/request of Trace-X A +note left + (/v2/catalog/request/querySpec/filterExpression[id:digitalTwinRegistry]) +end note activate EDCA -EDCA --> IRSB: catalog +EDCA --> IRSB: return catalog deactivate EDCA IRSB -> IRSB: extract policy definitions from catalog -IRSB -> TXB: get configured policies -activate TXB -TXB --> IRSB: policies -deactivate TXB +IRSB -> PSB: get policies for BPNL + +activate PSB +IRSB <-- PSB: policy for BPNL +deactivate PSB + loop each part -IRSB -> IRSB: compare linked policy definition with own policy list +IRSB -> IRSB: compare ContractOffer policy with Company policy for BPNL alt policies match -IRSB --> EDCA: contract agreement -IRSB --> EDCB: contract agreement +IRSB -> EDCB: start contract negotiation +EDCB -> EDCA: contract negotiation +EDCB <-- EDCA: ok contractAgreement +IRSB <-- EDCB: ok contractAgreement ref over IRSB, TXB: data consumption end end + +TXB <-- IRSB : calback job response + @enduml From 23b7f1c66998329c9c6030c7228e554eda709bf1 Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 16:16:12 +0200 Subject: [PATCH 03/21] chore(docu):;[#1108] correct Request Contract Agreements flow --- .../get-contract-sequenceflow.puml | 85 ++++++++++--------- .../data-sovereignty/policy-management.adoc | 2 +- 2 files changed, 47 insertions(+), 40 deletions(-) diff --git a/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml b/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml index 58f7d17114..b3b8a088a9 100644 --- a/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml +++ b/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml @@ -1,47 +1,54 @@ @startuml title - ==GET api/contracts/{tx-assetId} + == Request Contract Agreements end title autonumber "[00]" - -participant "Trace-X Frontend" as FE order 0 -participant "Trace-X Backend" as BE order 1 -participant "Trace-X Database" as DB order 2 -participant "EDC" as TXEDC order 3 - -FE -> BE: GET api/contracts/{tx-assetId} - -activate BE -BE -> DB: Take contractAgreementId for tx-assetId -activate DB -autonumber stop -DB --> BE: contractAgreementId -autonumber resume -deactivate DB - -BE -> TXEDC: GET tx-edc/management/v2/contractagreements/{contractAgreementId} -activate TXEDC -autonumber stop -TXEDC --> BE: JSON response -autonumber resume -deactivate TXEDC -BE -> BE: Extract contractSigningDate, policy -activate BE +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + +participant "Trace-X \n Frontend" as FE order 0 +participant "Trace-X \n Backend" as BE order 1 +participant "Trace-X \n Database" as DB order 2 +participant "EDC \n ManagementAPI" as TXEDC order 3 + +FE -> BE: Request for ContractResponse +note left + GET /contracts by filterExpression +end note + +loop for each contract agreement + activate BE + BE -> DB: Query contractAgreementId for assetId + activate DB + DB --> BE: result contractAgreementId + deactivate DB + + BE -> TXEDC: GET contractagreements + note left + GET edc/management/v2/contractagreements/{contractAgreementId} + end note + activate TXEDC + TXEDC --> BE: return contract agreements + deactivate TXEDC + BE -> BE: Extract contractSigningDate, policy + activate BE + deactivate BE + + BE -> TXEDC: GET edc/management/v2/contractagreements/{contractAgreementId}/negotiation + activate TXEDC + TXEDC --> BE: Gets a contract negotiation with the given contract agreement ID + deactivate TXEDC + BE -> BE: Extract id, counterPartyAddress, state + activate BE + BE -> BE : Create ContractResponse + deactivate BE + +end loop + +BE --> FE: List of ContractResponses for filterExpression deactivate BE - -BE -> TXEDC: GET tx-edc/management/v2/contractagreements/{contractAgreementId}/negotiation -activate TXEDC -autonumber stop -TXEDC --> BE: JSON response -autonumber resume -deactivate TXEDC -BE -> BE: Extract id, counterPartyAddress, state -activate BE -deactivate BE - autonumber stop -BE --> FE: JSON response -deactivate BE - @enduml diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 874834df0c..ba973c2246 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -146,7 +146,7 @@ If no policies are configured for the receiving BPN and a notification is sent t include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml[] .... -Policies always have an expiration time. When a notification is sent and there are policies configured for the selected BPN with an expiration time in the past, Trace-X will throw an error. In that case, an administrator must either update the policy. Then the policy can be resent. +Policies always have an expiration time defined by the 'validUntil' timestamp. When a notification is sent and there are policies configured for the selected BPN with an expiration time in the past, Trace-X will throw an error. In that case, an administrator must either update the policy. Then the policy can be resent. === Testing policies In order to test the functionality of policies, an administrator can create a policy with test constraints for connected BPNs. When sending notifications to that BPN, the process should be blocked. From 57238227c9b5d9877d01fcf05d23934eba8b3bdf Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 16:16:26 +0200 Subject: [PATCH 04/21] chore(docu):;[#1108] correct Request Contract Agreements flow --- .../get-contract-sequenceflow.puml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml b/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml index b3b8a088a9..05ceb7957b 100644 --- a/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml +++ b/docs/concept/#638-contractagreement-admin-view/get-contract-sequenceflow.puml @@ -1,6 +1,6 @@ @startuml title - == Request Contract Agreements + == Request ContractResponse (Contract Agreements) end title autonumber "[00]" From 42760081164786be1ec53475a7822e099c1f79a6 Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 16:33:09 +0200 Subject: [PATCH 05/21] chore(docu):[#1108] rework flow --- .../return-asset-contracts.adoc | 5 ++++ ...vereignty-notifications-policy-change.puml | 7 +++++- .../data-sovereignty-publishing-assets.puml | 24 ++++++++++++------- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/return-asset-contracts.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/return-asset-contracts.adoc index 8eeeaaeeda..6770f29140 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/return-asset-contracts.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/return-asset-contracts.adoc @@ -16,3 +16,8 @@ These contract agreement ids will be then requested on EDC side via POST (/manag The contract information is then returned by the endpoint as a pageable result. If no asset ids are provided in the request, 50 contract agreement ids are handled by default. + + + + + diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml index 6687dcb45a..75a8466ca2 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml @@ -1,6 +1,11 @@ @startuml -'https://plantuml.com/sequence-diagram + +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho autonumber + title Policies: Sending notifications without policies actor Admin diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index 633f2a1cd4..9efe292e5d 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -50,7 +50,11 @@ activate TXA User <-- TXA: ok ... -User -> TXA: publish selected parts (POST /assets/publish) +User -> TXA: publish selected parts in transient state + +note left + POST /assets/publish +end note User <-- TXA: request for policy @@ -100,16 +104,16 @@ activate DTRB TXB <-- DTRB: 200 Requested Asset Administration Shell Descriptors deactivate DTRB -TXB -> IRSB: Register job (GET /irs/jobs) +TXB -> IRSB: Register job (GET /irs/jobs) - initiate Sync of assets activate IRSB IRSB -> EDCA: GET /v2/catalog/request of Trace-X A note left (/v2/catalog/request/querySpec/filterExpression[id:digitalTwinRegistry]) end note activate EDCA -EDCA --> IRSB: return catalog +EDCA --> IRSB: return CatalogOffer deactivate EDCA -IRSB -> IRSB: extract policy definitions from catalog +IRSB -> IRSB: extract policy definitions from CatalogOffer IRSB -> PSB: get policies for BPNL activate PSB @@ -119,11 +123,13 @@ deactivate PSB loop each part IRSB -> IRSB: compare ContractOffer policy with Company policy for BPNL alt policies match -IRSB -> EDCB: start contract negotiation -EDCB -> EDCA: contract negotiation -EDCB <-- EDCA: ok contractAgreement -IRSB <-- EDCB: ok contractAgreement -ref over IRSB, TXB: data consumption + IRSB -> EDCB: start contract negotiation + EDCB -> EDCA: contract negotiation + EDCB <-- EDCA: ok contractAgreement + IRSB <-- EDCB: ok contractAgreement + ref over IRSB, TXB: data consumption +else policies does not match + IRSB -> IRSB: create Tombstone with policy (JobResponse) end end From abb036bbe182c28fffb36092e1f2b99c3683e59e Mon Sep 17 00:00:00 2001 From: mk Date: Tue, 23 Jul 2024 16:34:53 +0200 Subject: [PATCH 06/21] chore(changelog):[#1108] add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8db32b2983..b13e108c8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha - #1190 update notification contracts on policy updates ### Changed +- #1108 Rework of use cases and arc42 documentation - #1070 Correct semantic model in dev/README.md - #1070 Update documentation artefacts according to TRG 1 - Documentation - #1070 Convert png to svg according to TRG 1.04 - Diagrams as code / Editable static files From 57ffa4f1061af2f67541dd0ec13cd9cba28f450e Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 08:52:25 +0200 Subject: [PATCH 07/21] fix(documentation):[#1108] fix urls --- CHANGELOG.md | 2 +- .../runtime-view/data-sovereignty/policy-management.adoc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13e108c8d..ca8506ed44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha - #1190 update notification contracts on policy updates ### Changed -- #1108 Rework of use cases and arc42 documentation + - #1070 Correct semantic model in dev/README.md - #1070 Update documentation artefacts according to TRG 1 - Documentation - #1070 Convert png to svg according to TRG 1.04 - Diagrams as code / Editable static files diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index ba973c2246..420c9ff5c5 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -18,8 +18,8 @@ There are two policy types used. * Access * Usage -As specified by the [Dataspace Protocol](https://github.com/International-Data-Spaces-Association/ids-specification), one Data Asset MUST refer to at least one Usage Policy, expressed in ODRL. -For additional information refer to [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view) +As specified by the https://github.com/International-Data-Spaces-Association/ids-specification[Dataspace Protocol], one Data Asset MUST refer to at least one Usage Policy, expressed in ODRL. +For additional information refer to https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view[Connector KIT] == Policies for sending and receiving parts [plantuml, target=data-sovereignty-publish-assets, format=svg] @@ -85,7 +85,7 @@ It's possible to publish parts with different policies. For this, the user must **Note**: -For more detailed information concering the functionality of IRS please refer to [IRS docu](https://eclipse-tractusx.github.io/item-relationship-service/docs/) +For more detailed information concerning the functionality of IRS please refer to https://eclipse-tractusx.github.io/item-relationship-service/docs/[IRS documentation] **[Work-in-progress]** The user may also choose parts that have already been published - they can be republished with a different policy. The process for this is identical to the regular publishing process. From d09b4a6a1d09d181bb9fae7e8ea36f30108ac4d1 Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 10:19:15 +0200 Subject: [PATCH 08/21] chore(documentation):[#1108] add description for diagram --- .../data-sovereignty/policy-management.adoc | 79 ++++++++++++------- .../data-sovereignty-publishing-assets.puml | 45 ++++++----- 2 files changed, 77 insertions(+), 47 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 420c9ff5c5..31612a0a74 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -29,56 +29,80 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover [cols="1,5"] |=== -|1, 2 -|Policies can be created by administrators at any time in the administration section of Trace-X. +|1 +|Policies can be created by User with role 'Admin' at any time in the administration section of Trace-X. The policy is created to later used for publishing assets in the current company context. + +|2 +|Policies are stored in the PolicyStore which is a shared component used by Trace-X [A] app and IRS for storing usage and access policies. |3 -|Parts can be imported at any time in the parts section of Trace-X. They will be stored locally at first. +|Policy is created in the policy store. |4 -|Before connected BPNs can access the imported parts, the parts must be published to the EDC and to the Digital Twin Registry (DTR). - -|5 -|The user must choose the policy that is used for contract negotiation of the selected parts. +|User with role 'Admin' receives feedback that creation of policy was successful. -|6 -|The policy is created in the EDC. +|5, 6 +|User with role 'Admin' imports assets in Admin section of Trace-X [A]. Parts can be imported at any time in the parts section of Trace-X. They will be stored locally at first. https://github.com/eclipse-tractusx/traceability-foss/tree/main/tx-backend/testdata[Testdata for asset import] |7 -|Each part is created as a shell in the DTR. This holds all the data of the part. +|User with role 'Admin' selects assets in transient state in application. |8 -|The created part is linked to the policy from the EDC. This is the last step of data provisioning. Trace-X A has done everything to ensure that companies that have a matching policy can access its published parts. +|User with role 'Admin' is requested to define a policy for assets publishing. |9 -|Trace-X B wants to synchronize parts and retrieve available ones from connected BPNs. In this case Trace-X A and Trace-X B have an established connection. +|User with role 'Admin' selects policy under which assets are published. The user must choose the policy that is used for contract negotiation of the selected parts. -|10 -|For part synchronization the Item Relationship Service (IRS) is requested. +|10,11 +|Trace-X [A] BE checks if PolicyDefinition for selected policy already exists. -|11 -|First the IRS must know the policies that are used by Trace-X B, so it requests them directly. +|12,13 +|In case PolicyDefinition does not exist. New PolicyDefinition is created in EDC [A]. The PolicyDefinition is created in the EDC. -|12 -|Trace-X B returns a list of the configured policies depending on the configuration done by the administrator in step 2. +|14,15 +|Each part is created as a shell in the DTR. This holds all the data of the part. Before connected BPNs can access the imported parts, the parts must be published to the EDC and to the Digital Twin Registry (DTR). + +|16, 17 +|Assets are created in the EDC. (POST /v3/assets) -|13 -|The IRS requests the catalog from Trace-X A. In the catalog, all policies of Trace-X A are stored. +|18,19 +|The created part is linked in the PolicyDefinition from the EDC. This is the last step of data provisioning. Trace-X [A] has done everything to ensure that companies that have a matching policy can access its published parts. -|14 -|The EDC of Trace-X A provides the catalog. +|20,21 +|User with role 'Admin' in Trace-X [B] creates policy for consuming assets of Trace-X [A]. -|15 -|The IRS checks the catalog for the required policies and extracts them. +|22 +|Trace-X [B] wants to synchronize parts and retrieve available ones from connected BPNs. In this case Trace-X [A] and Trace-X [B] have an established connection. -|16 +|23,24 +|Trace-X [B] requests for digital twins (Asset Administration Shell) in decentral Digital Twin registry. + +|25 +|For part synchronization the Item Relationship Service (IRS) is requested. + +|26,27 +|IRS requests for CatalogOffer for assets of Trace-X [A] + +|28 +|Trace-X [B] extracts policies from CatalogOffer + +|29,30 +|IRS requests for policies defined for BPNL of Trace-X [A] in PolicyStore of Trace-X [B] + +|31 |Now that the IRS has all the relevant policies of both companies, it can start comparing the linked policy of each part to the policy list of Trace-X B. This works by comparing the included constraints logically. If no policy matches for a part, it will not be imported. -|17, 18 +|32,33,34 |If the policy of the part matches with any policy of Trace-X A, a contract agreement is created for both Trace-X A and Trace-X B. It can be viewed in the administration section of Trace-X and documents the data exchange. -|19 +|35 |Now that the contract negotiation was successful, the data consumption process can take place for that part. + +|36 +|In case policy does not match IRS created tombstone. + +|37 +|IRS callbacks Trace-X [B] Instance after completing job processing. |=== It's possible to publish parts with different policies. For this, the user must only publish a limited selection of parts for which he can select a policy. For the parts that must be published with different policies, the user can repeat the process. @@ -87,7 +111,6 @@ It's possible to publish parts with different policies. For this, the user must **Note**: For more detailed information concerning the functionality of IRS please refer to https://eclipse-tractusx.github.io/item-relationship-service/docs/[IRS documentation] - **[Work-in-progress]** The user may also choose parts that have already been published - they can be republished with a different policy. The process for this is identical to the regular publishing process. == Policies for sending and receiving notifications diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index 9efe292e5d..f5acd9a24d 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -6,7 +6,7 @@ skinparam shadowing false skinparam defaultFontName "Architects daughter" skinparam linetype ortho -title Policies: Send and receive parts +title Policies: Send and receive assets actor "Admin \n [A]" as AA actor User @@ -24,33 +24,25 @@ actor "Admin B" as AB AA -> TXA: create policy note left create policy used for publishing - company parts [POLICY_TRACEX-PUBLISH_ASSETS] + company assets [POLICY_TRACEX-PUBLISH_ASSETS] end note activate TXA TXA -> PSA: create policy for BPNL +activate PSA TXA <-- PSA: 201 policy created +deactivate PSA AA <-- TXA: policy created deactivate TXA -AB -> TXB: create policy -activate TXB -note right - create policy for - BPNL of Trace-X [A] - [POLICY_BPNL_TRACEX_A] -end note -AB <-- TXB: policy created -deactivate TXB - ... -User -> TXA: import parts (POST /assets/import) +User -> TXA: import assets (POST /assets/import) activate TXA User <-- TXA: ok ... -User -> TXA: publish selected parts in transient state +User -> TXA: publish selected assets in transient state note left POST /assets/publish @@ -61,22 +53,24 @@ User <-- TXA: request for policy User --> TXA: select policy to be used TXA -> EDCA: PolicyDefinition exists +activate EDCA TXA <-- EDCA: return PolicyDefinition exists -opt PolicyDefinition exists +opt PolicyDefinition not exists TXA -> EDCA: create PolicyDefinition (/management/v2/policydefinitions) TXA <-- EDCA: PolicyDefinition created else end opt -loop selected parts +loop selected assets TXA -> DTRA: create asset /shell-descriptors +activate DTRA note left create asset in DTR end note TXA <-- DTRA: 201 : Asset Administration Shell Descriptor created successfully - +deactivate DTRA TXA -> EDCA: create asset (POST /v3/assets) note left create CatalogOffer in EDC @@ -88,13 +82,26 @@ note left create ContractDefinition in EDC end note TXA <-- EDCA: ContractDefinition created - +deactivate EDCA end deactivate TXA + +AB -> TXB: create policy +activate TXB + + +note right + create policy for + BPNL of Trace-X [A] + [POLICY_BPNL_TRACEX_A] +end note +AB <-- TXB: policy created +deactivate TXB + ... -TXB -> TXB: synchronize parts (assets/as-$/sync) +TXB -> TXB: synchronize assets (assets/as-$/sync) note left different endpoints for sync as-built and as-planned assets end note From 790980a4ca5dc2b054c7ff70c54ea7849ddd6193 Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 10:29:02 +0200 Subject: [PATCH 09/21] chore(sequence):[#1108] update diagram --- .../data-sovereignty/policy-management.adoc | 4 +-- ...vereignty-notifications-policy-change.puml | 26 ++++++++++++------- ...ereignty-notifications-policy-expired.puml | 2 +- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 31612a0a74..d2bb292722 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -102,7 +102,7 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |In case policy does not match IRS created tombstone. |37 -|IRS callbacks Trace-X [B] Instance after completing job processing. +|IRS callbacks Trace-X [B] Instance after completing job processing. |=== It's possible to publish parts with different policies. For this, the user must only publish a limited selection of parts for which he can select a policy. For the parts that must be published with different policies, the user can repeat the process. @@ -155,7 +155,7 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |If no policies match, an error will be returned to the user. |=== -=== No policies when sending notifications +=== No policies defined for Receiver BPNL when sending notifications [plantuml, target=data-sovereignty-notifications-policy-change, format=svg] .... include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml[] diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml index 75a8466ca2..10af4fb259 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-change.puml @@ -1,17 +1,18 @@ @startuml - +autonumber "[00]" skinparam monochrome true skinparam shadowing false skinparam defaultFontName "Architects daughter" skinparam linetype ortho -autonumber -title Policies: Sending notifications without policies + +title Policies: No policies defined for Receiver BPNL when sending notifications actor Admin actor User -participant "Trace-X" as TraceX -participant "Receiver EDC" as EDC +participant "Trace-X \n [A]" as TraceX +participant "Receiver EDC \n [B]" as EDC +participant "Policy Store \n [A]" as PSA Admin -> TraceX: create policies ... @@ -19,14 +20,19 @@ User -> TraceX: send notification to receiver BPN activate TraceX TraceX -> EDC: get catalog of receiver BPN activate EDC -EDC --> TraceX: catalog +EDC --> TraceX: return CatalogOffer deactivate EDC -TraceX -> TraceX: extract required policy definition from catalog -TraceX -> TraceX: get own policy definition for receiver BPN +TraceX -> TraceX: extract required policy from CatalogOffer +TraceX -> PSA: get policy definition for receiver BPN +autonumber stop +TraceX <-- PSA : return policy of BPNL [B] +autonumber resume activate TraceX -TraceX --> TraceX: no policyDefinition for receiver BPN -> use default policy +opt no policyDefinition for receiver BPN + TraceX --> TraceX: use default policy +end opt deactivate TraceX -TraceX -> TraceX: compare policy definition with own default policy +TraceX -> TraceX: compare policy definition of CatalogOffer with policy of BPNL alt policies don't match TraceX --> User: error: policies don't match deactivate TraceX diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml index 68d1050e44..71fb160074 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-notifications-policy-expired.puml @@ -1,5 +1,5 @@ @startuml -autonumber +autonumber "[00]" title: Policies: Sending notifications with expired policy skinparam monochrome true From 06416ee8822dcb70185994a7883d8192ecb1e855 Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:13:15 +0200 Subject: [PATCH 10/21] fix(changelog):[#1108] add changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca8506ed44..e45f4aa1ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha - #1190 update notification contracts on policy updates ### Changed - +- #1108 Rework of data sov documentation - #1070 Correct semantic model in dev/README.md - #1070 Update documentation artefacts according to TRG 1 - Documentation - #1070 Convert png to svg according to TRG 1.04 - Diagrams as code / Editable static files From 0aa199ed39d7cc339ce7cc8ce91b94eeca8bb330 Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:19:34 +0200 Subject: [PATCH 11/21] fix(docu):[#1108] correct synchronization of globalAssetIds instead of digital twins --- .../runtime-view/data-sovereignty/policy-management.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index d2bb292722..70c0ab27ca 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -75,13 +75,13 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |Trace-X [B] wants to synchronize parts and retrieve available ones from connected BPNs. In this case Trace-X [A] and Trace-X [B] have an established connection. |23,24 -|Trace-X [B] requests for digital twins (Asset Administration Shell) in decentral Digital Twin registry. +|Trace-X [B] requests for globalAssetIds (unique identifier of digital twins (Asset Administration Shell)) in decentral Digital Twin registry. |25 -|For part synchronization the Item Relationship Service (IRS) is requested. +|For part synchronization a synchronization job is started in the Item Relationship Service (IRS) . |26,27 -|IRS requests for CatalogOffer for assets of Trace-X [A] +|IRS requests for CatalogOffer for globalAssetsIds passed by Trace-X [A] |28 |Trace-X [B] extracts policies from CatalogOffer From 085822cb074d97b50056ee5d858b6719e9e3fecb Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:20:56 +0200 Subject: [PATCH 12/21] fix(docu):[#1108] fix documentaton change Trace-X to IRS --- .../arc42/runtime-view/data-sovereignty/policy-management.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 70c0ab27ca..60bb937d3b 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -84,7 +84,7 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |IRS requests for CatalogOffer for globalAssetsIds passed by Trace-X [A] |28 -|Trace-X [B] extracts policies from CatalogOffer +|IRS extracts policies from CatalogOffer |29,30 |IRS requests for policies defined for BPNL of Trace-X [A] in PolicyStore of Trace-X [B] From 224e4a61d8b5dd94b94944df211d612b60ace0e2 Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:27:34 +0200 Subject: [PATCH 13/21] fix(docu):[#1108] add additional information for ContractAgreementId --- .../arc42/runtime-view/data-sovereignty/policy-management.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 60bb937d3b..7001c94103 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -102,7 +102,7 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |In case policy does not match IRS created tombstone. |37 -|IRS callbacks Trace-X [B] Instance after completing job processing. +|IRS callbacks Trace-X [B] Instance after completing job processing. ContractAgreementId for asset is available in Trace-X passed in IRS JobResponse. |=== It's possible to publish parts with different policies. For this, the user must only publish a limited selection of parts for which he can select a policy. For the parts that must be published with different policies, the user can repeat the process. From af4e1b0a98c9e519bb942d1a656261a18c92979c Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:29:26 +0200 Subject: [PATCH 14/21] fix(docu):[#1108] add additional information for ContractAgreementId --- .../arc42/runtime-view/data-sovereignty/policy-management.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 7001c94103..7f51e3bf8c 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -93,7 +93,7 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |Now that the IRS has all the relevant policies of both companies, it can start comparing the linked policy of each part to the policy list of Trace-X B. This works by comparing the included constraints logically. If no policy matches for a part, it will not be imported. |32,33,34 -|If the policy of the part matches with any policy of Trace-X A, a contract agreement is created for both Trace-X A and Trace-X B. It can be viewed in the administration section of Trace-X and documents the data exchange. +|If the policy of the part matches with any policy of Trace-X A, a contract agreement is created for both Trace-X A and Trace-X B. It can be viewed in the administration section of Trace-X and documents the data exchange. Since the contractAgreementId will be mapped to an submodel of IRS. The contracts can be seen after IRS responded to Trace-X initial sync call with the submodels including the contractAgreementId. |35 |Now that the contract negotiation was successful, the data consumption process can take place for that part. From 64d1e78030537eff77feb10aecfbf0461a6d4e5b Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:39:39 +0200 Subject: [PATCH 15/21] fix(doc):[#1108] correct flow --- .../data-sovereignty/policy-management.adoc | 10 +++++----- .../data-sovereignty-publishing-assets.puml | 17 ++++++++++------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index 7f51e3bf8c..a0195d5c72 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -59,15 +59,15 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |12,13 |In case PolicyDefinition does not exist. New PolicyDefinition is created in EDC [A]. The PolicyDefinition is created in the EDC. -|14,15 -|Each part is created as a shell in the DTR. This holds all the data of the part. Before connected BPNs can access the imported parts, the parts must be published to the EDC and to the Digital Twin Registry (DTR). - -|16, 17 +|14, 15 |Assets are created in the EDC. (POST /v3/assets) -|18,19 +|16,17 |The created part is linked in the PolicyDefinition from the EDC. This is the last step of data provisioning. Trace-X [A] has done everything to ensure that companies that have a matching policy can access its published parts. +|18,19 +|Each part is created as a shell in the DTR. This holds all the data of the part. Before connected BPNs can access the imported parts, the parts must be published to the EDC and to the Digital Twin Registry (DTR). + |20,21 |User with role 'Admin' in Trace-X [B] creates policy for consuming assets of Trace-X [A]. diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index f5acd9a24d..6a5cb136ef 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -64,13 +64,6 @@ end opt loop selected assets -TXA -> DTRA: create asset /shell-descriptors -activate DTRA -note left - create asset in DTR -end note -TXA <-- DTRA: 201 : Asset Administration Shell Descriptor created successfully -deactivate DTRA TXA -> EDCA: create asset (POST /v3/assets) note left create CatalogOffer in EDC @@ -82,6 +75,16 @@ note left create ContractDefinition in EDC end note TXA <-- EDCA: ContractDefinition created + +TXA -> DTRA: create asset /shell-descriptors +activate DTRA +note left + create asset in DTR +end note +TXA <-- DTRA: 201 : Asset Administration Shell Descriptor created successfully +deactivate DTRA + + deactivate EDCA end From b4e1e8904733c3a881c1b14299e59ff4759d359e Mon Sep 17 00:00:00 2001 From: mk Date: Wed, 24 Jul 2024 21:43:34 +0200 Subject: [PATCH 16/21] chore(docu):[#1108] add submodel server to flow --- .../data-sovereignty-publishing-assets.puml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index 6a5cb136ef..d06d548c60 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -14,6 +14,7 @@ participant "Trace-X \n [A]" as TXA participant "PolicyStore \n [A]" as PSA participant "Digital Twin Registry \n [A]" as DTRA participant "EDC \n [A]" as EDCA +participant "SubmodelServer \n [A]" as SSA participant "Digital Twin Registry \n [B]" as DTRB participant "EDC \n [B]" as EDCB participant "IRS \n [B]" as IRSB @@ -66,7 +67,7 @@ loop selected assets TXA -> EDCA: create asset (POST /v3/assets) note left - create CatalogOffer in EDC + create assets and CatalogOffer in EDC end note TXA <-- EDCA: 200 Asset was created successfully. @@ -84,6 +85,13 @@ end note TXA <-- DTRA: 201 : Asset Administration Shell Descriptor created successfully deactivate DTRA +TXA -> SSA: create submodels for twin +activate SSA +note left + create submodels in SubmodelServer +end note +TXA <-- SSA: submodels created +deactivate SSA deactivate EDCA end From 20bb3c9757dbfc4da07c3da1db56089104d4e7c1 Mon Sep 17 00:00:00 2001 From: mk Date: Thu, 25 Jul 2024 08:41:52 +0200 Subject: [PATCH 17/21] fix(docu):[#1108] corect publishing flow --- .../data-sovereignty/policy-management.adoc | 10 +++++----- .../data-provisioning/import-report-receive.puml | 4 +++- .../data-provisioning/publish-assets-error.puml | 4 +++- .../data-provisioning/publish-assets.puml | 4 +++- ...-x-data-import-interface-modul1-sequence.puml | 6 ++++++ ...-x-data-import-interface-modul2-sequence.puml | 7 ++++++- ...-x-data-import-interface-modul3-sequence.puml | 8 +++++++- .../data-sovereignty-publishing-assets.puml | 16 ++++++++-------- 8 files changed, 41 insertions(+), 18 deletions(-) diff --git a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc index a0195d5c72..1690702e6c 100644 --- a/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc +++ b/docs/src/docs/arc42/runtime-view/data-sovereignty/policy-management.adoc @@ -53,14 +53,14 @@ include::../../../../uml-diagrams/arc42/runtime-view/data-sovereignty/data-sover |9 |User with role 'Admin' selects policy under which assets are published. The user must choose the policy that is used for contract negotiation of the selected parts. -|10,11 -|Trace-X [A] BE checks if PolicyDefinition for selected policy already exists. +|10, 11 +|Assets are created in the EDC. (POST /v3/assets) |12,13 -|In case PolicyDefinition does not exist. New PolicyDefinition is created in EDC [A]. The PolicyDefinition is created in the EDC. +|Trace-X [A] BE checks if PolicyDefinition for selected policy already exists. -|14, 15 -|Assets are created in the EDC. (POST /v3/assets) +|14,15 +|In case PolicyDefinition does not exist. New PolicyDefinition is created in EDC [A]. The PolicyDefinition is created in the EDC. |16,17 |The created part is linked in the PolicyDefinition from the EDC. This is the last step of data provisioning. Trace-X [A] has done everything to ensure that companies that have a matching policy can access its published parts. diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/import-report-receive.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/import-report-receive.puml index 16ef51edae..068f6df78a 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/import-report-receive.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/import-report-receive.puml @@ -1,7 +1,9 @@ @startuml +autonumber "[00]" skinparam monochrome true skinparam shadowing false -autonumber "[000]" +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho actor TraceXApiConsumer activate TraceXApiConsumer diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets-error.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets-error.puml index 13168bf8b9..b36ec0b2a9 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets-error.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets-error.puml @@ -1,7 +1,9 @@ @startuml +autonumber "[00]" skinparam monochrome true skinparam shadowing false -autonumber "[000]" +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho actor TraceXApiConsumer activate TraceXApiConsumer diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets.puml index 4136d80469..cbb7354921 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/publish-assets.puml @@ -1,7 +1,9 @@ @startuml +autonumber "[00]" skinparam monochrome true skinparam shadowing false -autonumber "[000]" +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho actor TraceXApiConsumer activate TraceXApiConsumer diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul1-sequence.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul1-sequence.puml index 6ac54d0ffb..b522f118b1 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul1-sequence.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul1-sequence.puml @@ -1,4 +1,10 @@ @startuml +autonumber "[00]" +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + participant FE participant BE participant Database diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul2-sequence.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul2-sequence.puml index 1526c43747..957c7930b3 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul2-sequence.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul2-sequence.puml @@ -1,7 +1,12 @@ @startuml +autonumber "[00]" +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + participant FE participant BE -autonumber "[000]" FE -> BE: request assets: GET/assetsAsxxx BE --> FE: return assets_as_built OR assets_as_planned diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul3-sequence.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul3-sequence.puml index 9e23bdf92e..2215ea9d48 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul3-sequence.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-provisioning/trace-x-data-import-interface-modul3-sequence.puml @@ -1,10 +1,16 @@ @startuml +autonumber "[00]" +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +skinparam linetype ortho + participant BE participant EDC participant Registry participant Submodels participant Irs -autonumber "[000]" + BE ->> BE: scheduler job BE ->> BE: receive list of IN_SYNC assets diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index d06d548c60..39b1eca83e 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -53,6 +53,14 @@ User <-- TXA: request for policy User --> TXA: select policy to be used +loop selected assets + +TXA -> EDCA: create asset (POST /v3/assets) +note left + create assets and CatalogOffer in EDC +end note +TXA <-- EDCA: 200 Asset was created successfully. + TXA -> EDCA: PolicyDefinition exists activate EDCA TXA <-- EDCA: return PolicyDefinition exists @@ -63,14 +71,6 @@ else end opt -loop selected assets - -TXA -> EDCA: create asset (POST /v3/assets) -note left - create assets and CatalogOffer in EDC -end note -TXA <-- EDCA: 200 Asset was created successfully. - TXA -> EDCA: create ContractDefinition (/management/v2/contractdefinitions) with policy note left create ContractDefinition in EDC From cad227db4fa2a8baf8fc297e4fac43956b2dfeef Mon Sep 17 00:00:00 2001 From: mk Date: Thu, 25 Jul 2024 09:14:14 +0200 Subject: [PATCH 18/21] chore(docu):[#1108] add addition prerequiste for initation of data consumption --- .../data-sovereignty-publishing-assets.puml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml index 39b1eca83e..981eedf0e6 100644 --- a/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-sovereignty/data-sovereignty-publishing-assets.puml @@ -111,6 +111,17 @@ end note AB <-- TXB: policy created deactivate TXB + +ref over TXB + Trace-X [B] publish own assets + +end ref + +note right + Prerequisite is that Trace-X has published own assets. + dDTR of Trace-X B is requested for globalAssetIds of company own assets. +end note + ... TXB -> TXB: synchronize assets (assets/as-$/sync) note left From 635cfff23d5fe34fa5fb41752e5a3ae061a132ea Mon Sep 17 00:00:00 2001 From: ds-lcapellino Date: Wed, 24 Jul 2024 16:09:15 +0200 Subject: [PATCH 19/21] feature: xxx add association cucumber test action --- .../workflows/xray-cucumber-association.yaml | 100 ++++ tx-cucumber-tests/pom.xml | 41 ++ .../test/TraceabilityTestStepDefinition.java | 10 +- .../test/tooling/EnvVariablesResolver.java | 29 +- .../test/tooling/rest/Authentication.java | 22 +- .../test/tooling/rest/RestProvider.java | 26 +- .../test/validator/TestUtils.java | 9 +- .../features/10_TRACEFOSS-2354.feature | 81 --- .../features/11_TRACEFOSS-1125.feature | 69 --- ...01,CXTM-300,CXTM-299,CXTM-298(+15).feature | 493 ++++++++++++++++++ .../features/1_TRACEFOSS-1393.feature | 64 --- .../features/2_TRACEFOSS-600.feature | 266 ---------- .../features/3_TRACEFOSS-938.feature | 54 -- .../features/4_TRACEFOSS-936.feature | 96 ---- .../features/5_TRACEFOSS-1625.feature | 49 -- .../features/6_TRACEFOSS-382.feature | 62 --- .../features/7_TRACEFOSS-1090.feature | 46 -- .../features/8_TRACEFOSS-608.feature | 60 --- .../features/9_TRACEFOSS-607.feature | 67 --- 19 files changed, 699 insertions(+), 945 deletions(-) create mode 100644 .github/workflows/xray-cucumber-association.yaml delete mode 100644 tx-cucumber-tests/src/test/resources/features/10_TRACEFOSS-2354.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/11_TRACEFOSS-1125.feature create mode 100644 tx-cucumber-tests/src/test/resources/features/1_CXTM-301,CXTM-300,CXTM-299,CXTM-298(+15).feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/1_TRACEFOSS-1393.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/2_TRACEFOSS-600.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/3_TRACEFOSS-938.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/4_TRACEFOSS-936.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/5_TRACEFOSS-1625.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/6_TRACEFOSS-382.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/7_TRACEFOSS-1090.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/8_TRACEFOSS-608.feature delete mode 100644 tx-cucumber-tests/src/test/resources/features/9_TRACEFOSS-607.feature diff --git a/.github/workflows/xray-cucumber-association.yaml b/.github/workflows/xray-cucumber-association.yaml new file mode 100644 index 0000000000..39686eef46 --- /dev/null +++ b/.github/workflows/xray-cucumber-association.yaml @@ -0,0 +1,100 @@ +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +name: "[BE][TEST][E2E] Cucumber - Association" + +on: + workflow_dispatch: # Trigger manually + schedule: + - cron: "0 0 * * *" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Cache maven packages + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Download Feature Files + id: download + env: + JIRA_USERNAME: ${{ secrets.ASSOCIATION_TX_JIRA_USERNAME }} + JIRA_PASSWORD: ${{ secrets.ASSOCIATION_TX_JIRA_PASSWORD }} + # JIRA filter 11349: project = "[TR] FOSS - Open Source (Impl.)" AND issuetype = Test AND "Test Type" = Cucumber AND status = Ready AND labels = INTEGRATION_TEST AND (environment ~ DEV OR environment ~ "INT") + # Downloads all feature files of cucumber tests inside TRI project + run: | + token=$(curl -H "Content-Type: application/json" -X POST \ + --data "{ \"client_id\": \"$JIRA_USERNAME\",\"client_secret\": \"$JIRA_PASSWORD\" }" \ + https://xray.cloud.getxray.app/api/v2/authenticate | tr -d '"') + + export HTTP_RESULT=$(curl -s --show-error -w "%{http_code}" --header "Authorization: Bearer $token" \ + "https://xray.cloud.getxray.app/api/v2/export/cucumber?filter=10005&fz=true" -o features.zip) + + [[ $HTTP_RESULT == 200 || $HTTP_RESULT == 400 ]] + echo "::set-output name=http_response::$HTTP_RESULT" + + - name: install tx-models + run: mvn install -pl tx-models + + # Required step due to fact that jira will name feature files differently with each feature added and that will cause duplicate test runs + - name: Cleanup repository feature files + if: ${{ steps.download.outputs.http_response == '200' }} + #working-directory: tx-cucumber-tests + run: | + rm -r tx-cucumber-tests/src/test/resources/features/* + + - name: Build with Maven + if: ${{ steps.download.outputs.http_response == '200' }} + env: + KEYCLOAK_HOST: ${{ secrets.ASSOCIATION_KEYCLOAK_HOST }} + SUPERVISOR_CLIENT_ID: ${{ secrets.ASSOCIATION_SUPERVISOR_CLIENT_ID }} + SUPERVISOR_PASSWORD: ${{ secrets.ASSOCIATION_SUPERVISOR_PASSWORD }} + E2E_TXA_HOST: ${{ secrets.ASSOCIATION_E2E_TXA_HOST }} + E2E_TXB_HOST: ${{ secrets.ASSOCIATION_E2E_TXB_HOST }} + #working-directory: tx-cucumber-tests + run: | + unzip -o tx-cucumber-tests/features.zip -d tx-cucumber-tests/src/test/resources/features + mvn -pl tx-models,tx-cucumber-tests --batch-mode clean install -D"cucumber.filter.tags"="@trace-x-automated" -P association + + - name: Submit results to Xray + if: ${{ always() && steps.download.outputs.http_response == '200' }} + env: + JIRA_USERNAME: ${{ secrets.ASSOCIATION_TX_JIRA_USERNAME }} + JIRA_PASSWORD: ${{ secrets.ASSOCIATION_TX_JIRA_PASSWORD }} + run: | + token=$(curl -H "Content-Type: application/json" -X POST \ + --data "{ \"client_id\": \"$JIRA_USERNAME\",\"client_secret\": \"$JIRA_PASSWORD\" }" \ + https://xray.cloud.getxray.app/api/v2/authenticate | tr -d '"') + + curl --request POST \ + --header 'Content-Type: application/json' \ + --header "Authorization: Bearer $token" \ + --data-binary '@tx-cucumber-tests/report.json' \ + "https://xray.cloud.getxray.app/api/v2/import/execution/cucumber" diff --git a/tx-cucumber-tests/pom.xml b/tx-cucumber-tests/pom.xml index 0b39a20118..c197c4a9b7 100644 --- a/tx-cucumber-tests/pom.xml +++ b/tx-cucumber-tests/pom.xml @@ -35,6 +35,47 @@ SPDX-License-Identifier: Apache-2.0 true + + + + consortia + + true + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + BPNL00000003CML1 + BPNL00000003CNKC + + + + + + + + association + + + + org.apache.maven.plugins + maven-surefire-plugin + + + BPNL000000000UKM + BPNL000000000DWF + + + + + + + + diff --git a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/TraceabilityTestStepDefinition.java b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/TraceabilityTestStepDefinition.java index d73993b2d0..c62ece2643 100644 --- a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/TraceabilityTestStepDefinition.java +++ b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/TraceabilityTestStepDefinition.java @@ -53,7 +53,7 @@ import static org.eclipse.tractusx.traceability.test.tooling.TraceXEnvironmentEnum.TRACE_X_A; import static org.eclipse.tractusx.traceability.test.tooling.TraceXEnvironmentEnum.TRACE_X_B; import static org.eclipse.tractusx.traceability.test.validator.TestUtils.normalize; -import static org.eclipse.tractusx.traceability.test.validator.TestUtils.wrapStringWithTimestamp; +import static org.eclipse.tractusx.traceability.test.validator.TestUtils.wrapStringWithUUID; @Slf4j public class TraceabilityTestStepDefinition { @@ -61,8 +61,8 @@ public class TraceabilityTestStepDefinition { private RestProvider restProvider; private Long notificationID_TXA = null; private Long notificationID_TXB = null; - protected static final String BPN_TXA = "BPNL00000003CML1"; - protected static final String BPN_TXB = "BPNL00000003CNKC"; + protected static final String BPN_TXA = System.getProperty("txa.bpn"); + protected static final String BPN_TXB = System.getProperty("txb.bpn"); private String notificationDescription = null; private List requestedAssets; private List testAssets; @@ -96,7 +96,7 @@ public void iCreateQualityNotification(DataTable dataTable) { throw MissingStepDefinitionException.missingAssetDefinition(); } - notificationDescription = wrapStringWithTimestamp(input.get("description")); + notificationDescription = wrapStringWithUUID(input.get("description")); final Instant targetDate = input.get("targetDate") == null ? null : Instant.parse(input.get("targetDate")); @@ -127,7 +127,7 @@ public void iEditQualityNotification(DataTable dataTable) { throw MissingStepDefinitionException.missingAssetDefinition(); } - notificationDescription = wrapStringWithTimestamp(input.get("description")); + notificationDescription = wrapStringWithUUID(input.get("description")); final Instant targetDate = input.get("targetDate") == null ? null : Instant.parse(input.get("targetDate")); diff --git a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/EnvVariablesResolver.java b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/EnvVariablesResolver.java index c5ecd71b62..7ac5d95b3a 100644 --- a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/EnvVariablesResolver.java +++ b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/EnvVariablesResolver.java @@ -21,23 +21,38 @@ public class EnvVariablesResolver { - public static String getSupervisorClientId() { - return System.getenv("SUPERVISOR_CLIENT_ID"); + public static final String ASSOCIATION_SUPERVISOR_TX_A_CLIENT_ID = "ASSOCIATION_SUPERVISOR_TX_A_CLIENT_ID"; + public static final String ASSOCIATION_SUPERVISOR_TX_A_PASSWORD = "ASSOCIATION_SUPERVISOR_TX_A_PASSWORD"; + public static final String ASSOCIATION_SUPERVISOR_TX_B_CLIENT_ID = "ASSOCIATION_SUPERVISOR_TX_B_CLIENT_ID"; + public static final String ASSOCIATION_SUPERVISOR_TX_B_PASSWORD = "ASSOCIATION_SUPERVISOR_TX_B_PASSWORD"; + + public static String getSupervisorClientIdTracexA() { + return System.getenv(ASSOCIATION_SUPERVISOR_TX_A_CLIENT_ID); + } + + public static String getSupervisorPasswordTracexA() { + return System.getenv(ASSOCIATION_SUPERVISOR_TX_A_PASSWORD); + } + + public static String getSupervisorClientIdTracexB() { + return System.getenv(ASSOCIATION_SUPERVISOR_TX_B_CLIENT_ID) == null + ? System.getenv(ASSOCIATION_SUPERVISOR_TX_A_CLIENT_ID) : System.getenv(ASSOCIATION_SUPERVISOR_TX_B_CLIENT_ID); } - public static String getSupervisorPassword() { - return System.getenv("SUPERVISOR_PASSWORD"); + public static String getAssociationSupervisorTxBPassword() { + return System.getenv(ASSOCIATION_SUPERVISOR_TX_B_PASSWORD) == null + ? System.getenv(ASSOCIATION_SUPERVISOR_TX_A_PASSWORD) : System.getenv(ASSOCIATION_SUPERVISOR_TX_B_PASSWORD); } public static String getKeycloakHost() { - return System.getenv("KEYCLOAK_HOST"); + return System.getenv("ASSOCIATION_KEYCLOAK_HOST"); } public static String getTX_A_Host() { - return System.getenv("E2E_TXA_HOST"); + return System.getenv("ASSOCIATION_E2E_TXA_HOST"); } public static String getTX_B_Host() { - return System.getenv("E2E_TXB_HOST"); + return System.getenv("ASSOCIATION_E2E_TXB_HOST"); } } diff --git a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/Authentication.java b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/Authentication.java index 5ea204cf1a..8b0b745601 100644 --- a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/Authentication.java +++ b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/Authentication.java @@ -40,12 +40,28 @@ public class Authentication { private String clientSecret; private String keycloakHost; - Authentication() { - clientId = EnvVariablesResolver.getSupervisorClientId(); - clientSecret = EnvVariablesResolver.getSupervisorPassword(); + private Authentication() { + clientId = EnvVariablesResolver.getSupervisorClientIdTracexA(); + clientSecret = EnvVariablesResolver.getSupervisorPasswordTracexA(); keycloakHost = EnvVariablesResolver.getKeycloakHost(); } + public static Authentication authenticationForTracexA(){ + Authentication authentication = new Authentication(); + authentication.clientId = EnvVariablesResolver.getSupervisorClientIdTracexA(); + authentication.clientSecret = EnvVariablesResolver.getSupervisorPasswordTracexA(); + authentication.keycloakHost = EnvVariablesResolver.getKeycloakHost(); + return authentication; + } + + public static Authentication authenticationForTracexB(){ + Authentication authentication = new Authentication(); + authentication.clientId = EnvVariablesResolver.getSupervisorClientIdTracexB(); + authentication.clientSecret = EnvVariablesResolver.getAssociationSupervisorTxBPassword(); + authentication.keycloakHost = EnvVariablesResolver.getKeycloakHost(); + return authentication; + } + public String obtainAccessToken() { final Map oauth2Payload = new HashMap<>(); oauth2Payload.put("grant_type", "client_credentials"); diff --git a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/RestProvider.java b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/RestProvider.java index 047fe1c914..9282e37ce7 100644 --- a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/RestProvider.java +++ b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/tooling/rest/RestProvider.java @@ -63,11 +63,10 @@ public class RestProvider { @Getter private TraceXEnvironmentEnum currentEnv; - private final Authentication authentication; + private Authentication authentication; public RestProvider() { host = null; - authentication = new Authentication(); RestAssured.config = RestAssuredConfig.config().objectMapperConfig(new ObjectMapperConfig().jackson2ObjectMapperFactory( (type, s) -> new ObjectMapper() @@ -84,9 +83,11 @@ public RestProvider() { public void loginToEnvironment(TraceXEnvironmentEnum environment) { if (environment.equals(TRACE_X_A)) { host = EnvVariablesResolver.getTX_A_Host(); + authentication = Authentication.authenticationForTracexA(); currentEnv = TRACE_X_A; } else if (environment.equals(TRACE_X_B)) { host = EnvVariablesResolver.getTX_B_Host(); + authentication = Authentication.authenticationForTracexB(); currentEnv = TRACE_X_B; } System.out.println(host); @@ -249,16 +250,17 @@ public List getReceivedNotifications() { return given().spec(getRequestSpecification()) .contentType(ContentType.JSON) .when() - .body("{\n" + - " \"pageAble\": {\n" + - " \"size\": 1000 \n" + - " },\n" + - " \"searchCriteria\": {\n" + - " \"filter\": [\n" + - " \"channel,EQUAL,RECEIVER,AND\"\n" + - " ]\n" + - " }\n" + - "}") + .body(""" + { + "pageAble": { + "size": 1000\s + }, + "searchCriteria": { + "filter": [ + "channel,EQUAL,RECEIVER,AND" + ] + } + }""") .post("/api/notifications/filter") .then() .statusCode(HttpStatus.SC_OK) diff --git a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/validator/TestUtils.java b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/validator/TestUtils.java index 4de6dc6462..0cdadc5907 100644 --- a/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/validator/TestUtils.java +++ b/tx-cucumber-tests/src/test/java/org/eclipse/tractusx/traceability/test/validator/TestUtils.java @@ -19,8 +19,10 @@ package org.eclipse.tractusx.traceability.test.validator; -import java.time.Instant; +import lombok.extern.slf4j.Slf4j; + import java.util.Map; +import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -29,9 +31,8 @@ public class TestUtils { private static final String UNIQUE_SEPARATOR = ":-:"; - public static String wrapStringWithTimestamp(String string) { - - return UNIQUE_SEPARATOR + string + UNIQUE_SEPARATOR + Instant.now(); + public static String wrapStringWithUUID(String string) { + return UNIQUE_SEPARATOR + string + UNIQUE_SEPARATOR + UUID.randomUUID(); } public static String unWrapStringWithTimestamp(String string) { diff --git a/tx-cucumber-tests/src/test/resources/features/10_TRACEFOSS-2354.feature b/tx-cucumber-tests/src/test/resources/features/10_TRACEFOSS-2354.feature deleted file mode 100644 index b4cb1dc9a9..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/10_TRACEFOSS-2354.feature +++ /dev/null @@ -1,81 +0,0 @@ -@TRACEFOSS-2354 -Feature: 👍[BE][TABLE_FEATURE] Implementation of Sorting in table views - #h2. Clarification - # * (/) [~steffen.duering@bmw.de] should cascading sorting be enabled ? --> [~martin.kanal@doubleslash.de]   If possible yes. Could also be done in a further development if not possible - # * (/) [~steffen.duering@bmw.de] On which result set the sorting shall be implemented (current page vs / complete resultset? ) - #-->[~martin.kanal@doubleslash.de]  complete resultset would be great. Is it possible? - # - #h2. Business Value - # # (y) [ ] {*}User-business value:{*}: - # # (y) [ ] *Risk reduction:* - # # (y) [ ] *Regulatory value:* - # # (y) [ ] *Commercial value:* - # # (y) [ ] *Market value:* - # # (y) [ ] *Efficiency value:* - # # (y) [ ] *Future value:* - # - #h2. User Story - # - #*As a user* of Trace-X - #*I want* to be able to sort within the table views - #*so that* I only see relevant data and I'm able to better handle big amount of data - # - #--> This User Story should cover all *Backend* tasks that are necessary to cover the funcionalities in the frontend - #h2. Outcome - # - #- (/) User can sort for any colums in UI (within all table views --> parts, other parts) - #- (/) Multiple sort functionalities can be set for ascending and descending according to concept for different attributes on the same time - #- (/) enable reset of sorting - #- (/) Cascading multi-column sorting on multiple columns (Number is showing the sort order) - #- (/) Sorting of columns is based on complete resultset  - #- (/) Swagger API documentation is updated and available on DEV - #- (/) Cover specific columns where cascading sorting might causes conflict (Takeing the semantic under account) - #h2. Mockup - # - #!screenshot-1.png|thumbnail! - #h2. NFR - # - #* - #h2. Hints / Details / Design Sketch : - # - #* - Then I check, if only assets with are responded - - Examples: - | owner-filter | - | "SUPPLIER" | - | "CUSTOMER" | - | "OWN" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/11_TRACEFOSS-1125.feature b/tx-cucumber-tests/src/test/resources/features/11_TRACEFOSS-1125.feature deleted file mode 100644 index 99c359e636..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/11_TRACEFOSS-1125.feature +++ /dev/null @@ -1,69 +0,0 @@ -@TRACEFOSS-1125 -Feature: ⭐[BE] User select severity for Quality Investigation - #*As a* User, - #*I want* to be able to assign a severity status for the part(s) of a notification - #*so that* I am able to inform the supplier (within the notification) about the criticality of my request for investigation. - #h3. Outcome - # * User can select the severity based on the list in the documentation - # ** MINOR - # ** MAJOR - # ** CRITICAL - # ** LIFE-THREATENING - # * Severity is sent to the receiver of the notification in the corresponding field - # * The severity of the parts is changed on sender and receiver side based on the information in the notification. - # - #h2. Hints - # * Today severity is hard coded "minor" in Notification - # * [Concept|https://confluence.catena-x.net/pages/viewpage.action?pageId=69429778] - - #Check if *severity* is processed correctly for created quality investigations which contains following checks: - # * correct creation - # * correct reception on receiver side - # - #h2. Sprint Planning 2 - # * Make sure to not have duplicate lines of gherkin language which link to the same technical methods - # * Write test - # * Validate github action against e2e environment - # * Give Feedback to Alex and make suggestions of gherkin and technical steps - # * Request two new technical users (see reference ticket here: https://jira.catena-x.net/browse/CPLP-2808)  with client id / secret for - # ** ADMIN role - # ** USER role - # * Request system team ticket (see reference ticket here: [https://github.com/eclipse-tractusx/sig-infra/issues/66) |https://github.com/eclipse-tractusx/sig-infra/issues/66] - # ** For the mapping of the secrets in github - # * Add new secrets to the code - # - #  - @TRACEFOSS-1220 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario Outline: [BE] Check correct processing of severity in quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1220" | - | "type" | "INVESTIGATION" | - Then I check, if quality notification has proper values - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1220" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1220" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - - Examples: - |severity| - |"MINOR"| - |"MAJOR"| - |"CRITICAL"| - |"LIFE-THREATENING"| \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/1_CXTM-301,CXTM-300,CXTM-299,CXTM-298(+15).feature b/tx-cucumber-tests/src/test/resources/features/1_CXTM-301,CXTM-300,CXTM-299,CXTM-298(+15).feature new file mode 100644 index 0000000000..8189ae675f --- /dev/null +++ b/tx-cucumber-tests/src/test/resources/features/1_CXTM-301,CXTM-300,CXTM-299,CXTM-298(+15).feature @@ -0,0 +1,493 @@ +Feature: + + @TEST_CXTM-301 @trace-x-automated + Scenario: TRACEFOSS-1216 [BE] Check correct processing of targetDate in quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing targetDate TRACEFOSS-1216" | + | "targetDate" | "2099-03-11T22:44:06.333827Z" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "description" | "Testing targetDate TRACEFOSS-1216" | + | "targetDate" | "2099-03-11T22:44:06.333827Z" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing targetDate TRACEFOSS-1216" | + | "targetDate" | "2099-03-11T22:44:06.333827Z" | + | "status" | "RECEIVED" | + + @TEST_CXTM-300 @trace-x-automated + Scenario Outline: TRACEFOSS-1220 [BE] Check correct processing of severity in quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1220" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1220" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1220" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + + Examples: + |severity| + |"MINOR"| + |"MAJOR"| + |"CRITICAL"| + |"LIFE-THREATENING"| + + @TEST_CXTM-299 @trace-x-automated + Scenario Outline: TRACEFOSS-1221 [BE] Check correct filtering of owner in assets + When I am logged into TRACE_X_A application + And I request assets with + Then I check, if only assets with are responded + + Examples: + | owner-filter | + | "SUPPLIER" | + | "CUSTOMER" | + | "OWN" | + + @TEST_CXTM-298 @trace-x-automated + Scenario: TRACEFOSS-1222 [BE] Check correct processing of ACCEPTANCE of quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I accept quality notification + | "reason" | "accepted in TRACEFOSS-1222" | + Then I check, if quality notification has proper values + | "status" | "ACCEPTED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACCEPTED" | + | "acceptReason" | "accepted in TRACEFOSS-1222" | + + @TEST_CXTM-297 @trace-x-automated + Scenario: TRACEFOSS-1223 [BE] Check correct processing of DECLINATION of quality notification + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1223" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1223" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1223" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I decline quality notification + | "reason" | "declined in TRACEFOSS-1223" | + Then I check, if quality notification has proper values + | "status" | "DECLINED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "DECLINED" | + | "declineReason" | "declined in TRACEFOSS-1223" | + + @TEST_CXTM-294 @trace-x-automated + Scenario: TRACEFOSS-1247 [BE] Check correct processing of targetDate = null in quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing without targetDate TRACEFOSS-1247" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "description" | "Testing without targetDate TRACEFOSS-1247" | + | "targetDate" | "" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing without targetDate TRACEFOSS-1247" | + | "targetDate" | "" | + | "status" | "RECEIVED" | + + @TEST_CXTM-291 @trace-x-automated + Scenario Outline: TRACEFOSS-1539 [BE] Check correct processing of severity in quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1539" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1539" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | | + | "description" | "Testing severity TRACEFOSS-1539" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + + Examples: + |severity| + |"MINOR"| + |"MAJOR"| + |"CRITICAL"| + |"LIFE-THREATENING"| + + @TEST_CXTM-289 @trace-x-automated + Scenario: TRACEFOSS-1543 [BE] Check correct processing of targetDate in quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing targetDate TRACEFOSS-1543" | + | "targetDate" | "2055-05-30T20:43:06.333827Z" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "description" | "Testing targetDate TRACEFOSS-1543" | + | "targetDate" | "2055-05-30T20:43:06.333827Z" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing targetDate TRACEFOSS-1543" | + | "targetDate" | "2055-05-30T20:43:06.333827Z" | + | "status" | "RECEIVED" | + + @TEST_CXTM-288 @trace-x-automated + Scenario: TRACEFOSS-1544 [BE] Check correct processing of ACCEPTANCE of quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I accept quality notification + | "reason" | "accepted in TRACEFOSS-1544" | + Then I check, if quality notification has proper values + | "status" | "ACCEPTED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACCEPTED" | + And I check, if quality notification has proper values + | "acceptReason" | "accepted in TRACEFOSS-1544" | + + @TEST_CXTM-287 @trace-x-automated + Scenario: TRACEFOSS-1545 [BE] Check correct processing of DECLINATION of quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1545" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1545" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "severity" | "MAJOR" | + | "description" | "Testing DECLINATION TRACEFOSS-1545" | + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I decline quality notification + | "reason" | "declined in TRACEFOSS-1545" | + Then I check, if quality notification has proper values + | "status" | "DECLINED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "DECLINED" | + And I check, if quality notification has proper values + | "declineReason" | "declined in TRACEFOSS-1545" | + + @TEST_CXTM-286 @trace-x-automated + Scenario: TRACEFOSS-1546 [BE] Check correct processing of targetDate = null in quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing without targetDate TRACEFOSS-1546" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "description" | "Testing without targetDate TRACEFOSS-1546" | + | "targetDate" | "" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing without targetDate TRACEFOSS-1546" | + | "targetDate" | "" | + | "status" | "RECEIVED" | + + @TEST_CXTM-284 @trace-x-automated + Scenario: TRACEFOSS-1652 [BE] Check correct processing of several parts in quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd,urn:uuid:5205f736-8fc2-4585-b869-6bf36842369a' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing severity TRACEFOSS-1652" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "description" | "Testing severity TRACEFOSS-1652" | + | "status" | "CREATED" | + | "assetIdCount" | "2" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing severity TRACEFOSS-1652" | + | "status" | "RECEIVED" | + | "assetIdCount" | "2" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + | "assetIdCount" | "2" | + + @TEST_CXTM-283 @trace-x-automated + Scenario: TRACEFOSS-1670 [BE] Check correct processing of several parts in quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:6b2296cc-26c0-4f38-8a22-092338c36e22,urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MINOR" | + | "description" | "Testing severity TRACEFOSS-1670" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "description" | "Testing severity TRACEFOSS-1670" | + | "status" | "CREATED" | + | "assetIdCount" | "2" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + Then I check, if quality notification has proper values + | "description" | "Testing severity TRACEFOSS-1670" | + | "status" | "RECEIVED" | + | "assetIdCount" | "2" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + | "assetIdCount" | "2" | + + @TEST_CXTM-282 @trace-x-automated + Scenario: TRACEFOSS-1861 [BE] Check correct processing of CLOSURE of quality investigation + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing CLOSURE TRACEFOSS-1861" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "description" | "Testing CLOSURE TRACEFOSS-1861" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + And I check, if quality notification has proper values + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I close quality notification + Then I check, if quality notification has proper values + | "status" | "CLOSED" | + + When I am logged into TRACE_X_B application + Then I check, if quality notification has proper values + | "status" | "CLOSED" | + + @TEST_CXTM-281 @trace-x-automated + Scenario: TRACEFOSS-1862 [BE] Check correct processing of CANCELLATION of quality notification + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1862" | + | "type" | "INVESTIGATION" | + Then I check, if quality notification has proper values + | "description" | "Testing ACCEPTANCE TRACEFOSS-1862" | + | "status" | "CREATED" | + When I cancel quality notification + Then I check, if quality notification has proper values + | "status" | "CANCELED" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has not been received + + @TEST_CXTM-280 @trace-x-automated + Scenario: TRACEFOSS-1863 [BE] Check correct processing of CLOSURE of quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1863" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "description" | "Testing ACCEPTANCE TRACEFOSS-1863" | + | "status" | "CREATED" | + When I approve quality notification + Then I check, if quality notification has proper values + | "status" | "SENT" | + When I am logged into TRACE_X_B application + Then I check, if quality notification has been received + And I check, if quality notification has proper values + | "status" | "RECEIVED" | + When I acknowledge quality notification + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + + When I am logged into TRACE_X_A application + Then I check, if quality notification has proper values + | "status" | "ACKNOWLEDGED" | + When I close quality notification + Then I check, if quality notification has proper values + | "status" | "CLOSED" | + + When I am logged into TRACE_X_B application + Then I check, if quality notification has proper values + | "status" | "CLOSED" | + + @TEST_CXTM-279 @trace-x-automated + Scenario: TRACEFOSS-1864 [BE] Check correct processing of CANCELLATION of quality alerts + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | + | "type" | "ALERT" | + Then I check, if quality notification has proper values + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | + | "status" | "CREATED" | + When I cancel quality notification + Then I check, if quality notification has proper values + | "status" | "CANCELED" | + + When I am logged into TRACE_X_B application + Then I check, if quality notification has not been received + + @TEST_CXTM-273 @trace-x-automated + Scenario: TRACEFOSS-3354 [BE] Check edit notification of quality notification + When I am logged into TRACE_X_A application + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' + And I create quality notification + | "severity" | "MAJOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | + | "type" | "ALERT" | + | "title" | "Initial title" | + Then I check, if quality notification has proper values + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | + | "status" | "CREATED" | + When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03' + When I edit quality notification + | "severity" | "MINOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864 edited" | + | "title" | "New Title" | + + Then I check, if quality notification has proper values + | "status" | "CREATED" | + | "severity" | "MINOR" | + | "description" | "Testing ACCEPTANCE TRACEFOSS-1864 edited" | + | "title" | "New Title" | + | "affectedPartId" | "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03" | + + diff --git a/tx-cucumber-tests/src/test/resources/features/1_TRACEFOSS-1393.feature b/tx-cucumber-tests/src/test/resources/features/1_TRACEFOSS-1393.feature deleted file mode 100644 index cc0f44d4b0..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/1_TRACEFOSS-1393.feature +++ /dev/null @@ -1,64 +0,0 @@ -@TRACEFOSS-1393 -Feature: ⭐ [BE][QUALITY_ALERTS] Create (POST) quality alerts (Rest API) - #h2. User Story - # - #*As a* user - #*I want to* be able to see all quality alerts / notifications based on their status and type with the date created in a separate Quality Alerts inbox - #*so that* I can have an overview and perform actions like view details on the notifications. - # - #h2. Outcome - # - #- (-) New table is added which shows "Quality Alerts" - - #Check if *edit* of quality notification is processed correctly which contains following checks: - # * create notification  - # * edit notification in status created - # * validate the values have been updated - @TRACEFOSS-3354 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-1920 @TRACEFOSS-2910 @TRACEFOSS-1101 @TRACEFOSS-1673 @TEST-904 @TRACEFOSS-2715 @TEST-1217 @INTEGRATION_TEST - Scenario: [BE] Check edit notification of quality notification - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | - | "type" | "ALERT" | - | "title" | "Initial title" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | - | "status" | "CREATED" | - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03' - When I edit quality notification - | "severity" | "MINOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864 edited" | - | "title" | "New Title" | - - Then I check, if quality notification has proper values - | "status" | "CREATED" | - | "severity" | "MINOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864 edited" | - | "title" | "New Title" | - | "affectedPartId" | "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03" | - - #Check if *CANCELLATION* of quality alerts is processed correctly which contains following checks: - #* correct CANCELLATION on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1864 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of CANCELLATION of quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing ACCEPTANCE TRACEFOSS-1864" | - | "status" | "CREATED" | - When I cancel quality notification - Then I check, if quality notification has proper values - | "status" | "CANCELED" | - - When I am logged into TRACE_X_B application - Then I check, if quality notification has not been received \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/2_TRACEFOSS-600.feature b/tx-cucumber-tests/src/test/resources/features/2_TRACEFOSS-600.feature deleted file mode 100644 index 2a9ed06417..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/2_TRACEFOSS-600.feature +++ /dev/null @@ -1,266 +0,0 @@ -@TRACEFOSS-600 -Feature: ⭐ [BE][QUALITY_ALERTS] Enable Quality Alerts - #h2. User Story - # - #*As a* user - #*I want to* be able to use all quality alerts - #*so that* can report quality problems in upstream visibility. - #h2. Outcome - # * (x) Quality Alerts are implementd (HAPPY PATH) - # - #h2. Consolidation for pbis - # * TRACEFOSS-1388 - # - #h2. Sprint Planning 2 - # * Part 1 -> Pull Request 1 - # ** Make sure to not duplicate code instead of base class or reuse existing logic (e.g. state transitions) - # ** Implement a service - # ** Publisher Service - # ** Receiver Service - # ** Implement a repository - # * Part 2 -> Pull Request 2 ( Do not start with it before PR 1 is merged) - # ** Make sure all condiitions which exclude quality alerts are removed - # ** Make sure that the existing api which creates a contract will be able to create it for quality alerts - # *** /api/edc/notification/contract - # ** Make sure that the logic of receiver side does filter for quality alert assets (currently only for quality investigations) - # ** Send alert from a to b - # ** Send alert from b to a - # * Part 3 -> Pull Request 3 -> Enable frontend -> [~martin.maul@doubleslash.de]  - # ** [https://github.com/catenax-ng/tx-traceability-foss/pull/264/files#diff-de4cfce80ee64138f3cdf6ab0af7b29aed8687212738a0a2d18567e29e7b9472R31] - # **   - - #Check if *CLOSURE* of quality alerts is processed correctly which contains following checks: - #* correct CLOSURE on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1863 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of CLOSURE of quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1863" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing ACCEPTANCE TRACEFOSS-1863" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - And I check, if quality notification has proper values - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I close quality notification - Then I check, if quality notification has proper values - | "status" | "CLOSED" | - - When I am logged into TRACE_X_B application - Then I check, if quality notification has proper values - | "status" | "CLOSED" | - - #Check if *bpn names* of *sender and receiver* are processed correctly for created quality alerts which contains following checks: - #* correct creation on sender side - #* correct reception on receiver side - @TRACEFOSS-1547 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of bpn names in quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "description" | "Testing BPNs TRACEFOSS-1547" | - | "severity" | "MINOR" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing BPNs TRACEFOSS-1547" | - | "createdBy" | "BPNL00000003CML1" | - | "sendTo" | "BPNL00000003CNKC" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing BPNs TRACEFOSS-1547" | - | "createdBy" | "BPNL00000003CML1" | - | "sendTo" | "BPNL00000003CNKC" | - | "status" | "RECEIVED" | - - #Check if *targetDate = null* is processed correctly for created quality alerts which contains following checks: - #* correct sending of _targetDate_ = *null* - #* correct reception on receiver side - @TRACEFOSS-1546 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of targetDate = null in quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing without targetDate TRACEFOSS-1546" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing without targetDate TRACEFOSS-1546" | - | "targetDate" | "" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing without targetDate TRACEFOSS-1546" | - | "targetDate" | "" | - | "status" | "RECEIVED" | - - #Check if *DECLINATION* of quality alerts is processed correctly which contains following checks: - #* correct DECLINATION status on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1545 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of DECLINATION of quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1545" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1545" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1545" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I decline quality notification - | "reason" | "declined in TRACEFOSS-1545" | - Then I check, if quality notification has proper values - | "status" | "DECLINED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "DECLINED" | - And I check, if quality notification has proper values - | "declineReason" | "declined in TRACEFOSS-1545" | - - #Check if *ACCEPTANCE* of quality alerts is processed correctly which contains following checks: - #* correct ACCEPTANCE on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1544 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of ACCEPTANCE of quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1544" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I accept quality notification - | "reason" | "accepted in TRACEFOSS-1544" | - Then I check, if quality notification has proper values - | "status" | "ACCEPTED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACCEPTED" | - And I check, if quality notification has proper values - | "acceptReason" | "accepted in TRACEFOSS-1544" | - - #Check if *targetDate* is processed correctly for created quality alerts which contains following checks: - #* correct sending of _targetDate_ - #* correct reception on receiver side - @TRACEFOSS-1543 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of targetDate in quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing targetDate TRACEFOSS-1543" | - | "targetDate" | "2055-05-30T20:43:06.333827Z" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing targetDate TRACEFOSS-1543" | - | "targetDate" | "2055-05-30T20:43:06.333827Z" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing targetDate TRACEFOSS-1543" | - | "targetDate" | "2055-05-30T20:43:06.333827Z" | - | "status" | "RECEIVED" | - - #Check if *severity* is processed correctly for created quality alerts which contains following checks: - #* correct creation - #* correct reception on receiver side - @TRACEFOSS-1539 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario Outline: [BE] Check correct processing of severity in quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1539" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1539" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | | - | "description" | "Testing severity TRACEFOSS-1539" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - - Examples: - |severity| - |"MINOR"| - |"MAJOR"| - |"CRITICAL"| - |"LIFE-THREATENING"| \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/3_TRACEFOSS-938.feature b/tx-cucumber-tests/src/test/resources/features/3_TRACEFOSS-938.feature deleted file mode 100644 index 4a00fb7483..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/3_TRACEFOSS-938.feature +++ /dev/null @@ -1,54 +0,0 @@ -@TRACEFOSS-938 -Feature: ⭐[TEST] Update Quality Investigation (over EDC) - #h2. User Story - # - #*As* Supervisor - #*I want* to be able to update a quality investigation that I received - #*so that* the corresponding partner knows in which status the notification is on my side. - #h2. Hints / Details / . Hints & NFR (Technical, Design & Content))* :  - # - #1. BPN B receives a notification - #2. BPN B updates notification - #3. BPN A receives notification update with corresponding status - # * The right notification asset needs to be looked up in the Catalog offer of the counter side - # * Lookup based on asset:props - # * Keep in mind that some fields are optional and might be empty - # ** Handle based on documentation / agreement like for send/receive - # ** E.g. "information" will be empty for Update from REC to ACK - # * Utilize EDC Update functionality in order to send investigation update over EDC from BNP B to BPN A. - # - #Docs: [Notification Update Docu|https://confluence.catena-x.net/pages/viewpage.action?pageId=69429778#id-(TRS)[Release3]%F0%9F%93%9CTraceabilityApp(ImplementationSpecification)-HttpPOSTendpointtoupdateanotification] - # - #!screenshot-1.png|thumbnail! - #h2. TODO: - # * (-) Fill out description - # * (-) Fill out Story Points - # * (-) Assign an Assignee - # * (-) define Acceptance Criteria - # * (-) [DoR |https://confluence.catena-x.net/pages/viewpage.action?pageId=917505]  - # - #h2. LOP - # * (/) [~thomas.braun3@zf.com] Update AC and describe error handling, retry and rollback. - # * (/) Add pbi for "Close notification on sender side". --> TRACEFOSS-961 - - #Check if *CANCELLATION* of quality investigations is processed correctly which contains following checks: - #* correct CANCELLATION on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1862 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of CANCELLATION of quality notification - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1862" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing ACCEPTANCE TRACEFOSS-1862" | - | "status" | "CREATED" | - When I cancel quality notification - Then I check, if quality notification has proper values - | "status" | "CANCELED" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has not been received \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/4_TRACEFOSS-936.feature b/tx-cucumber-tests/src/test/resources/features/4_TRACEFOSS-936.feature deleted file mode 100644 index 8df4e0eb84..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/4_TRACEFOSS-936.feature +++ /dev/null @@ -1,96 +0,0 @@ -@TRACEFOSS-936 -Feature: ⭐[BE] Include reason for receiver and sender investigations - #*As a* Dev - # - #*I want to* update contract of: - # - #/investigations/created (sender side of notifications) - #/investigations/received (receiver side of notifications) - # - #with following object: - #{code:java} - #{ - # "reason" : { - # "close" : $string, - # "accept": $string, | nullable - # "decline": $string | nullable - # } - #} {code} - #Where for accept and decline reason, it's either one or another. Reasons are passed from receiver to sender and from sender to receiver via EDC and stored in the database. - # - #*so that* the information provided with the update is also stored and provided to sender and receiver sides. - - #Check if *CLOSURE* of quality investigations is processed correctly which contains following checks: - #* correct CLOSE on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1861 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of CLOSURE of quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing CLOSURE TRACEFOSS-1861" | - | "type" | "INVESTIGATION" | - Then I check, if quality notification has proper values - | "description" | "Testing CLOSURE TRACEFOSS-1861" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - And I check, if quality notification has proper values - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I close quality notification - Then I check, if quality notification has proper values - | "status" | "CLOSED" | - - When I am logged into TRACE_X_B application - Then I check, if quality notification has proper values - | "status" | "CLOSED" | - - #Check if *ACCEPTANCE* of quality investigations is processed correctly which contains following checks: - #* correct ACCEPTANCE on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1222 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of ACCEPTANCE of quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing ACCEPTANCE TRACEFOSS-1222" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I accept quality notification - | "reason" | "accepted in TRACEFOSS-1222" | - Then I check, if quality notification has proper values - | "status" | "ACCEPTED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACCEPTED" | - | "acceptReason" | "accepted in TRACEFOSS-1222" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/5_TRACEFOSS-1625.feature b/tx-cucumber-tests/src/test/resources/features/5_TRACEFOSS-1625.feature deleted file mode 100644 index 1f90a5a94e..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/5_TRACEFOSS-1625.feature +++ /dev/null @@ -1,49 +0,0 @@ -@TRACEFOSS-1625 -Feature: [BE][FE]Handling of several parts in one quality alert - #*As* a user - #*I want* to be able to create and response quality alerts with several parts as one alert - #*So that* quality alerts with several parts are able to be processed on either sender or receiver side correctly - # - #*Outcome* - #* quality alerts are created on sender side as one alert even with several parts - #* quality alerts with several parts are sent correctly as one alert to the receiver - #* receiver creates one alert with several parts as sent - #* receiver and sender can change status and update each other for alerts with several parts - # - #*Additional information* - #Currently quality alerts with several parts are created correctly as one alert on the sender side but are created as own alert for each part on the receiver side. - #(!) Quality-Investigations are processed correctly! - - #Check if *several parts* are processed correctly in *one* created quality alert which contains following checks: - #* correct sending of several parts in *one* alert - #* correct reception of several parts in *one* alert on receiver side - #* correct update of *one* alert with several parts - @TRACEFOSS-1670 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TEST-904 @TEST-1217 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @INTEGRATION_TEST @[QUALITY_ALERTS] - Scenario: [BE] Check correct processing of several parts in quality alerts - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:6b2296cc-26c0-4f38-8a22-092338c36e22,urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing severity TRACEFOSS-1670" | - | "type" | "ALERT" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing severity TRACEFOSS-1670" | - | "status" | "CREATED" | - | "assetIdCount" | "2" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing severity TRACEFOSS-1670" | - | "status" | "RECEIVED" | - | "assetIdCount" | "2" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - | "assetIdCount" | "2" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/6_TRACEFOSS-382.feature b/tx-cucumber-tests/src/test/resources/features/6_TRACEFOSS-382.feature deleted file mode 100644 index 12c3fa8efb..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/6_TRACEFOSS-382.feature +++ /dev/null @@ -1,62 +0,0 @@ -@TRACEFOSS-382 -Feature: Create Request for quality investigation / store in queue - #h2. Remarks - #* (-) Test the solution - #* (-) Provide test data - #* (-) TRACEFOSS-392 - #* (-) TRACEFOSS-384 - #* (-) - # - #h2. User story - #As a user - # - #I want to be able to create a quality investigation for selected parts with a description of the defect - # - #to notify the corresponding supplier(s) of the parts about a possible quality issue that needs to be investigated. The requests should be stored in a queue with status pending and not be directly send to the supplier(s). - # - #  - # - #*Detailed description* - # - #The user can create a quality investigation for one or more parts. The description added in the pop up will be added to every part. Once the user creates a quality investigation he will get an information that there is one or more investigations pending for distribution. - #The user can click on the information and will directy be redirected to pending Queue in his Quality investigation inbox. - # - #  - # - #*Additional info* - # * - Description: free text, max length: 1000  - # * - Hint: Pending state and store in Queue because *later* we might set up a rights an role concept and only specific role (Supervisor) is able to send Notifications to partners. - - #Check if *several parts* in one investigation are processed correctly which contains following checks: - #* correct sending of several parts in *one* investigation - #* correct reception of several parts in *one* investigation on receiver side - #* correct update of *one* investigation with several parts - @TRACEFOSS-1652 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TRACEFOSS-2715 @TRACEFOSS-1101 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of several parts in quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd,urn:uuid:5205f736-8fc2-4585-b869-6bf36842369a' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing severity TRACEFOSS-1652" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing severity TRACEFOSS-1652" | - | "status" | "CREATED" | - | "assetIdCount" | "2" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing severity TRACEFOSS-1652" | - | "status" | "RECEIVED" | - | "assetIdCount" | "2" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - | "assetIdCount" | "2" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/7_TRACEFOSS-1090.feature b/tx-cucumber-tests/src/test/resources/features/7_TRACEFOSS-1090.feature deleted file mode 100644 index d432fbd304..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/7_TRACEFOSS-1090.feature +++ /dev/null @@ -1,46 +0,0 @@ -@TRACEFOSS-1090 -Feature: 🪓⭐[BE] Add information to notification inbox - #As a *User* - # - #I want to have added the information of severity, send to (BPN / name), and received from (BPN / name) as additional columns to the notifications inbox - # - #so that I am able to see on the first sign who/whom the notification was sent to as well as the severity. - #h3. Outcome - # * Add an additional field for bpn name (sender + receiver) - # * Add an additional field for severity - # - # - #h3. Hint - #* BPN name and severity is published over the API that it could be requested by the frontend API . - #* Mapping between BPN number and company name is part of the job response of IRS. - # - #h3. Sprint Planning 2 - #* Add BPN and severity to the investigation response. - - #Check if *bpn names* of *sender and receiver* are processed correctly for created quality investigations which contains following checks: - #* correct creation on sender side - #* correct reception on receiver side - @TRACEFOSS-1344 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of bpn names in quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "description" | "Testing BPNs TRACEFOSS-1344" | - | "severity" | "MINOR" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing BPNs TRACEFOSS-1344" | - | "createdBy" | "BPNL00000003CML1" | - | "sendTo" | "BPNL00000003CNKC" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing BPNs TRACEFOSS-1344" | - | "createdBy" | "BPNL00000003CML1" | - | "sendTo" | "BPNL00000003CNKC" | - | "status" | "RECEIVED" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/8_TRACEFOSS-608.feature b/tx-cucumber-tests/src/test/resources/features/8_TRACEFOSS-608.feature deleted file mode 100644 index f3d07809f6..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/8_TRACEFOSS-608.feature +++ /dev/null @@ -1,60 +0,0 @@ -@TRACEFOSS-608 -Feature: ⭐[TEST] [BE] Set and show notification target date - #*As a* User - #*I want to* be able to set a target date for my notification while creating it - #*so that* I am able to monitor if a reply was given in time. - # - #h2. Hints - #[Concept | https://confluence.catena-x.net/pages/viewpage.action?pageId=69429778] - - #Check if *targetDate = null* is processed correctly for created quality investigations which contains following checks: - #* correct sending of _targetDate_ = *null* - #* correct reception on receiver side - @TRACEFOSS-1247 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of targetDate = null in quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing without targetDate TRACEFOSS-1247" | - | "type" | "INVESTIGATION" | - Then I check, if quality notification has proper values - | "description" | "Testing without targetDate TRACEFOSS-1247" | - | "targetDate" | "" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing without targetDate TRACEFOSS-1247" | - | "targetDate" | "" | - | "status" | "RECEIVED" | - - #Check if *targetDate* is processed correctly for created quality investigations which contains following checks: - #* correct sending of _targetDate_ - #* correct reception on receiver side - @TRACEFOSS-1216 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of targetDate in quality investigation - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MINOR" | - | "description" | "Testing targetDate TRACEFOSS-1216" | - | "targetDate" | "2099-03-11T22:44:06.333827Z" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "description" | "Testing targetDate TRACEFOSS-1216" | - | "targetDate" | "2099-03-11T22:44:06.333827Z" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "description" | "Testing targetDate TRACEFOSS-1216" | - | "targetDate" | "2099-03-11T22:44:06.333827Z" | - | "status" | "RECEIVED" | \ No newline at end of file diff --git a/tx-cucumber-tests/src/test/resources/features/9_TRACEFOSS-607.feature b/tx-cucumber-tests/src/test/resources/features/9_TRACEFOSS-607.feature deleted file mode 100644 index b4049b83db..0000000000 --- a/tx-cucumber-tests/src/test/resources/features/9_TRACEFOSS-607.feature +++ /dev/null @@ -1,67 +0,0 @@ -@TRACEFOSS-607 -Feature: ⭐ [BE] Provisioning of Receiver update Quality Investigation over Backend API - #As a Supervisor - #I want to be able to update a quality investigation that I received - #So that the corresponding partner knows in which status the notification is on my side. - # - #*Additional information* - # * Update from RECEIVED to ACKNOWLEDGED without further input - # * Update from ACKNOWLEDGED to ACCEPTED with text information - # * Update from ACKNOWLEDGED to DECLINED with text information - # * No Update to CLOSED possible on Receiver side (Once the Notification is closed it is read-only and could not be changed/modified any more ) - # - #*Workflow Diagram* - # - #!NotificationStatusWorkflow.png|thumbnail! - #h2. Backend Topics - # - #  - #h2. Sprint Planning 2:  - # * Backend: 5 SP - # * Frontend: 5 SP - # - #h3. Backend - # * Endpoint "Create Notification" [~jedrzej.serwa@partner.doubleslash.de]  Please update this  - # * Endpoint "Status Update" - # * Endpoint "" - # * Real-time notification - # - #  - - #Check if *DECLINATION* of quality investigations is processed correctly which contains following checks: - #* correct DECLINATION status on receiver side - #* correct reception of status update on sender side - #* correct reason on receiver and sender side - @TRACEFOSS-1223 @TRACEFOSS-3373 @TRACEFOSS-3128 @TRACEFOSS-2910 @TEST-1217 @TRACEFOSS-2715 @TEST-904 @TRACEFOSS-1920 @TRACEFOSS-1673 @TRACEFOSS-1101 @TRACEFOSS-1139 @TRACEFOSS-1138 @INTEGRATION_TEST @[QualityInvestigation] - Scenario: [BE] Check correct processing of DECLINATION of quality notification - When I am logged into TRACE_X_A application - When I use assets with ids 'urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd' - And I create quality notification - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1223" | - | "type" | "INVESTIGATION" | - | "receiverBpn" | "BPNL00000003CNKC" | - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1223" | - | "status" | "CREATED" | - When I approve quality notification - Then I check, if quality notification has proper values - | "status" | "SENT" | - When I am logged into TRACE_X_B application - Then I check, if quality notification has been received - Then I check, if quality notification has proper values - | "severity" | "MAJOR" | - | "description" | "Testing DECLINATION TRACEFOSS-1223" | - | "status" | "RECEIVED" | - When I acknowledge quality notification - Then I check, if quality notification has proper values - | "status" | "ACKNOWLEDGED" | - When I decline quality notification - | "reason" | "declined in TRACEFOSS-1223" | - Then I check, if quality notification has proper values - | "status" | "DECLINED" | - When I am logged into TRACE_X_A application - Then I check, if quality notification has proper values - | "status" | "DECLINED" | - | "declineReason" | "declined in TRACEFOSS-1223" | \ No newline at end of file From 3faf904b6fcae59546c77745c77155263110def0 Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Thu, 25 Jul 2024 15:13:56 +0200 Subject: [PATCH 20/21] chore(update): xxx - updated allowed bpns --- .github/workflows/argo.yml | 4 ++-- dev/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/argo.yml b/.github/workflows/argo.yml index 571fecc161..a2020b74ea 100644 --- a/.github/workflows/argo.yml +++ b/.github/workflows/argo.yml @@ -417,9 +417,9 @@ jobs: python transform-and-upload.py -f ./tx-backend/testdata/CX_Testdata_MessagingTest_v${{ github.event.inputs.testdata_version }}.json -s https://tracex-int-b-submodel-server.int.demo.catena-x.net -edc https://trace-x-edc-int-b.int.demo.catena-x.net -a https://trace-x-registry-int-b.int.demo.catena-x.net/semantics/registry/api/v3 -d https://trace-x-edc-int-b-dataplane.int.demo.catena-x.net -p traceability-core -k ${{ secrets.TRACE_X_API_KEY_INT_B }} --aas3 --edcBPN BPNL00000003CNKC --allowedBPNs BPNL00000003CML1 BPNL00000003CNKC BPNL00000003AZQP BPNL00000003CSGV sleep 10 elif [ "${{ github.event.inputs.environment }}" == "association int-a/int-b" ]; then - python transform-and-upload.py -f ./tx-backend/testdata/CX_Testdata_MessagingTest_v${{ github.event.inputs.testdata_version }}.json -s https://tracex-int-a-submodel-server.int.catena-x.net -edc https://trace-x-edc-int-a.int.catena-x.net -a https://trace-x-registry-int-a.int.catena-x.net/semantics/registry/api/v3 -d https://trace-x-edc-int-a-dataplane.int.catena-x.net -p traceability-core -k ${{ secrets.TRACE_X_API_KEY_ASSOCIATION_INT }} --aas3 --edcBPN BPNL000000000UKM --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV + python transform-and-upload.py -f ./tx-backend/testdata/CX_Testdata_MessagingTest_v${{ github.event.inputs.testdata_version }}.json -s https://tracex-int-a-submodel-server.int.catena-x.net -edc https://trace-x-edc-int-a.int.catena-x.net -a https://trace-x-registry-int-a.int.catena-x.net/semantics/registry/api/v3 -d https://trace-x-edc-int-a-dataplane.int.catena-x.net -p traceability-core -k ${{ secrets.TRACE_X_API_KEY_ASSOCIATION_INT }} --aas3 --edcBPN BPNL000000000UKM --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL000000000EVQ BPNL00000003CSGV sleep 10 - python transform-and-upload.py -f ./tx-backend/testdata/CX_Testdata_MessagingTest_v${{ github.event.inputs.testdata_version }}.json -s https://tracex-int-b-submodel-server.int.catena-x.net -edc https://trace-x-edc-int-b.int.catena-x.net -a https://trace-x-registry-int-b.int.catena-x.net/semantics/registry/api/v3 -d https://trace-x-edc-int-b-dataplane.int.catena-x.net -p traceability-core -k ${{ secrets.TRACE_X_API_KEY_ASSOCIATION_INT }} --aas3 --edcBPN BPNL000000000DWF --allowedBPNs BPNL000000000DWF BPNL000000000UKM BPNL00000003AZQP BPNL00000003CSGV + python transform-and-upload.py -f ./tx-backend/testdata/CX_Testdata_MessagingTest_v${{ github.event.inputs.testdata_version }}.json -s https://tracex-int-b-submodel-server.int.catena-x.net -edc https://trace-x-edc-int-b.int.catena-x.net -a https://trace-x-registry-int-b.int.catena-x.net/semantics/registry/api/v3 -d https://trace-x-edc-int-b-dataplane.int.catena-x.net -p traceability-core -k ${{ secrets.TRACE_X_API_KEY_ASSOCIATION_INT }} --aas3 --edcBPN BPNL000000000DWF --allowedBPNs BPNL000000000DWF BPNL000000000UKM BPNL000000000EVQ BPNL00000003CSGV sleep 10 fi elif [ "${{ github.event.inputs.testdata_upload }}" == "false" ]; then diff --git a/dev/README.md b/dev/README.md index 6dfb51fa88..7eabbf7fa0 100644 --- a/dev/README.md +++ b/dev/README.md @@ -80,13 +80,13 @@ python transform-and-upload.py -f CX_Testdata_MessagingTest_v0.0.12.json -s http Sample invocation (ASSOCIATION INT A) ``` -python transform-and-upload.py -f CX_Testdata_MessagingTest_v0.0.12.json -s https://traceability-int-a.int.catena-x.net/api/submodel -edc https://trace-x-edc-int-a.int.catena-x.net -a https://trace-x-registry-int-a.int.catena-x.net/semantics/registry/api/v3.0 -d https://trace-x-edc-int-a-dataplane.int.catena-x.net -p id-3.0-trace -k --aas3 --edcBPN BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV +python transform-and-upload.py -f CX_Testdata_MessagingTest_v0.0.12.json -s https://traceability-int-a.int.catena-x.net/api/submodel -edc https://trace-x-edc-int-a.int.catena-x.net -a https://trace-x-registry-int-a.int.catena-x.net/semantics/registry/api/v3.0 -d https://trace-x-edc-int-a-dataplane.int.catena-x.net -p id-3.0-trace -k --aas3 --edcBPN BPNL000000000UKM BPNL000000000DWF BPNL000000000EVQ BPNL00000003CSGV --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV ``` Sample invocation (ASSOCIATION INT B) ``` -python transform-and-upload.py -f CX_Testdata_MessagingTest_v0.0.12.json -s https://traceability-int-b.int.catena-x.net/api/submodel -edc https://trace-x-edc-int-b.int.catena-x.net -a https://trace-x-registry-int-b.int.catena-x.net/semantics/registry/api/v3.0 -d https://trace-x-edc-int-b-dataplane.int.catena-x.net -p id-3.0-trace -k --aas3 --edcBPN BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV +python transform-and-upload.py -f CX_Testdata_MessagingTest_v0.0.12.json -s https://traceability-int-b.int.catena-x.net/api/submodel -edc https://trace-x-edc-int-b.int.catena-x.net -a https://trace-x-registry-int-b.int.catena-x.net/semantics/registry/api/v3.0 -d https://trace-x-edc-int-b-dataplane.int.catena-x.net -p id-3.0-trace -k --aas3 --edcBPN BPNL000000000UKM BPNL000000000DWF BPNL000000000EVQ BPNL00000003CSGV --allowedBPNs BPNL000000000UKM BPNL000000000DWF BPNL00000003AZQP BPNL00000003CSGV ``` where: From 2b5ed1840ffcf0068c560641c9da2e2a1678f77a Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Thu, 25 Jul 2024 17:01:43 +0200 Subject: [PATCH 21/21] chore(update): xxx - updated testdata. --- .../import-test-data-0DWF_v0.0.14.json | 34 +++++++++---------- .../import-test-data-0UKM_v0.0.14.json | 32 ++++++++--------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/tx-backend/testdata/import-test-data-0DWF_v0.0.14.json b/tx-backend/testdata/import-test-data-0DWF_v0.0.14.json index 55a79ce60f..b3c7dbb365 100644 --- a/tx-backend/testdata/import-test-data-0DWF_v0.0.14.json +++ b/tx-backend/testdata/import-test-data-0DWF_v0.0.14.json @@ -62,7 +62,7 @@ "payload" : { "catenaXId" : "urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd", "customers" : [ - "BPNL00000003CML1" + "BPNL000000000UKM" ], "parentItems" : [ { @@ -73,7 +73,7 @@ "catenaXId" : "urn:uuid:6b2296cc-26c0-4f38-8a22-092338c36e22", "createdOn" : "2023-05-29T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "isOnlyPotentialParent" : false } ] @@ -133,7 +133,7 @@ "createdOn" : "2020-05-02T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:4e390dab-707f-446e-bfbe-653f6f5b1f37", - "businessPartner" : "BPNL00000003CML1" + "businessPartner" : "BPNL000000000UKM" } ] } @@ -143,7 +143,7 @@ "payload" : { "catenaXId" : "urn:uuid:5205f736-8fc2-4585-b869-6bf36842369a", "customers" : [ - "BPNL00000003CML1" + "BPNL000000000UKM" ], "parentItems" : [ { @@ -154,7 +154,7 @@ "catenaXId" : "urn:uuid:d8030bbf-a874-49fb-b2e1-7610f0ccad12", "createdOn" : "2023-07-15T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "isOnlyPotentialParent" : false } ] @@ -214,7 +214,7 @@ "createdOn" : "2018-09-17T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:4a5e9ff6-2d5c-4510-a90e-d55af3ba502f", - "businessPartner" : "BPNL00000003CML1" + "businessPartner" : "BPNL000000000UKM" } ] } @@ -224,7 +224,7 @@ "payload" : { "catenaXId" : "urn:uuid:f11ddc62-3bd5-468f-b7b0-110fe13ed0cd", "customers" : [ - "BPNL00000003CML1" + "BPNL000000000UKM" ], "parentItems" : [ { @@ -235,7 +235,7 @@ "catenaXId" : "urn:uuid:7c7d5aec-b15d-491c-8fbd-c61c6c02c69a", "createdOn" : "2023-02-16T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "isOnlyPotentialParent" : false } ] @@ -295,7 +295,7 @@ "createdOn" : "2022-06-28T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:6ec3f1db-2798-454b-a73f-0d21a8966c74", - "businessPartner" : "BPNL00000003CML1" + "businessPartner" : "BPNL000000000UKM" } ] } @@ -365,7 +365,7 @@ "payload" : { "catenaXId" : "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fb01", "customers" : [ - "BPNL00000003CML1" + "BPNL000000000UKM" ], "parentItems" : [ { @@ -376,7 +376,7 @@ "catenaXId" : "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa02", "createdOn" : "2023-08-08T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "isOnlyPotentialParent" : false } ] @@ -434,7 +434,7 @@ "createdOn" : "2019-08-15T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03", - "businessPartner" : "BPNL00000003CML1" + "businessPartner" : "BPNL000000000UKM" } ] } @@ -526,7 +526,7 @@ "createdOn" : "2022-09-03T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4da01", - "businessPartner" : "BPNL00000003CML1" + "businessPartner" : "BPNL000000000UKM" } ] } @@ -722,7 +722,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "createdOn" : "2022-02-08T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" } @@ -782,7 +782,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "createdOn" : "2022-02-09T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" }, @@ -796,7 +796,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "createdOn" : "2022-02-10T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" } @@ -856,7 +856,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CML1", + "businessPartner" : "BPNL000000000UKM", "createdOn" : "2022-02-13T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" } diff --git a/tx-backend/testdata/import-test-data-0UKM_v0.0.14.json b/tx-backend/testdata/import-test-data-0UKM_v0.0.14.json index 023b5c8bf2..8d629f0e74 100644 --- a/tx-backend/testdata/import-test-data-0UKM_v0.0.14.json +++ b/tx-backend/testdata/import-test-data-0UKM_v0.0.14.json @@ -54,7 +54,7 @@ "createdOn" : "2022-02-03T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd", - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -115,7 +115,7 @@ "createdOn" : "2021-01-15T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:5205f736-8fc2-4585-b869-6bf36842369a", - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -165,7 +165,7 @@ "payload" : { "catenaXId" : "urn:uuid:4e390dab-707f-446e-bfbe-653f6f5b1f37", "customers" : [ - "BPNL00000003CNKC" + "BPNL000000000DWF" ], "parentItems" : [ { @@ -176,7 +176,7 @@ "catenaXId" : "urn:uuid:5205f736-8fc2-4585-b869-6bf36842369a", "createdOn" : "2023-12-05T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CNKC", + "businessPartner" : "BPNL000000000DWF", "isOnlyPotentialParent" : false } ] @@ -238,7 +238,7 @@ "createdOn" : "2022-11-22T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:f11ddc62-3bd5-468f-b7b0-110fe13ed0cd", - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -288,7 +288,7 @@ "payload" : { "catenaXId" : "urn:uuid:4a5e9ff6-2d5c-4510-a90e-d55af3ba502f", "customers" : [ - "BPNL00000003CNKC" + "BPNL000000000DWF" ], "parentItems" : [ { @@ -299,7 +299,7 @@ "catenaXId" : "urn:uuid:f11ddc62-3bd5-468f-b7b0-110fe13ed0cd", "createdOn" : "2023-04-13T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", - "businessPartner" : "BPNL00000003CNKC", + "businessPartner" : "BPNL000000000DWF", "isOnlyPotentialParent" : false } ] @@ -350,7 +350,7 @@ "payload" : { "catenaXId" : "urn:uuid:6ec3f1db-2798-454b-a73f-0d21a8966c74", "customers" : [ - "BPNL00000003CNKC" + "BPNL000000000DWF" ], "parentItems" : [ { @@ -362,7 +362,7 @@ "createdOn" : "2023-08-21T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", "isOnlyPotentialParent" : false, - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -457,7 +457,7 @@ "createdOn" : "2016-01-20T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fb01", - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -505,7 +505,7 @@ "payload" : { "catenaXId" : "urn:uuid:1be6ec59-40fb-4993-9836-acb0e284fa03", "customers" : [ - "BPNL00000003CNKC" + "BPNL000000000DWF" ], "parentItems" : [ { @@ -517,7 +517,7 @@ "createdOn" : "2022-07-03T14:48:54.709Z", "lastModifiedOn" : "2023-02-03T14:48:54.709Z", "isOnlyPotentialParent" : false, - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -571,7 +571,7 @@ "createdOn" : "2022-08-03T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z", "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4eb01", - "businessPartner" : "BPNL00000003CNKC" + "businessPartner" : "BPNL000000000DWF" } ] } @@ -745,7 +745,7 @@ "value" : 1, "unit" : "unit:piece" }, - "businessPartner" : "BPNL00000003CNKC", + "businessPartner" : "BPNL000000000DWF", "createdOn" : "2022-01-03T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" } @@ -905,7 +905,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CNKC", + "businessPartner" : "BPNL000000000DWF", "createdOn" : "2022-02-16T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" } @@ -1019,7 +1019,7 @@ "value" : 1, "unit" : "unit:litre" }, - "businessPartner" : "BPNL00000003CNKC", + "businessPartner" : "BPNL000000000DWF", "createdOn" : "2022-02-16T14:48:54.709Z", "lastModifiedOn" : "2022-02-03T14:48:54.709Z" }