From 693f735d81ba620b83c61c9d5c9f5b3ca7b5a9a0 Mon Sep 17 00:00:00 2001 From: Nizar Malangadan Date: Thu, 31 Jan 2019 15:04:55 +0530 Subject: [PATCH 1/2] Improve the error message when none of the insert/update/delete operation specs are provided --- server/src-lib/Hasura/RQL/Types/Subscribe.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src-lib/Hasura/RQL/Types/Subscribe.hs b/server/src-lib/Hasura/RQL/Types/Subscribe.hs index 34d99e4f203eb..29a866c693d98 100644 --- a/server/src-lib/Hasura/RQL/Types/Subscribe.hs +++ b/server/src-lib/Hasura/RQL/Types/Subscribe.hs @@ -122,7 +122,7 @@ instance FromJSON CreateEventTriggerQuery where else fail "only alphanumeric and underscore and hyphens allowed for name" case insert <|> update <|> delete of Just _ -> return () - Nothing -> fail "must provide operation spec(s)" + Nothing -> fail "at least one among the insert/update/delete operation specs must be provided" case (webhook, webhookFromEnv) of (Just _, Nothing) -> return () (Nothing, Just _) -> return () From 00a3f55262d783296f8a63f71f9bc231d5f261c1 Mon Sep 17 00:00:00 2001 From: Nizar Malangadan Date: Thu, 31 Jan 2019 15:22:17 +0530 Subject: [PATCH 2/2] Test for create event trigger query when none of the operation specs are provided --- ...gger_operation_specs_not_provided_err.yaml | 22 +++++++++++++++++++ server/tests-py/test_events.py | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 server/tests-py/queries/event_triggers/create-delete/create_trigger_operation_specs_not_provided_err.yaml diff --git a/server/tests-py/queries/event_triggers/create-delete/create_trigger_operation_specs_not_provided_err.yaml b/server/tests-py/queries/event_triggers/create-delete/create_trigger_operation_specs_not_provided_err.yaml new file mode 100644 index 0000000000000..dd75714b29238 --- /dev/null +++ b/server/tests-py/queries/event_triggers/create-delete/create_trigger_operation_specs_not_provided_err.yaml @@ -0,0 +1,22 @@ +- description: Track table test_t1 + url: /v1/query + status: 200 + query: + type: track_table + args: + schema: hge_tests + name: test_t1 +- description: 'Create event trigger with no operation specs provider: Error' + url: /v1/query + status: 400 + response: + error: at least one among the insert/update/delete operation specs must be provided + code: parse-failed + path: $ + query: + type: create_event_trigger + args: + name: t1_1 + table: + schema: hge_tests + name: test_t1 diff --git a/server/tests-py/test_events.py b/server/tests-py/test_events.py index c08925b7ac5c5..706b8614e75af 100755 --- a/server/tests-py/test_events.py +++ b/server/tests-py/test_events.py @@ -66,6 +66,9 @@ def test_create_delete(self, hge_ctx): def test_create_reset(self, hge_ctx): check_query_f(hge_ctx, self.dir() + "/create_and_reset.yaml") + def test_create_operation_spec_not_provider_err(self, hge_ctx): + check_query_f(hge_ctx, self.dir() + "/create_trigger_operation_specs_not_provided_err.yaml") + @classmethod def dir(cls): return 'queries/event_triggers/create-delete'