From 19a956beeb37a8a5d49b41de1d43dcd704bcddd8 Mon Sep 17 00:00:00 2001 From: Sumit Maheshwari Date: Tue, 25 May 2021 17:37:07 +0530 Subject: [PATCH 1/4] Fix hooks extented from http hook --- airflow/providers/airbyte/hooks/airbyte.py | 5 +++++ airflow/providers/dingding/hooks/dingding.py | 5 +++++ airflow/providers/discord/hooks/discord_webhook.py | 5 +++++ airflow/providers/opsgenie/hooks/opsgenie_alert.py | 5 +++++ airflow/providers/slack/hooks/slack_webhook.py | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/airflow/providers/airbyte/hooks/airbyte.py b/airflow/providers/airbyte/hooks/airbyte.py index 81d4a0523c1d5..d931772a14971 100644 --- a/airflow/providers/airbyte/hooks/airbyte.py +++ b/airflow/providers/airbyte/hooks/airbyte.py @@ -33,6 +33,11 @@ class AirbyteHook(HttpHook): :type api_version: str """ + conn_name_attr = 'airbyte_conn_id' + default_conn_name = 'airbyte_default' + conn_type = 'airbyte' + hook_name = 'Airbyte' + RUNNING = "running" SUCCEEDED = "succeeded" CANCELLED = "cancelled" diff --git a/airflow/providers/dingding/hooks/dingding.py b/airflow/providers/dingding/hooks/dingding.py index b9cd93fb0c33f..1a73416825ac9 100644 --- a/airflow/providers/dingding/hooks/dingding.py +++ b/airflow/providers/dingding/hooks/dingding.py @@ -48,6 +48,11 @@ class DingdingHook(HttpHook): :type at_all: bool """ + conn_name_attr = 'dingding_conn_id' + default_conn_name = 'dingding_default' + conn_type = 'dingding' + hook_name = 'Dingding' + def __init__( self, dingding_conn_id='dingding_default', diff --git a/airflow/providers/discord/hooks/discord_webhook.py b/airflow/providers/discord/hooks/discord_webhook.py index 4088823ad08c7..c8956e4f3e819 100644 --- a/airflow/providers/discord/hooks/discord_webhook.py +++ b/airflow/providers/discord/hooks/discord_webhook.py @@ -54,6 +54,11 @@ class DiscordWebhookHook(HttpHook): :type proxy: str """ + conn_name_attr = 'http_conn_id' + default_conn_name = 'discord_default' + conn_type = 'discord' + hook_name = 'Discord' + def __init__( self, http_conn_id: Optional[str] = None, diff --git a/airflow/providers/opsgenie/hooks/opsgenie_alert.py b/airflow/providers/opsgenie/hooks/opsgenie_alert.py index 60f1734fdccbc..3e1ef3d399b46 100644 --- a/airflow/providers/opsgenie/hooks/opsgenie_alert.py +++ b/airflow/providers/opsgenie/hooks/opsgenie_alert.py @@ -41,6 +41,11 @@ class OpsgenieAlertHook(HttpHook): """ + conn_name_attr = 'opsgenie_conn_id' + default_conn_name = 'opsgenie_default' + conn_type = 'opsgenie' + hook_name = 'Opsgenie' + def __init__(self, opsgenie_conn_id: str = 'opsgenie_default', *args, **kwargs) -> None: super().__init__(http_conn_id=opsgenie_conn_id, *args, **kwargs) # type: ignore[misc] diff --git a/airflow/providers/slack/hooks/slack_webhook.py b/airflow/providers/slack/hooks/slack_webhook.py index 45fca84b77ddb..309d0d58ea3fd 100644 --- a/airflow/providers/slack/hooks/slack_webhook.py +++ b/airflow/providers/slack/hooks/slack_webhook.py @@ -61,6 +61,11 @@ class SlackWebhookHook(HttpHook): :type proxy: str """ + conn_name_attr = 'http_conn_id' + default_conn_name = 'slack_default' + conn_type = 'slackwebhook' + hook_name = 'Slack Webhook' + # pylint: disable=too-many-arguments def __init__( self, From 17851efb8e419325f158b323ad2bb3578f3aae1b Mon Sep 17 00:00:00 2001 From: Sumit Maheshwari Date: Wed, 26 May 2021 16:25:07 +0530 Subject: [PATCH 2/4] test fix --- scripts/in_container/run_install_and_test_provider_packages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/in_container/run_install_and_test_provider_packages.sh b/scripts/in_container/run_install_and_test_provider_packages.sh index 983e7a3b648cc..07172f79051ed 100755 --- a/scripts/in_container/run_install_and_test_provider_packages.sh +++ b/scripts/in_container/run_install_and_test_provider_packages.sh @@ -118,7 +118,7 @@ function discover_all_hooks() { group_start "Listing available hooks via 'airflow providers hooks'" COLUMNS=180 airflow providers hooks - local expected_number_of_hooks=65 + local expected_number_of_hooks=66 local actual_number_of_hooks actual_number_of_hooks=$(airflow providers hooks --output table | grep -c "| apache" | xargs) if [[ ${actual_number_of_hooks} != "${expected_number_of_hooks}" ]]; then From 0271b2a946fbe915cc914ba250ea80452b2b278a Mon Sep 17 00:00:00 2001 From: Sumit Maheshwari Date: Wed, 26 May 2021 16:36:51 +0530 Subject: [PATCH 3/4] update tests --- tests/providers/airbyte/hooks/test_airbyte.py | 5 ++++- tests/providers/dingding/hooks/test_dingding.py | 2 +- tests/providers/discord/hooks/test_discord_webhook.py | 2 +- tests/providers/opsgenie/hooks/test_opsgenie_alert.py | 2 +- tests/providers/slack/hooks/test_slack_webhook.py | 10 ++++++---- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/providers/airbyte/hooks/test_airbyte.py b/tests/providers/airbyte/hooks/test_airbyte.py index 09f10beffc255..a0de0e2bc0bd5 100644 --- a/tests/providers/airbyte/hooks/test_airbyte.py +++ b/tests/providers/airbyte/hooks/test_airbyte.py @@ -44,7 +44,10 @@ class TestAirbyteHook(unittest.TestCase): def setUp(self): db.merge_conn( Connection( - conn_id='airbyte_conn_id_test', conn_type='http', host='http://test-airbyte', port=8001 + conn_id='airbyte_conn_id_test', + conn_type='airbyte', + host='http://test-airbyte', + port=8001 ) ) self.hook = AirbyteHook(airbyte_conn_id=self.airbyte_conn_id) diff --git a/tests/providers/dingding/hooks/test_dingding.py b/tests/providers/dingding/hooks/test_dingding.py index cf503c3dd12fc..f033b33a1c6f1 100644 --- a/tests/providers/dingding/hooks/test_dingding.py +++ b/tests/providers/dingding/hooks/test_dingding.py @@ -33,7 +33,7 @@ def setUp(self): db.merge_conn( Connection( conn_id=self.conn_id, - conn_type='http', + conn_type='dingding', host='https://oapi.dingtalk.com', password='you_token_here', ) diff --git a/tests/providers/discord/hooks/test_discord_webhook.py b/tests/providers/discord/hooks/test_discord_webhook.py index 6d41c576a18f8..917b4ea02ac21 100644 --- a/tests/providers/discord/hooks/test_discord_webhook.py +++ b/tests/providers/discord/hooks/test_discord_webhook.py @@ -52,7 +52,7 @@ def setUp(self): db.merge_conn( Connection( conn_id='default-discord-webhook', - conn_type='http', + conn_type='discord', host='https://discordapp.com/api/', extra='{"webhook_endpoint": "webhooks/00000/some-discord-token_000"}', ) diff --git a/tests/providers/opsgenie/hooks/test_opsgenie_alert.py b/tests/providers/opsgenie/hooks/test_opsgenie_alert.py index 0db9ca4cdbdce..89f8b40ea3ed5 100644 --- a/tests/providers/opsgenie/hooks/test_opsgenie_alert.py +++ b/tests/providers/opsgenie/hooks/test_opsgenie_alert.py @@ -70,7 +70,7 @@ def setUp(self): db.merge_conn( Connection( conn_id=self.conn_id, - conn_type='http', + conn_type='opsgenie', host='https://api.opsgenie.com/', password='eb243592-faa2-4ba2-a551q-1afdf565c889', ) diff --git a/tests/providers/slack/hooks/test_slack_webhook.py b/tests/providers/slack/hooks/test_slack_webhook.py index 6fce527a76e23..6c24f69a5e6cb 100644 --- a/tests/providers/slack/hooks/test_slack_webhook.py +++ b/tests/providers/slack/hooks/test_slack_webhook.py @@ -60,26 +60,28 @@ def setUp(self): db.merge_conn( Connection( conn_id='slack-webhook-default', - conn_type='http', + conn_type='slackwebhook', extra='{"webhook_token": "your_token_here"}', ) ) db.merge_conn( Connection( conn_id='slack-webhook-url', - conn_type='http', + conn_type='slackwebhook', host='https://hooks.slack.com/services/T000/B000/XXX', ) ) db.merge_conn( Connection( - conn_id='slack-webhook-host', conn_type='http', host='https://hooks.slack.com/services/T000/' + conn_id='slack-webhook-host', + conn_type='slackwebhook', + host='https://hooks.slack.com/services/T000/' ) ) db.merge_conn( Connection( conn_id='slack-webhook-with-password', - conn_type='http', + conn_type='slackwebhook', password='your_token_here', ) ) From f6ef99cad171ccafe1bd3031d12114c0149918ca Mon Sep 17 00:00:00 2001 From: Sumit Maheshwari Date: Thu, 27 May 2021 13:30:52 +0530 Subject: [PATCH 4/4] Trigger CI