1414
1515package org .eclipse .edc .boot .vault ;
1616
17+ import org .eclipse .edc .participantcontext .spi .service .ParticipantContextSupplier ;
18+ import org .eclipse .edc .participantcontext .spi .types .ParticipantContext ;
1719import org .eclipse .edc .spi .monitor .Monitor ;
18- import org .junit .jupiter .api .BeforeEach ;
20+ import org .eclipse .edc .spi .result .ServiceResult ;
21+ import org .junit .jupiter .api .Nested ;
1922import org .junit .jupiter .api .Test ;
2023
2124import static org .assertj .core .api .Assertions .assertThat ;
2225import static org .mockito .Mockito .mock ;
2326
2427class InMemoryVaultTest {
2528
26- private InMemoryVault vault ;
29+ @ Nested
30+ class NoParticipantContextSupplier {
31+ private final InMemoryVault vault = new InMemoryVault (mock (Monitor .class ), null );
2732
28- @ BeforeEach
29- void setUp () {
30- vault = new InMemoryVault (mock (Monitor .class ));
31- }
33+ @ Test
34+ void resolveSecret () {
35+ assertThat (vault .resolveSecret ("key" )).isNull ();
36+ vault .storeSecret ("key" , "secret" );
37+ assertThat (vault .resolveSecret ("key" )).isEqualTo ("secret" );
38+ }
3239
33- @ Test
34- void resolveSecret () {
35- assertThat (vault .resolveSecret ("key" )).isNull ();
36- vault .storeSecret ("key" , "secret" );
37- assertThat (vault .resolveSecret ("key" )).isEqualTo ("secret" );
38- }
40+ @ Test
41+ void resolveSecret_partitioned () {
42+ assertThat (vault .resolveSecret ("key" )).isNull ();
43+ vault .storeSecret ("partition" , "key" , "secret" );
44+ assertThat (vault .resolveSecret ("partition" , "key" )).isEqualTo ("secret" );
45+ assertThat (vault .resolveSecret ("another" , "key" )).isNull ();
46+ }
3947
40- @ Test
41- void resolveSecret_partitioned () {
42- assertThat (vault .resolveSecret ("key" )). isNull ();
43- vault .storeSecret ( "partition" , " key", "secret " );
44- assertThat (vault .resolveSecret ( "partition " , "key" )). isEqualTo ( "secret" );
45- assertThat (vault .resolveSecret ("another" , " key" )).isNull ( );
46- }
48+ @ Test
49+ void storeSecret () {
50+ assertThat (vault .storeSecret ("key" , "value1" ). succeeded ()). isTrue ();
51+ assertThat ( vault .resolveSecret ( " key")). isEqualTo ( "value1 " );
52+ assertThat (vault .storeSecret ( "key " , "value2" ). succeeded ()). isTrue ( );
53+ assertThat (vault .resolveSecret ("key" )).isEqualTo ( "value2" );
54+ }
4755
48- @ Test
49- void storeSecret () {
50- assertThat (vault .storeSecret ("key" , "value1" ).succeeded ()).isTrue ();
51- assertThat (vault .resolveSecret ("key" )).isEqualTo ("value1" );
52- assertThat (vault .storeSecret ("key" , "value2" ).succeeded ()).isTrue ();
53- assertThat (vault .resolveSecret ("key" )).isEqualTo ("value2" );
54- }
56+ @ Test
57+ void storeSecret_partitioned () {
58+ assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
59+ assertThat (vault .resolveSecret ("partition" , "key" )).isEqualTo ("value1" );
60+ assertThat (vault .storeSecret ("partition" , "key" , "value2" ).succeeded ()).isTrue ();
61+ assertThat (vault .resolveSecret ("partition" , "key" )).isEqualTo ("value2" );
5562
56- @ Test
57- void storeSecret_partitioned () {
58- assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
59- assertThat (vault .resolveSecret ("partition" , "key" )).isEqualTo ("value1" );
60- assertThat (vault .storeSecret ("partition" , "key" , "value2" ).succeeded ()).isTrue ();
61- assertThat (vault .resolveSecret ("partition" , "key" )).isEqualTo ("value2" );
63+ assertThat (vault .storeSecret ("partition" , "key" , "value2" ).succeeded ()).isTrue ();
64+ }
6265
63- assertThat (vault .storeSecret ("partition" , "key" , "value2" ).succeeded ()).isTrue ();
64- }
66+ @ Test
67+ void deleteSecret () {
68+ assertThat (vault .deleteSecret ("key" ).succeeded ()).isFalse ();
69+ assertThat (vault .storeSecret ("key" , "value1" ).succeeded ()).isTrue ();
70+ assertThat (vault .deleteSecret ("key" ).succeeded ()).isTrue ();
71+ assertThat (vault .resolveSecret ("key" )).isNull ();
72+
73+ }
6574
66- @ Test
67- void deleteSecret () {
68- assertThat (vault .deleteSecret ("key" ).succeeded ()).isFalse ();
69- assertThat (vault .storeSecret ("key" , "value1" ).succeeded ()).isTrue ();
70- assertThat (vault .deleteSecret ("key" ).succeeded ()).isTrue ();
71- assertThat (vault .resolveSecret ("key" )).isNull ();
75+ @ Test
76+ void deleteSecret_partitioned () {
77+ assertThat (vault .deleteSecret ("partition" , "key" ).succeeded ()).isFalse ();
78+ assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
79+ assertThat (vault .deleteSecret ("partition" , "key" ).succeeded ()).isTrue ();
80+ assertThat (vault .resolveSecret ("partition" , "key" )).isNull ();
7281
82+ assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
83+ assertThat (vault .deleteSecret ("another" , "key" ).succeeded ()).isFalse ();
84+ }
7385 }
7486
75- @ Test
76- void deleteSecret_partitioned () {
77- assertThat (vault .deleteSecret ("partition" , "key" ).succeeded ()).isFalse ();
78- assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
79- assertThat (vault .deleteSecret ("partition" , "key" ).succeeded ()).isTrue ();
80- assertThat (vault .resolveSecret ("partition" , "key" )).isNull ();
87+ @ Nested
88+ class WithParticipantContextSupplier {
89+ private final ParticipantContextSupplier participantContextSupplier = () -> ServiceResult .success (
90+ ParticipantContext .Builder .newInstance ().participantContextId ("participantContextId" ).identity ("identity" ).build ()
91+ );
92+ private final InMemoryVault vault = new InMemoryVault (mock (Monitor .class ), participantContextSupplier );
93+
94+ @ Test
95+ void shouldResolveFromParticipantContextIdPartition () {
96+ vault .storeSecret ("participantContextId" , "key" , "secret" );
8197
82- assertThat (vault .storeSecret ("partition" , "key" , "value1" ).succeeded ()).isTrue ();
83- assertThat (vault .deleteSecret ("another" , "key" ).succeeded ()).isFalse ();
98+ var resolved = vault .resolveSecret ("key" );
99+
100+ assertThat (resolved ).isEqualTo ("secret" );
101+ }
102+
103+ @ Test
104+ void shouldStoreOnTheParticipantContextIdPartition () {
105+ vault .storeSecret ("key" , "secret" );
106+
107+ var resolved = vault .resolveSecret ("participantContextId" , "key" );
108+ assertThat (resolved ).isEqualTo ("secret" );
109+ }
110+
111+ @ Test
112+ void shouldDeleteFromTheParticipantContextIdPartition () {
113+ vault .storeSecret ("participantContextId" , "key" , "secret" );
114+
115+ var result = vault .deleteSecret ("key" );
116+
117+ assertThat (result .succeeded ());
118+ assertThat (vault .resolveSecret ("participantContextId" , "key" )).isNull ();
119+ }
84120 }
85- }
121+
122+ }
0 commit comments