Skip to content

Commit baba121

Browse files
committed
SK-2305 Fix few small behaviour inconsistencies
1 parent fa3042a commit baba121

5 files changed

Lines changed: 59 additions & 59 deletions

File tree

common/src/main/java/com/skyflow/serviceaccount/util/BearerToken.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private static V1GetAuthTokenResponse generateBearerTokenFromCredentials(
5959
FileReader reader = new FileReader(String.valueOf(credentialsFile));
6060
JsonObject serviceAccountCredentials = JsonParser.parseReader(reader).getAsJsonObject();
6161
return getBearerTokenFromCredentials(serviceAccountCredentials, context, roles);
62-
} catch (JsonSyntaxException e) {
62+
} catch (JsonSyntaxException | IllegalStateException e) {
6363
LogUtil.printErrorLog(ErrorLogs.INVALID_CREDENTIALS_FILE_FORMAT.getLog());
6464
throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), BaseUtils.parameterizedString(
6565
ErrorMessage.FileInvalidJson.getMessage(), credentialsFile.getPath()));
@@ -81,7 +81,7 @@ private static V1GetAuthTokenResponse generateBearerTokenFromCredentialString(
8181
}
8282
JsonObject serviceAccountCredentials = JsonParser.parseString(credentials).getAsJsonObject();
8383
return getBearerTokenFromCredentials(serviceAccountCredentials, context, roles);
84-
} catch (JsonSyntaxException e) {
84+
} catch (JsonSyntaxException | IllegalStateException e) {
8585
LogUtil.printErrorLog(ErrorLogs.INVALID_CREDENTIALS_STRING_FORMAT.getLog());
8686
throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(),
8787
ErrorMessage.CredentialsStringInvalidJson.getMessage());

common/src/main/java/com/skyflow/serviceaccount/util/SignedDataTokens.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private static List<SignedDataTokenResponse> generateSignedTokenFromCredentialsF
5656
FileReader reader = new FileReader(String.valueOf(credentialsFile));
5757
JsonObject serviceAccountCredentials = JsonParser.parseReader(reader).getAsJsonObject();
5858
responseToken = generateSignedTokensFromCredentials(serviceAccountCredentials, dataTokens, timeToLive, context);
59-
} catch (JsonSyntaxException e) {
59+
} catch (JsonSyntaxException | IllegalStateException e) {
6060
LogUtil.printErrorLog(ErrorLogs.INVALID_CREDENTIALS_FILE_FORMAT.getLog());
6161
throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), BaseUtils.parameterizedString(
6262
ErrorMessage.FileInvalidJson.getMessage(), credentialsFile.getPath()));
@@ -80,7 +80,7 @@ private static List<SignedDataTokenResponse> generateSignedTokensFromCredentials
8080
}
8181
JsonObject serviceAccountCredentials = JsonParser.parseString(credentials).getAsJsonObject();
8282
responseToken = generateSignedTokensFromCredentials(serviceAccountCredentials, dataTokens, timeToLive, context);
83-
} catch (JsonSyntaxException e) {
83+
} catch (JsonSyntaxException | IllegalStateException e) {
8484
LogUtil.printErrorLog(ErrorLogs.INVALID_CREDENTIALS_STRING_FORMAT.getLog());
8585
throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(),
8686
ErrorMessage.CredentialsStringInvalidJson.getMessage());

v3/src/main/java/com/skyflow/VaultClient.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.skyflow;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
5-
63
import com.skyflow.config.Credentials;
74
import com.skyflow.config.VaultConfig;
85
import com.skyflow.enums.UpsertType;
@@ -24,12 +21,14 @@
2421
import com.skyflow.utils.validations.Validations;
2522
import com.skyflow.vault.data.DetokenizeRequest;
2623
import com.skyflow.vault.data.InsertRecord;
27-
2824
import io.github.cdimascio.dotenv.Dotenv;
2925
import io.github.cdimascio.dotenv.DotenvException;
3026
import okhttp3.OkHttpClient;
3127
import okhttp3.Request;
3228

29+
import java.util.ArrayList;
30+
import java.util.List;
31+
3332

3433
public class VaultClient {
3534
private final VaultConfig vaultConfig;
@@ -115,9 +114,10 @@ private void prioritiseCredentials() throws SkyflowException {
115114
} catch (DotenvException e) {
116115
throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(),
117116
ErrorMessage.EmptyCredentials.getMessage());
118-
} catch (Exception e) {
119-
throw new RuntimeException(e);
120117
}
118+
// catch (Exception e) {
119+
// throw new RuntimeException(e);
120+
// }
121121
}
122122

123123
protected void updateExecutorInHTTP() {
@@ -139,10 +139,10 @@ protected InsertRequest getBulkInsertRequestBody(com.skyflow.vault.data.InsertRe
139139
for (InsertRecord record : records) {
140140
InsertRecordData.Builder data = InsertRecordData.builder();
141141
data.data(record.getData());
142-
if (record.getTable() != null && !record.getTable().isEmpty()){
142+
if (record.getTable() != null && !record.getTable().isEmpty()) {
143143
data.tableName(record.getTable());
144144
}
145-
if (record.getUpsert() != null && !record.getUpsert().isEmpty()){
145+
if (record.getUpsert() != null && !record.getUpsert().isEmpty()) {
146146
if (record.getUpsertType() != null) {
147147
EnumUpdateType updateType = null;
148148
if (record.getUpsertType() == UpsertType.REPLACE) {
@@ -164,7 +164,7 @@ protected InsertRequest getBulkInsertRequestBody(com.skyflow.vault.data.InsertRe
164164
.vaultId(config.getVaultId())
165165
.records(insertRecordDataList);
166166

167-
if (request.getTable() != null && !request.getTable().isEmpty()){
167+
if (request.getTable() != null && !request.getTable().isEmpty()) {
168168
builder.tableName(request.getTable());
169169
}
170170

v3/src/test/java/com/skyflow/VaultClientTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public void testUpsertAtRequestLevel() {
208208
Map<String, Object> data = new HashMap<>();
209209
data.put("key", "value");
210210
InsertRecord record = InsertRecord.builder().data(data).build();
211-
ArrayList<InsertRecord> records = new ArrayList<>();
211+
ArrayList<InsertRecord> records = new ArrayList<>();
212212
records.add(record);
213213

214214

@@ -232,19 +232,16 @@ public void testUpsertAtRecordLevel() {
232232
data.put("key", "value");
233233
List<String> upsertColumns = Arrays.asList("col2");
234234
InsertRecord record = InsertRecord.builder().data(data).upsert(upsertColumns).upsertType(UpsertType.UPDATE).build();
235-
System.out.println("record upsert: " + record.getUpsertType());
236235
ArrayList<InsertRecord> records = new ArrayList<>();
237236
records.add(record);
238237

239-
240238
com.skyflow.vault.data.InsertRequest request =
241239
com.skyflow.vault.data.InsertRequest.builder()
242240
.records(records)
243241
.build();
244242

245243
InsertRequest result = vaultClient.getBulkInsertRequestBody(request, vaultConfig);
246244
Assert.assertNotNull(result.getRecords().get().get(0).getUpsert());
247-
System.out.println("result upsert: " + result.getRecords().get().get(0).getUpsert());
248245
Assert.assertEquals("col2", result.getRecords().get().get(0).getUpsert().get().getUniqueColumns().get().get(0));
249246
Assert.assertEquals("UPDATE", result.getRecords().get().get(0).getUpsert().get().getUpdateType().get().name());
250247
}
@@ -255,7 +252,7 @@ public void testMixedTableAndUpsertLevels() {
255252
data.put("key", "value");
256253
List<String> upsertColumns = Arrays.asList("col3");
257254
InsertRecord record = InsertRecord.builder().data(data).table("table3").upsert(upsertColumns).build();
258-
ArrayList<InsertRecord> records = new ArrayList<>();
255+
ArrayList<InsertRecord> records = new ArrayList<>();
259256
records.add(record);
260257

261258

v3/src/test/java/com/skyflow/utils/UtilsTests.java

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@
1919
import java.util.*;
2020

2121
import static org.junit.jupiter.api.Assertions.assertEquals;
22-
import static org.junit.jupiter.api.Assertions.assertThrows;
2322

2423
public class UtilsTests {
2524
private static final String INVALID_EXCEPTION_THROWN = "Should not have thrown any exception";
26-
private static final String EXCEPTIONNOTTHROWN = "Should have thrown an exception";
25+
private static final String EXCEPTION_NOT_THROWN = "Should have thrown an exception";
2726
private static String filePath = null;
2827
private static String credentialsString = null;
2928
private static String token = null;
@@ -42,6 +41,30 @@ public static void setup() {
4241
SdkVersion.setSdkPrefix(Constants.SDK_PREFIX);
4342
}
4443

44+
public static List<com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest> createDetokenizeBatches(com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest request, int batchSize) {
45+
List<com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest> detokenizeRequests = new ArrayList<>();
46+
List<String> tokens = request.getTokens().get();
47+
48+
for (int i = 0; i < tokens.size(); i += batchSize) {
49+
// Create a sublist for the current batch
50+
List<String> batchTokens = tokens.subList(i, Math.min(i + batchSize, tokens.size()));
51+
List<com.skyflow.generated.rest.types.TokenGroupRedactions> tokenGroupRedactions = null;
52+
if (request.getTokenGroupRedactions().isPresent() && !request.getTokenGroupRedactions().get().isEmpty() && i < request.getTokenGroupRedactions().get().size()) {
53+
tokenGroupRedactions = request.getTokenGroupRedactions().get().subList(i, Math.min(i + batchSize, request.getTokenGroupRedactions().get().size()));
54+
}
55+
// Build a new DetokenizeRequest for the current batch
56+
com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest batchRequest = com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest.builder()
57+
.vaultId(request.getVaultId())
58+
.tokens(new ArrayList<>(batchTokens))
59+
.tokenGroupRedactions(tokenGroupRedactions)
60+
.build();
61+
62+
detokenizeRequests.add(batchRequest);
63+
}
64+
65+
return detokenizeRequests;
66+
}
67+
4568
@Test
4669
public void testGetVaultURL() {
4770
// Test with production environment
@@ -58,6 +81,7 @@ public void testGetVaultURL() {
5881
devUrl
5982
);
6083
}
84+
6185
@Test(expected = NullPointerException.class)
6286
public void testGetVaultURLWithNullEnv() {
6387
Utils.getVaultURL("abc123", null);
@@ -80,7 +104,7 @@ public void testGenerateBearerTokenWithCredentialsFile() {
80104
credentials.setContext(context);
81105
credentials.setRoles(roles);
82106
Utils.generateBearerToken(credentials);
83-
Assert.fail(EXCEPTIONNOTTHROWN);
107+
Assert.fail(EXCEPTION_NOT_THROWN);
84108
} catch (SkyflowException e) {
85109
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
86110
Assert.assertEquals(
@@ -98,7 +122,7 @@ public void testGenerateBearerTokenWithCredentialsString() {
98122
credentials.setContext(context);
99123
credentials.setRoles(roles);
100124
Utils.generateBearerToken(credentials);
101-
Assert.fail(EXCEPTIONNOTTHROWN);
125+
Assert.fail(EXCEPTION_NOT_THROWN);
102126
} catch (SkyflowException e) {
103127
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
104128
Assert.assertEquals(ErrorMessage.CredentialsStringInvalidJson.getMessage(), e.getMessage());
@@ -437,6 +461,7 @@ public void testFormatResponseWithTokens() {
437461
Assert.assertEquals("Should have one success record", 1, result.getSuccess().size());
438462
Assert.assertEquals("Skyflow ID should match", "id1", result.getSuccess().get(0).getSkyflowId());
439463
}
464+
440465
@Test
441466
public void testFormatResponseWithTokenListMapping() {
442467
// Prepare test data
@@ -479,6 +504,7 @@ public void testFormatResponseWithTokenListMapping() {
479504
Assert.assertEquals("Token value should match", "token123", tokensList.get(0).getToken());
480505
Assert.assertEquals("Token group name should match", "group1", tokensList.get(0).getTokenGroupName());
481506
}
507+
482508
@Test
483509
public void testHandleBatchExceptionWithRecordsInResponseBody() {
484510
// Prepare test data
@@ -547,10 +573,10 @@ public void testValidateDetokenizeRequestValidInput() throws SkyflowException {
547573

548574
@Test
549575
public void testValidateDetokenizeRequestNullRequest() {
550-
try{
576+
try {
551577
Validations.validateDetokenizeRequest(null);
552-
Assert.fail(EXCEPTIONNOTTHROWN);
553-
} catch (SkyflowException e){
578+
Assert.fail(EXCEPTION_NOT_THROWN);
579+
} catch (SkyflowException e) {
554580
assertEquals(e.getMessage(), ErrorMessage.DetokenizeRequestNull.getMessage());
555581
}
556582

@@ -566,7 +592,7 @@ public void testValidateDetokenizeRequestEmptyTokens() {
566592

567593
Validations.validateDetokenizeRequest(request);
568594

569-
} catch (SkyflowException e){
595+
} catch (SkyflowException e) {
570596
assertEquals(e.getMessage(), ErrorMessage.EmptyDetokenizeData.getMessage());
571597
}
572598
}
@@ -591,9 +617,9 @@ public void testValidateDetokenizeRequestNullGroupRedactions() {
591617
.tokens(tokens)
592618
.tokenGroupRedactions(null)
593619
.build();
594-
try{
620+
try {
595621
Validations.validateDetokenizeRequest(request);
596-
} catch (SkyflowException e){
622+
} catch (SkyflowException e) {
597623
Assert.fail(INVALID_EXCEPTION_THROWN);
598624
}
599625
}
@@ -610,9 +636,9 @@ public void testValidateDetokenizeRequestNullTokenGroupRedaction() {
610636
.tokens(tokens)
611637
.tokenGroupRedactions(groupRedactions)
612638
.build();
613-
try{
639+
try {
614640
Validations.validateDetokenizeRequest(request);
615-
} catch (SkyflowException e){
641+
} catch (SkyflowException e) {
616642
Assert.assertEquals(ErrorMessage.NullTokenGroupRedactions.getMessage(), e.getMessage());//
617643
}
618644
}
@@ -633,9 +659,9 @@ public void testValidateDetokenizeRequestEmptyTokenGroupName() {
633659
.tokenGroupRedactions(groupRedactions)
634660
.build();
635661

636-
try{
662+
try {
637663
Validations.validateDetokenizeRequest(request);
638-
} catch (SkyflowException e){
664+
} catch (SkyflowException e) {
639665
assertEquals(ErrorMessage.NullTokenGroupNameInTokenGroup.getMessage(), e.getMessage());
640666
}
641667
}
@@ -658,7 +684,7 @@ public void testValidateDetokenizeRequestEmptyRedaction() {
658684

659685
try {
660686
Validations.validateDetokenizeRequest(request);
661-
} catch (SkyflowException e){
687+
} catch (SkyflowException e) {
662688
assertEquals(ErrorMessage.NullRedactionInTokenGroup.getMessage(), e.getMessage());
663689
}
664690
}
@@ -732,7 +758,6 @@ public void testValidateInsertRequestEmptyValues() {
732758
}
733759
}
734760

735-
736761
@Test
737762
public void testFormatDetokenizeResponseValidResponse() {
738763
// Arrange
@@ -861,30 +886,6 @@ public void testCreateDetokenizeBatchesWithBatchSizeGreaterThanTokens() {
861886
Assert.assertEquals(Arrays.asList("token1"), batches.get(0).getTokens().get());
862887
}
863888

864-
public static List<com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest> createDetokenizeBatches(com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest request, int batchSize) {
865-
List<com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest> detokenizeRequests = new ArrayList<>();
866-
List<String> tokens = request.getTokens().get();
867-
868-
for (int i = 0; i < tokens.size(); i += batchSize) {
869-
// Create a sublist for the current batch
870-
List<String> batchTokens = tokens.subList(i, Math.min(i + batchSize, tokens.size()));
871-
List<com.skyflow.generated.rest.types.TokenGroupRedactions> tokenGroupRedactions = null;
872-
if (request.getTokenGroupRedactions().isPresent() && !request.getTokenGroupRedactions().get().isEmpty() && i < request.getTokenGroupRedactions().get().size()) {
873-
tokenGroupRedactions = request.getTokenGroupRedactions().get().subList(i, Math.min(i + batchSize, request.getTokenGroupRedactions().get().size())); }
874-
// Build a new DetokenizeRequest for the current batch
875-
com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest batchRequest = com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest.builder()
876-
.vaultId(request.getVaultId())
877-
.tokens(new ArrayList<>(batchTokens))
878-
.tokenGroupRedactions(tokenGroupRedactions)
879-
.build();
880-
881-
detokenizeRequests.add(batchRequest);
882-
}
883-
884-
return detokenizeRequests;
885-
}
886-
887-
888889
private DetokenizeResponseObject createResponseObject(String token, String value, String groupName, String error, Integer httpCode) {
889890
DetokenizeResponseObject responseObject = new DetokenizeResponseObject(
890891
0,
@@ -893,7 +894,8 @@ private DetokenizeResponseObject createResponseObject(String token, String value
893894
String.valueOf(Optional.ofNullable(groupName)),
894895
String.valueOf(Optional.ofNullable(error)),
895896
null
896-
);return responseObject;
897+
);
898+
return responseObject;
897899
}
898900

899901
@Test
@@ -932,6 +934,7 @@ public void testCreateErrorRecordWithUnknownErrorMessage() {
932934
Assert.assertEquals("Unknown error", error.getError());
933935
Assert.assertEquals(403, error.getCode());
934936
}
937+
935938
@Test
936939
public void testHandleBatchExceptionWithNullResponseBody() {
937940
List<InsertRecordData> batch = Arrays.asList(InsertRecordData.builder().build());

0 commit comments

Comments
 (0)