24
24
import io .github .resilience4j .retry .Retry ;
25
25
import nz .co .blink .debit .config .BlinkDebitConfiguration ;
26
26
import nz .co .blink .debit .config .BlinkPayProperties ;
27
+ import nz .co .blink .debit .dto .v1 .Amount ;
27
28
import nz .co .blink .debit .dto .v1 .Bank ;
28
29
import nz .co .blink .debit .dto .v1 .BankMetadata ;
29
30
import nz .co .blink .debit .dto .v1 .BankmetadataFeatures ;
31
+ import nz .co .blink .debit .dto .v1 .BankmetadataFeaturesCardPayment ;
30
32
import nz .co .blink .debit .dto .v1 .BankmetadataFeaturesDecoupledFlow ;
31
33
import nz .co .blink .debit .dto .v1 .BankmetadataFeaturesDecoupledFlowAvailableIdentifiers ;
32
34
import nz .co .blink .debit .dto .v1 .BankmetadataFeaturesEnduringConsent ;
33
35
import nz .co .blink .debit .dto .v1 .BankmetadataRedirectFlow ;
36
+ import nz .co .blink .debit .dto .v1 .CardNetwork ;
37
+ import nz .co .blink .debit .dto .v1 .CardPaymentType ;
34
38
import nz .co .blink .debit .dto .v1 .IdentifierType ;
35
39
import nz .co .blink .debit .exception .BlinkServiceException ;
36
40
import nz .co .blink .debit .helpers .AccessTokenHandler ;
49
53
50
54
import java .util .Collections ;
51
55
import java .util .HashSet ;
56
+ import java .util .List ;
52
57
import java .util .Set ;
53
58
import java .util .stream .Stream ;
54
59
@@ -96,6 +101,9 @@ void setUp() {
96
101
void getMeta () throws BlinkServiceException {
97
102
BankMetadata bnz = new BankMetadata ()
98
103
.name (Bank .BNZ )
104
+ .paymentLimit (new Amount ()
105
+ .currency (Amount .CurrencyEnum .NZD )
106
+ .total ("50000" ))
99
107
.features (new BankmetadataFeatures ()
100
108
.decoupledFlow (new BankmetadataFeaturesDecoupledFlow ()
101
109
.enabled (true )
@@ -113,6 +121,9 @@ void getMeta() throws BlinkServiceException {
113
121
114
122
BankMetadata pnz = new BankMetadata ()
115
123
.name (Bank .PNZ )
124
+ .paymentLimit (new Amount ()
125
+ .currency (Amount .CurrencyEnum .NZD )
126
+ .total ("50000" ))
116
127
.features (new BankmetadataFeatures ()
117
128
.enduringConsent (new BankmetadataFeaturesEnduringConsent ()
118
129
.enabled (true )
@@ -134,13 +145,19 @@ void getMeta() throws BlinkServiceException {
134
145
135
146
BankMetadata westpac = new BankMetadata ()
136
147
.name (Bank .WESTPAC )
148
+ .paymentLimit (new Amount ()
149
+ .currency (Amount .CurrencyEnum .NZD )
150
+ .total ("10000" ))
137
151
.features (new BankmetadataFeatures ())
138
152
.redirectFlow (new BankmetadataRedirectFlow ()
139
153
.enabled (true )
140
154
.requestTimeout ("PT10M" ));
141
155
142
156
BankMetadata asb = new BankMetadata ()
143
157
.name (Bank .ASB )
158
+ .paymentLimit (new Amount ()
159
+ .currency (Amount .CurrencyEnum .NZD )
160
+ .total ("30000" ))
144
161
.features (new BankmetadataFeatures ()
145
162
.enduringConsent (new BankmetadataFeaturesEnduringConsent ()
146
163
.enabled (true )
@@ -151,6 +168,9 @@ void getMeta() throws BlinkServiceException {
151
168
152
169
BankMetadata anz = new BankMetadata ()
153
170
.name (Bank .ANZ )
171
+ .paymentLimit (new Amount ()
172
+ .currency (Amount .CurrencyEnum .NZD )
173
+ .total ("1000" ))
154
174
.features (new BankmetadataFeatures ()
155
175
.decoupledFlow (new BankmetadataFeaturesDecoupledFlow ()
156
176
.enabled (true )
@@ -161,7 +181,17 @@ void getMeta() throws BlinkServiceException {
161
181
.toList ())
162
182
.requestTimeout ("PT7M" )))
163
183
.redirectFlow (new BankmetadataRedirectFlow ()
164
- .enabled (false ));
184
+ .enabled (true )
185
+ .requestTimeout ("PT10M" ));
186
+
187
+ BankMetadata cybersource = new BankMetadata ()
188
+ .name (Bank .CYBERSOURCE )
189
+ .features (new BankmetadataFeatures ()
190
+ .cardPayment (new BankmetadataFeaturesCardPayment ()
191
+ .enabled (true )
192
+ .allowedCardPaymentTypes (List .of (CardPaymentType .PANENTRY , CardPaymentType .GOOGLEPAY ))
193
+ .allowedCardNetworks (List .of (CardNetwork .VISA , CardNetwork .MASTERCARD ,
194
+ CardNetwork .AMEX ))));
165
195
166
196
Flux <BankMetadata > actual = client .getMeta ();
167
197
@@ -174,9 +204,10 @@ void getMeta() throws BlinkServiceException {
174
204
.consumeNextWith (set ::add )
175
205
.consumeNextWith (set ::add )
176
206
.consumeNextWith (set ::add )
207
+ .consumeNextWith (set ::add )
177
208
.verifyComplete ();
178
209
assertThat (set )
179
- .hasSize (5 )
180
- .containsExactlyInAnyOrder (bnz , pnz , westpac , asb , anz );
210
+ .hasSize (6 )
211
+ .containsExactlyInAnyOrder (bnz , pnz , westpac , asb , anz , cybersource );
181
212
}
182
213
}
0 commit comments