From 88e715c3f7fedb950f13e444e1db7f7d645641a6 Mon Sep 17 00:00:00 2001 From: skyflow-himanshu Date: Tue, 20 Jan 2026 19:20:18 +0530 Subject: [PATCH] SK-2473: allow null and empty field values in insert and update validations --- .../utils/validations/Validations.java | 18 ------------- .../com/skyflow/vault/data/InsertTests.java | 23 +++++++++++----- .../com/skyflow/vault/data/UpdateTests.java | 26 +++++++------------ 3 files changed, 27 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/skyflow/utils/validations/Validations.java b/src/main/java/com/skyflow/utils/validations/Validations.java index 0372749a..6e99bbbf 100644 --- a/src/main/java/com/skyflow/utils/validations/Validations.java +++ b/src/main/java/com/skyflow/utils/validations/Validations.java @@ -291,15 +291,6 @@ public static void validateInsertRequest(InsertRequest insertRequest) throws Sky ErrorLogs.EMPTY_OR_NULL_KEY_IN_VALUES.getLog(), InterfaceName.INSERT.getName() )); throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.EmptyKeyInValues.getMessage()); - } else { - Object value = valuesMap.get(key); - if (value == null || value.toString().trim().isEmpty()) { - LogUtil.printErrorLog(Utils.parameterizedString( - ErrorLogs.EMPTY_OR_NULL_VALUE_IN_VALUES.getLog(), - InterfaceName.INSERT.getName(), key - )); - throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.EmptyValueInValues.getMessage()); - } } } } @@ -541,15 +532,6 @@ public static void validateUpdateRequest(UpdateRequest updateRequest) throws Sky ErrorLogs.EMPTY_OR_NULL_KEY_IN_VALUES.getLog(), InterfaceName.UPDATE.getName() )); throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.EmptyKeyInValues.getMessage()); - } else { - Object value = data.get(key); - if (value == null || value.toString().trim().isEmpty()) { - LogUtil.printErrorLog(Utils.parameterizedString( - ErrorLogs.EMPTY_OR_NULL_VALUE_IN_VALUES.getLog(), InterfaceName.UPDATE.getName(), key - )); - throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), - ErrorMessage.EmptyValueInValues.getMessage()); - } } } diff --git a/src/test/java/com/skyflow/vault/data/InsertTests.java b/src/test/java/com/skyflow/vault/data/InsertTests.java index 00399f00..2b7ad388 100644 --- a/src/test/java/com/skyflow/vault/data/InsertTests.java +++ b/src/test/java/com/skyflow/vault/data/InsertTests.java @@ -210,13 +210,24 @@ public void testEmptyValueInValuesInInsertRequestValidations() { InsertRequest request = InsertRequest.builder().table(table).values(values).build(); try { Validations.validateInsertRequest(request); - Assert.fail(EXCEPTION_NOT_THROWN); + Assert.assertEquals(table, request.getTable()); + Assert.assertEquals(1, request.getValues().size()); } catch (SkyflowException e) { - Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode()); - Assert.assertEquals( - Utils.parameterizedString(ErrorMessage.EmptyValueInValues.getMessage(), Constants.SDK_PREFIX), - e.getMessage() - ); + Assert.fail(INVALID_EXCEPTION_THROWN); + } + } + + @Test + public void testNullValueInValuesInInsertRequestValidations() { + valueMap.put("test_column_3", null); + values.add(valueMap); + InsertRequest request = InsertRequest.builder().table(table).values(values).build(); + try { + Validations.validateInsertRequest(request); + Assert.assertEquals(table, request.getTable()); + Assert.assertEquals(1, request.getValues().size()); + } catch (SkyflowException e) { + Assert.fail(INVALID_EXCEPTION_THROWN); } } diff --git a/src/test/java/com/skyflow/vault/data/UpdateTests.java b/src/test/java/com/skyflow/vault/data/UpdateTests.java index be702d4e..9afd272c 100644 --- a/src/test/java/com/skyflow/vault/data/UpdateTests.java +++ b/src/test/java/com/skyflow/vault/data/UpdateTests.java @@ -248,40 +248,34 @@ public void testEmptyKeyInValuesInUpdateRequestValidations() { } @Test - public void testNullValueInValuesInUpdateRequestValidations() { + public void testEmptyValueInValuesInUpdateRequestValidations() { dataMap.put("skyflow_id", skyflowID); dataMap.put("test_column_1", "test_value_1"); dataMap.put("test_column_2", "test_value_2"); - dataMap.put("test_column_3", null); + dataMap.put("test_column_3", ""); UpdateRequest request = UpdateRequest.builder().table(table).data(dataMap).build(); try { Validations.validateUpdateRequest(request); - Assert.fail(EXCEPTION_NOT_THROWN); + Assert.assertEquals(table, request.getTable()); + Assert.assertEquals(4, request.getData().size()); } catch (SkyflowException e) { - Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode()); - Assert.assertEquals( - Utils.parameterizedString(ErrorMessage.EmptyValueInValues.getMessage(), Constants.SDK_PREFIX), - e.getMessage() - ); + Assert.fail(INVALID_EXCEPTION_THROWN); } } @Test - public void testEmptyValueInValuesInUpdateRequestValidations() { + public void testNullValueInValuesInUpdateRequestValidations() { dataMap.put("skyflow_id", skyflowID); dataMap.put("test_column_1", "test_value_1"); dataMap.put("test_column_2", "test_value_2"); - dataMap.put("test_column_3", ""); + dataMap.put("test_column_3", null); UpdateRequest request = UpdateRequest.builder().table(table).data(dataMap).build(); try { Validations.validateUpdateRequest(request); - Assert.fail(EXCEPTION_NOT_THROWN); + Assert.assertEquals(table, request.getTable()); + Assert.assertEquals(4, request.getData().size()); } catch (SkyflowException e) { - Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode()); - Assert.assertEquals( - Utils.parameterizedString(ErrorMessage.EmptyValueInValues.getMessage(), Constants.SDK_PREFIX), - e.getMessage() - ); + Assert.fail(INVALID_EXCEPTION_THROWN); } }