@@ -428,6 +428,30 @@ def test_autocomplete_functions_hive(self):
428
428
data ['functions' ] ==
429
429
[{'name' : 'f1' }, {'name' : 'f2' }, {'name' : 'f3' }])
430
430
431
+ def test_describe_column_view (self ):
432
+ mock_get_db = Mock (get_table = Mock (return_value = Mock (is_view = True )), get_table_columns_stats = Mock ())
433
+ with patch ('notebook.connectors.hiveserver2.HS2Api._get_db' , return_value = mock_get_db ) as _get_db :
434
+ with patch ('notebook.connectors.hiveserver2.LOG' ) as LOG :
435
+ api = HS2Api (self .user )
436
+
437
+ result = api .describe_column ({}, {}, 'test_db' , 'test_view' , 'test_col' )
438
+
439
+ LOG .debug .assert_called_with ('Cannot describe column for view: test_view' )
440
+ assert result ['message' ] == 'Cannot describe column for view: test_view'
441
+ _get_db .get_table_columns_stats .assert_not_called ()
442
+
443
+ def test_describe_column_table (self ):
444
+ mock_get_db = Mock (
445
+ get_table = Mock (return_value = Mock (is_view = False )),
446
+ get_table_columns_stats = Mock (return_value = [{'test_field1' : 'value1' , 'test_field2' : 'value2' }]),
447
+ )
448
+ with patch ('notebook.connectors.hiveserver2.HS2Api._get_db' , return_value = mock_get_db ) as _get_db :
449
+ api = HS2Api (self .user )
450
+
451
+ result = api .describe_column ({}, {}, 'test_db' , 'test_table' , 'test_col' )
452
+
453
+ assert result == [{'test_field1' : 'value1' , 'test_field2' : 'value2' }]
454
+
431
455
432
456
@pytest .mark .django_db
433
457
class TestHiveserver2ApiNonMock (object ):
0 commit comments