This is an automated email from the ASF dual-hosted git repository. kaxilnaik pushed a commit to branch v1-10-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 8405787b6915d67be09ed3a0b18bacb2d130d03e Author: Ace Haidrey <[email protected]> AuthorDate: Tue Jun 16 13:19:41 2020 -0700 Make hive macros py3 compatible (#8598) Co-authored-by: Ace Haidrey <[email protected]> (cherry-picked from c78e2a5) --- airflow/hooks/hive_hooks.py | 3 ++- tests/hooks/test_hive_hook.py | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/airflow/hooks/hive_hooks.py b/airflow/hooks/hive_hooks.py index 4e41834..ec37dfb 100644 --- a/airflow/hooks/hive_hooks.py +++ b/airflow/hooks/hive_hooks.py @@ -691,6 +691,7 @@ class HiveMetastoreHook(BaseHook): pairs will be considered as candidates of max partition. :type filter_map: map :return: Max partition or None if part_specs is empty. + :rtype: basestring """ if not part_specs: return None @@ -714,7 +715,7 @@ class HiveMetastoreHook(BaseHook): if not candidates: return None else: - return max(candidates).encode('utf-8') + return max(candidates) def max_partition(self, schema, table_name, field=None, filter_map=None): """ diff --git a/tests/hooks/test_hive_hook.py b/tests/hooks/test_hive_hook.py index 98c024f..011038a 100644 --- a/tests/hooks/test_hive_hook.py +++ b/tests/hooks/test_hive_hook.py @@ -362,7 +362,7 @@ class TestHiveMetastoreHook(TestHiveEnvironment): None) # No partition will be filtered out. - self.assertEqual(max_partition, b'value3') + self.assertEqual(max_partition, 'value3') def test_get_max_partition_from_valid_part_specs(self): max_partition = \ @@ -371,7 +371,16 @@ class TestHiveMetastoreHook(TestHiveEnvironment): {'key1': 'value3', 'key2': 'value4'}], 'key1', self.VALID_FILTER_MAP) - self.assertEqual(max_partition, b'value1') + self.assertEqual(max_partition, 'value1') + + def test_get_max_partition_from_valid_part_specs_return_type(self): + max_partition = \ + HiveMetastoreHook._get_max_partition_from_part_specs( + [{'key1': 'value1', 'key2': 'value2'}, + {'key1': 'value3', 'key2': 'value4'}], + 'key1', + self.VALID_FILTER_MAP) + self.assertIsInstance(max_partition, str) @patch("airflow.hooks.hive_hooks.HiveMetastoreHook.get_connection", return_value=[Connection(host="localhost", port="9802")]) @@ -522,7 +531,7 @@ class TestHiveMetastoreHook(TestHiveEnvironment): table_name=self.table, field=self.partition_by, filter_map=filter_map) - self.assertEqual(partition, DEFAULT_DATE_DS.encode('utf-8')) + self.assertEqual(partition, DEFAULT_DATE_DS) metastore.get_table.assert_called_with( dbname=self.database, tbl_name=self.table)
