@@ -428,6 +428,30 @@ def test_autocomplete_functions_hive(self):
428428 data ['functions' ] ==
429429 [{'name' : 'f1' }, {'name' : 'f2' }, {'name' : 'f3' }])
430430
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+
431455
432456@pytest .mark .django_db
433457class TestHiveserver2ApiNonMock (object ):
0 commit comments