From 70fa183955e65ec06a3ab653cb61ae125e18aa6f Mon Sep 17 00:00:00 2001 From: Spandan Mondal Date: Tue, 22 Oct 2024 12:36:09 +0530 Subject: [PATCH] removed payload value check from db action upload validation (#1578) * removed payload value check from db action upload * removed extra space * huggingface-hub==0.25.2 --------- Co-authored-by: spandan.mondal --- kairon/shared/callback/data_objects.py | 1 - kairon/shared/data/data_validation.py | 4 ++-- requirements/prod.txt | 3 ++- .../data_processor/action_serializer_test.py | 11 ++++------- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/kairon/shared/callback/data_objects.py b/kairon/shared/callback/data_objects.py index d2232cec9..d4ceb53f8 100644 --- a/kairon/shared/callback/data_objects.py +++ b/kairon/shared/callback/data_objects.py @@ -225,7 +225,6 @@ def get_callback_url(bot: str, name: str): return callback_url - class CallbackRecordStatusType(Enum): SUCCESS = "SUCCESS" FAILED = "FAILED" diff --git a/kairon/shared/data/data_validation.py b/kairon/shared/data/data_validation.py index 936d9c9ad..0365e852d 100644 --- a/kairon/shared/data/data_validation.py +++ b/kairon/shared/data/data_validation.py @@ -59,8 +59,8 @@ def validate_form_validation_action(bot: str, data: dict): def validate_database_action(bot: str, data: dict): data_error = [] for idx, item in enumerate(data.get('payload', [])): - if not item.get('query_type') or not item.get('type') or not item.get('value'): - data_error.append(f"Payload {idx} must contain fields 'query_type', 'type' and 'value'!") + if not item.get('query_type') or not item.get('type'): + data_error.append(f"Payload {idx} must contain fields 'query_type' and 'type'!") if item.get('query_type') not in [qtype.value for qtype in DbActionOperationType]: data_error.append(f"Unknown query_type found: {item['query_type']} in payload {idx}") return data_error diff --git a/requirements/prod.txt b/requirements/prod.txt index 87b4f9379..1e8ad7217 100644 --- a/requirements/prod.txt +++ b/requirements/prod.txt @@ -66,4 +66,5 @@ litellm==1.39.5 jsonschema_rs==0.18.1 mongoengine-jsonschema==0.1.3 fernet==1.0.1 -google-generativeai \ No newline at end of file +google-generativeai +huggingface-hub==0.25.2 \ No newline at end of file diff --git a/tests/unit_test/data_processor/action_serializer_test.py b/tests/unit_test/data_processor/action_serializer_test.py index 86991883a..77a3cddbe 100644 --- a/tests/unit_test/data_processor/action_serializer_test.py +++ b/tests/unit_test/data_processor/action_serializer_test.py @@ -254,19 +254,16 @@ def test_data_validator_validate_database_action(): # Test case 2: Invalid payload (missing query_type) data["payload"][0]["query_type"] = None - assert DataValidation.validate_database_action(bot, data) == ["Payload 0 must contain fields 'query_type', 'type' and 'value'!", 'Unknown query_type found: None in payload 0'] + assert DataValidation.validate_database_action(bot, data) == ["Payload 0 must contain fields 'query_type' and 'type'!", 'Unknown query_type found: None in payload 0'] # Test case 3: Invalid payload (missing type) data["payload"][0]["query_type"] = list(db_action_operation_types)[0] data["payload"][0]["type"] = None - assert DataValidation.validate_database_action(bot, data) == ["Payload 0 must contain fields 'query_type', 'type' and 'value'!"] + assert DataValidation.validate_database_action(bot, data) == ["Payload 0 must contain fields 'query_type' and 'type'!"] - # Test case 4: Invalid payload (missing value) - data["payload"][0]["type"] = "type1" - data["payload"][0]["value"] = None - assert DataValidation.validate_database_action(bot, data) == ["Payload 0 must contain fields 'query_type', 'type' and 'value'!"] - # Test case 5: Invalid payload (invalid query_type) + # Test case 4: Invalid payload (invalid query_type) + data["payload"][0]["type"] = 'type1' data["payload"][0]["value"] = "value1" data["payload"][0]["query_type"] = "invalid_query_type" assert DataValidation.validate_database_action(bot, data) == ["Unknown query_type found: invalid_query_type in payload 0", ]