Skip to content

Commit fecefc4

Browse files
Merge pull request #254 from inloco/v2.11.0
Add support to custom properties on v2.11.0.
2 parents dc8fca3 + a1f554d commit fecefc4

File tree

7 files changed

+26
-6
lines changed

7 files changed

+26
-6
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ And then add the artifact `incognia-api-client` **or** `incognia-api-client-shad
2424
<dependency>
2525
<groupId>com.incognia</groupId>
2626
<artifactId>incognia-api-client</artifactId>
27-
<version>2.10.0</version>
27+
<version>2.11.0</version>
2828
</dependency>
2929
```
3030
```xml
3131
<dependency>
3232
<groupId>com.incognia</groupId>
3333
<artifactId>incognia-api-client-shaded</artifactId>
34-
<version>2.10.0</version>
34+
<version>2.11.0</version>
3535
</dependency>
3636
```
3737

@@ -48,13 +48,13 @@ repositories {
4848
And then add the dependency
4949
```gradle
5050
dependencies {
51-
implementation 'com.incognia:incognia-api-client:2.10.0'
51+
implementation 'com.incognia:incognia-api-client:2.11.0'
5252
}
5353
```
5454
OR
5555
```gradle
5656
dependencies {
57-
implementation 'com.incognia:incognia-api-client-shaded:2.10.0'
57+
implementation 'com.incognia:incognia-api-client-shaded:2.11.0'
5858
}
5959
```
6060

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "com.incognia"
11-
version = "2.10.0"
11+
version = "2.11.0"
1212

1313
task createProjectVersionFile {
1414
def projectVersionDir = "$projectDir/src/main/java/com/incognia/api"
@@ -135,4 +135,4 @@ publishing {
135135

136136
tasks.withType(PublishToMavenLocal) {
137137
dependsOn jar
138-
}
138+
}

src/main/java/com/incognia/api/IncogniaAPI.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ public SignupAssessment registerSignup(RegisterSignupRequest request) throws Inc
120120
.policyId(request.getPolicyId())
121121
.accountId(request.getAccountId())
122122
.additionalLocations(request.getAdditionalLocations())
123+
.customProperties(request.getCustomProperties())
123124
.build();
124125
return tokenAwareNetworkingClient.doPost(
125126
"api/v2/onboarding/signups", postSignupRequestBody, SignupAssessment.class);

src/main/java/com/incognia/onboarding/PostSignupRequestBody.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package com.incognia.onboarding;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.incognia.common.AdditionalLocation;
45
import com.incognia.common.Coordinates;
56
import com.incognia.common.StructuredAddress;
7+
import java.util.Collections;
68
import java.util.List;
9+
import java.util.Map;
710
import lombok.AllArgsConstructor;
811
import lombok.Builder;
912
import lombok.Data;
@@ -22,4 +25,8 @@ public class PostSignupRequestBody {
2225
String policyId;
2326
String accountId;
2427
List<AdditionalLocation> additionalLocations;
28+
29+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
30+
@Builder.Default
31+
Map<String, Object> customProperties = Collections.emptyMap();
2532
}

src/main/java/com/incognia/onboarding/RegisterSignupRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.incognia.common.AdditionalLocation;
44
import com.incognia.common.Address;
55
import java.util.List;
6+
import java.util.Map;
67
import lombok.Builder;
78
import lombok.Value;
89
import org.jetbrains.annotations.Nullable;
@@ -17,4 +18,5 @@ public class RegisterSignupRequest {
1718
String policyId;
1819
String accountId;
1920
List<AdditionalLocation> additionalLocations;
21+
Map<String, Object> customProperties;
2022
}

src/test/java/com/incognia/api/IncogniaAPITest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,16 @@ void testRegisterSignup_whenDataIsValid() {
7474
String policyId = UUID.randomUUID().toString();
7575
String externalId = "external-id";
7676
Address address = AddressFixture.ADDRESS_ADDRESS_LINE;
77+
Map<String, Object> map = new HashMap<>();
78+
map.put("custom-property", "custom-value");
7779

7880
TokenAwareDispatcher dispatcher = new TokenAwareDispatcher(token, CLIENT_ID, CLIENT_SECRET);
7981
dispatcher.setExpectedAddressLine(address.getAddressLine());
8082
dispatcher.setExpectedRequestToken(requestToken);
8183
dispatcher.setExpectedExternalId(externalId);
8284
dispatcher.setExpectedPolicyId(policyId);
8385
dispatcher.setExpectedAccountId(accountId);
86+
dispatcher.setExpectedCustomProperties(map);
8487
mockServer.setDispatcher(dispatcher);
8588
RegisterSignupRequest registerSignupRequest =
8689
RegisterSignupRequest.builder()
@@ -89,6 +92,7 @@ void testRegisterSignup_whenDataIsValid() {
8992
.policyId(policyId)
9093
.externalId(externalId)
9194
.address(address)
95+
.customProperties(map)
9296
.build();
9397
SignupAssessment signupAssessment = client.registerSignup(registerSignupRequest);
9498
assertThat(signupAssessment)
@@ -143,13 +147,15 @@ void testRegisterSignup_withEmptyAddress() {
143147
dispatcher.setExpectedExternalId(externalId);
144148
dispatcher.setExpectedPolicyId(policyId);
145149
dispatcher.setExpectedAccountId(accountId);
150+
dispatcher.setExpectedCustomProperties(null);
146151
mockServer.setDispatcher(dispatcher);
147152
RegisterSignupRequest registerSignupRequest =
148153
RegisterSignupRequest.builder()
149154
.requestToken(requestToken)
150155
.accountId(accountId)
151156
.policyId(policyId)
152157
.externalId(externalId)
158+
.customProperties(null)
153159
.build();
154160
SignupAssessment signupAssessment = client.registerSignup(registerSignupRequest);
155161
assertThat(signupAssessment)
@@ -254,6 +260,7 @@ void testRegisterSignup_whenEmptyRequestToken() {
254260
RegisterSignupRequest.builder()
255261
.requestToken("")
256262
.address(AddressFixture.ADDRESS_ADDRESS_LINE)
263+
.customProperties(null)
257264
.build()))
258265
.isInstanceOf(IllegalArgumentException.class)
259266
.hasMessage("'request token' cannot be empty");

src/test/java/com/incognia/api/clients/TokenAwareDispatcher.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.incognia.transaction.PostTransactionRequestBody;
1010
import java.nio.charset.StandardCharsets;
1111
import java.util.Base64;
12+
import java.util.Map;
1213
import java.util.UUID;
1314
import lombok.Getter;
1415
import lombok.Setter;
@@ -37,6 +38,7 @@ public class TokenAwareDispatcher extends Dispatcher {
3738
@Setter private String expectedAccountId;
3839
@Setter private String expectedPolicyId;
3940
@Setter private String expectedAddressLine;
41+
@Setter private Map<String, Object> expectedCustomProperties;
4042
@Setter private String expectedSessionToken;
4143
@Setter private String expectedRequestToken;
4244
@Setter private UUID expectedSignupId;
@@ -139,6 +141,7 @@ private MockResponse handlePostSignup(@NotNull RecordedRequest request)
139141
assertThat(postSignupRequestBody.getExternalId()).isEqualTo(expectedExternalId);
140142
assertThat(postSignupRequestBody.getPolicyId()).isEqualTo(expectedPolicyId);
141143
assertThat(postSignupRequestBody.getAddressLine()).isEqualTo(expectedAddressLine);
144+
assertThat(postSignupRequestBody.getCustomProperties()).isEqualTo(expectedCustomProperties);
142145
String response =
143146
ResourceUtils.getResourceFileAsString(
144147
postSignupRequestBody.getAddressLine() != null

0 commit comments

Comments
 (0)