Skip to content

Commit

Permalink
feat(Pool): add endpoints to query member-owned business partner data
Browse files Browse the repository at this point in the history
- add endpoints
- add Open-API descriptions
- add and adapt integration tests
- update documentation
- create new assets for use case providers accessing then new endpoints
- update the permissions and authorization documentation
  • Loading branch information
nicoprow committed Dec 3, 2024
1 parent 3f675b3 commit 22efb7c
Show file tree
Hide file tree
Showing 41 changed files with 5,438 additions and 2,846 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ For changes to the BPDM Helm charts please consult the [changelog](charts/bpdm/C

## [6.3.0] - tbd

### Added

- BPDM Pool: Endpoints for retrieving member-owned business partner data.
Member-owned business partner data includes business partners from non-member legal entities that are owned by Catena-X members
([#1088](https://github.com/eclipse-tractusx/bpdm/issues/1088))

## [6.2.0] - 2024-11-28

Expand Down
12 changes: 12 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,18 @@ This offer does **not** grant access to the uploaded business partner input data
4. Create a `ReadAccessGateOutputForSharingMember` asset with the created technical user for client credentials
5. Create a contract definition `ReadAccessGateOutputForSharingMember` referencing the created asset

#### ReadAccessPoolForUseCaseConsumer

This offer allows a company to access the Pool for reading golden record data owned by Catena-X members.
In contrast to the offer `ReadAccessPoolForCatenaXMember` this also includes business partner data from non-member legal entities which are owned by Catena-X members.
Since, typically, Catena-X use cases require site information of the whole company including subsidiaries this offer is primarily created for use case providers.

1. Create a policy of type `HasBusinessPartnerNumber` for the company's BPNL (if it not yet exists)
2. Create a policy of type `AcceptPurpose` with usage purpose for the pool (if not yet exists)
3. Create a technical user with role `BPDM Pool Use Case Consumer` and the company's BPN identity
4. Create a `ReadAccessPoolForUseCaseConsumer` asset with the created technical user for client credentials
5. Create a contract definition `ReadAccessPoolForUseCaseConsumer` referencing the created asset


## Portal Configuration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class PoolAssertHelper(
creationTimeframe: Timeframe,
updateTimeframe: Timeframe = creationTimeframe
) {
Assertions.assertThat(actual.first())
Assertions.assertThat(actual)
.usingRecursiveComparison()
.ignoringCollectionOrder()
.ignoringAllOverriddenEquals()
Expand All @@ -117,7 +117,7 @@ class PoolAssertHelper(
.withComparatorForType(instantSecondsComparator, Instant::class.java)
.withComparatorForType(localDatetimeSecondsComparator, LocalDateTime::class.java)
.withComparatorForType(stringIgnoreComparator, String::class.java)
.isEqualTo(expected.first())
.isEqualTo(expected)

actual.forEach { Assertions.assertThat(it.createdAt).isBetween(creationTimeframe.startTime, creationTimeframe.endTime) }
actual.forEach { Assertions.assertThat(it.updatedAt).isBetween(updateTimeframe.startTime, updateTimeframe.endTime) }
Expand Down
Loading

0 comments on commit 22efb7c

Please sign in to comment.