airflow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] smentek commented on a change in pull request #4090: [AIRFLOW-3250] Fix for Redis Hook for not authorised connection calls
Date Tue, 20 Nov 2018 09:58:13 GMT
smentek commented on a change in pull request #4090: [AIRFLOW-3250] Fix for Redis Hook for
not authorised connection calls
URL: https://github.com/apache/incubator-airflow/pull/4090#discussion_r234934576
 
 

 ##########
 File path: tests/contrib/sensors/test_redis_sensor.py
 ##########
 @@ -47,22 +47,25 @@ def setUp(self):
             key='test_key'
         )
 
-    @patch("airflow.contrib.hooks.redis_hook.RedisHook.key_exists")
-    def test_poke(self, key_exists):
-        key_exists.return_value = True
-        self.assertTrue(self.sensor.poke(None))
+    @patch("airflow.contrib.sensors.redis_key_sensor.RedisHook")
+    def test_poke(self, RedisHook):
+        RedisHook.return_value.get_conn.return_value.exists.side_effect = [True, False]
+        self.assertTrue(self.sensor.poke(None), "Key exists on first call.")
+        RedisHook.assert_called_once_with('redis_default')
+        RedisHook.return_value.get_conn.assert_called_once_with()
+        RedisHook.return_value.get_conn.return_value.exists.assert_called_once_with('test_key')
+        self.assertFalse(self.sensor.poke(None), "Key does NOT exists on second call.")
 
-        key_exists.return_value = False
-        self.assertFalse(self.sensor.poke(None))
-
-    @patch("airflow.contrib.hooks.redis_hook.StrictRedis.exists")
-    def test_existing_key_called(self, redis_client_exists):
+    @patch("airflow.contrib.hooks.redis_hook.StrictRedis")
+    @patch('airflow.contrib.hooks.redis_hook.RedisHook.get_connection')
 
 Review comment:
   Why do we want to test redis in tests for airflow project? I understand that we may need
some integration tests (and the best would be to have them separate to unit tests) but it
does not mean we need all of it to connect everywhere all the time :) That focus of integration
as ultimate remedy, is the reason that current ticket even exist. AIRFLOW-999 had integration
tests, but no proper unit tests.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

Mime
View raw message