1
1
mirror of https://github.com/dbcli/pgcli.git synced 2024-10-06 02:07:53 +03:00

Update tests so they pass with metadisplay

This commit is contained in:
Darik Gamble 2015-07-19 14:36:23 -04:00
parent 2ff36deae9
commit 7b997e4083
2 changed files with 155 additions and 152 deletions

View File

@ -67,11 +67,12 @@ def test_schema_or_visible_table_completion(completer, complete_event):
position = len(text)
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([Completion(text='public', start_position=0),
Completion(text='custom', start_position=0),
Completion(text='users', start_position=0),
Completion(text='"select"', start_position=0),
Completion(text='orders', start_position=0)])
assert set(result) == set([
Completion(text='public', start_position=0, display_meta='schema'),
Completion(text='custom', start_position=0, display_meta='schema'),
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='"select"', start_position=0, display_meta='table'),
Completion(text='orders', start_position=0, display_meta='table')])
def test_suggested_column_names_from_shadowed_visible_table(completer, complete_event):
"""
@ -86,14 +87,14 @@ def test_suggested_column_names_from_shadowed_visible_table(completer, complete_
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0),
Completion(text='func1', start_position=0),
Completion(text='func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column'),
Completion(text='func1', start_position=0, display_meta='function'),
Completion(text='func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_column_names_from_qualified_shadowed_table(completer, complete_event):
text = 'SELECT from custom.users'
@ -102,12 +103,12 @@ def test_suggested_column_names_from_qualified_shadowed_table(completer, complet
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='phone_number', start_position=0),
Completion(text='func1', start_position=0),
Completion(text='func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='phone_number', start_position=0, display_meta='column'),
Completion(text='func1', start_position=0, display_meta='function'),
Completion(text='func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_column_names_from_schema_qualifed_table(completer, complete_event):
"""
@ -121,13 +122,13 @@ def test_suggested_column_names_from_schema_qualifed_table(completer, complete_e
result = set(completer.get_completions(
Document(text=text, cursor_position=position), complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='product_name', start_position=0),
Completion(text='price', start_position=0),
Completion(text='func1', start_position=0),
Completion(text='func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='product_name', start_position=0, display_meta='column'),
Completion(text='price', start_position=0, display_meta='column'),
Completion(text='func1', start_position=0, display_meta='function'),
Completion(text='func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_column_names_in_function(completer, complete_event):
"""
@ -143,10 +144,10 @@ def test_suggested_column_names_in_function(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event)
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='product_name', start_position=0),
Completion(text='price', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='product_name', start_position=0, display_meta='column'),
Completion(text='price', start_position=0, display_meta='column')])
def test_suggested_table_names_with_schema_dot(completer, complete_event):
text = 'SELECT * FROM custom.'
@ -154,9 +155,9 @@ def test_suggested_table_names_with_schema_dot(completer, complete_event):
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([
Completion(text='users', start_position=0),
Completion(text='products', start_position=0),
Completion(text='shipments', start_position=0)])
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='products', start_position=0, display_meta='table'),
Completion(text='shipments', start_position=0, display_meta='table')])
def test_suggested_column_names_with_qualified_alias(completer, complete_event):
"""
@ -171,10 +172,10 @@ def test_suggested_column_names_with_qualified_alias(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='product_name', start_position=0),
Completion(text='price', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='product_name', start_position=0, display_meta='column'),
Completion(text='price', start_position=0, display_meta='column')])
def test_suggested_multiple_column_names(completer, complete_event):
"""
@ -190,13 +191,13 @@ def test_suggested_multiple_column_names(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='product_name', start_position=0),
Completion(text='price', start_position=0),
Completion(text='func1', start_position=0),
Completion(text='func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='product_name', start_position=0, display_meta='column'),
Completion(text='price', start_position=0, display_meta='column'),
Completion(text='func1', start_position=0, display_meta='function'),
Completion(text='func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_multiple_column_names_with_alias(completer, complete_event):
"""
@ -212,10 +213,10 @@ def test_suggested_multiple_column_names_with_alias(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='product_name', start_position=0),
Completion(text='price', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='product_name', start_position=0, display_meta='column'),
Completion(text='price', start_position=0, display_meta='column')])
def test_suggested_aliases_after_on(completer, complete_event):
text = 'SELECT x.id, y.product_name FROM custom.products x JOIN custom.products y ON '
@ -224,8 +225,8 @@ def test_suggested_aliases_after_on(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='x', start_position=0),
Completion(text='y', start_position=0)])
Completion(text='x', start_position=0, display_meta='table alias'),
Completion(text='y', start_position=0, display_meta='table alias')])
def test_suggested_aliases_after_on_right_side(completer, complete_event):
text = 'SELECT x.id, y.product_name FROM custom.products x JOIN custom.products y ON x.id = '
@ -234,8 +235,8 @@ def test_suggested_aliases_after_on_right_side(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='x', start_position=0),
Completion(text='y', start_position=0)])
Completion(text='x', start_position=0, display_meta='table alias'),
Completion(text='y', start_position=0, display_meta='table alias')])
def test_table_names_after_from(completer, complete_event):
text = 'SELECT * FROM '
@ -244,11 +245,11 @@ def test_table_names_after_from(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='public', start_position=0),
Completion(text='custom', start_position=0),
Completion(text='users', start_position=0),
Completion(text='orders', start_position=0),
Completion(text='"select"', start_position=0),
Completion(text='public', start_position=0, display_meta='schema'),
Completion(text='custom', start_position=0, display_meta='schema'),
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='orders', start_position=0, display_meta='table'),
Completion(text='"select"', start_position=0, display_meta='table'),
])
def test_schema_qualified_function_name(completer, complete_event):
@ -257,8 +258,8 @@ def test_schema_qualified_function_name(completer, complete_event):
result = set(completer.get_completions(
Document(text=text, cursor_position=postion), complete_event))
assert result == set([
Completion(text='func3', start_position=-len('func')),
Completion(text='func4', start_position=-len('func'))])
Completion(text='func3', start_position=-len('func'), display_meta='function'),
Completion(text='func4', start_position=-len('func'), display_meta='function')])
@pytest.mark.parametrize('text', [
@ -272,9 +273,9 @@ def test_schema_qualified_type_name(text, completer, complete_event):
result = completer.get_completions(
Document(text=text, cursor_position=pos), complete_event)
assert set(result) == set([
Completion(text='typ3'),
Completion(text='typ4'),
Completion(text='users'),
Completion(text='products'),
Completion(text='shipments'),
Completion(text='typ3', display_meta='datatype'),
Completion(text='typ4', display_meta='datatype'),
Completion(text='users', display_meta='table'),
Completion(text='products', display_meta='table'),
Completion(text='shipments', display_meta='table'),
])

View File

@ -65,7 +65,8 @@ def test_empty_string_completion(completer, complete_event):
completer.get_completions(
Document(text=text, cursor_position=position),
complete_event))
assert set(map(Completion, completer.keywords)) == result
assert set(map(lambda x: Completion(x, display_meta='keyword'),
completer.keywords)) == result
def test_select_keyword_completion(completer, complete_event):
text = 'SEL'
@ -73,7 +74,8 @@ def test_select_keyword_completion(completer, complete_event):
result = completer.get_completions(
Document(text=text, cursor_position=position),
complete_event)
assert set(result) == set([Completion(text='SELECT', start_position=-3)])
assert set(result) == set([Completion(text='SELECT', start_position=-3,
display_meta='keyword')])
def test_schema_or_visible_table_completion(completer, complete_event):
@ -81,11 +83,12 @@ def test_schema_or_visible_table_completion(completer, complete_event):
position = len(text)
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([Completion(text='public', start_position=0),
Completion(text='users', start_position=0),
Completion(text='"select"', start_position=0),
Completion(text='orders', start_position=0),
Completion(text='user_emails', start_position=0)])
assert set(result) == set([
Completion(text='public', start_position=0, display_meta='schema'),
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='"select"', start_position=0, display_meta='table'),
Completion(text='orders', start_position=0, display_meta='table'),
Completion(text='user_emails', start_position=0, display_meta='view')])
def test_builtin_function_name_completion(completer, complete_event):
@ -93,7 +96,8 @@ def test_builtin_function_name_completion(completer, complete_event):
position = len('SELECT MA')
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([Completion(text='MAX', start_position=-2)])
assert set(result) == set([Completion(text='MAX', start_position=-2,
display_meta='function')])
def test_builtin_function_matches_only_at_start(completer, complete_event):
@ -113,8 +117,8 @@ def test_user_function_name_completion(completer, complete_event):
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([
Completion(text='custom_func1', start_position=-2),
Completion(text='custom_func2', start_position=-2)])
Completion(text='custom_func1', start_position=-2, display_meta='function'),
Completion(text='custom_func2', start_position=-2, display_meta='function')])
def test_user_function_name_completion_matches_anywhere(completer,
@ -124,8 +128,8 @@ def test_user_function_name_completion_matches_anywhere(completer,
result = completer.get_completions(
Document(text=text, cursor_position=position), complete_event)
assert set(result) == set([
Completion(text='custom_func1', start_position=-2),
Completion(text='custom_func2', start_position=-2)])
Completion(text='custom_func1', start_position=-2, display_meta='function'),
Completion(text='custom_func2', start_position=-2, display_meta='function')])
def test_suggested_column_names_from_visible_table(completer, complete_event):
@ -141,14 +145,15 @@ def test_suggested_column_names_from_visible_table(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0),
Completion(text='custom_func1', start_position=0),
Completion(text='custom_func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column'),
Completion(text='custom_func1', start_position=0, display_meta='function'),
Completion(text='custom_func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_column_names_in_function(completer, complete_event):
"""
@ -164,11 +169,11 @@ def test_suggested_column_names_in_function(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event)
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column')])
def test_suggested_column_names_with_table_dot(completer, complete_event):
"""
@ -183,11 +188,11 @@ def test_suggested_column_names_with_table_dot(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column')])
def test_suggested_column_names_with_alias(completer, complete_event):
"""
@ -202,11 +207,11 @@ def test_suggested_column_names_with_alias(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column')])
def test_suggested_multiple_column_names(completer, complete_event):
"""
@ -222,14 +227,14 @@ def test_suggested_multiple_column_names(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0),
Completion(text='custom_func1', start_position=0),
Completion(text='custom_func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column'),
Completion(text='custom_func1', start_position=0, display_meta='function'),
Completion(text='custom_func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
def test_suggested_multiple_column_names_with_alias(completer, complete_event):
"""
@ -245,11 +250,11 @@ def test_suggested_multiple_column_names_with_alias(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column')])
def test_suggested_multiple_column_names_with_dot(completer, complete_event):
"""
@ -265,11 +270,11 @@ def test_suggested_multiple_column_names_with_dot(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='first_name', start_position=0),
Completion(text='last_name', start_position=0)])
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
Completion(text='first_name', start_position=0, display_meta='column'),
Completion(text='last_name', start_position=0, display_meta='column')])
def test_suggested_aliases_after_on(completer, complete_event):
text = 'SELECT u.name, o.id FROM users u JOIN orders o ON '
@ -278,8 +283,8 @@ def test_suggested_aliases_after_on(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='u', start_position=0),
Completion(text='o', start_position=0)])
Completion(text='u', start_position=0, display_meta='table alias'),
Completion(text='o', start_position=0, display_meta='table alias')])
def test_suggested_aliases_after_on_right_side(completer, complete_event):
text = 'SELECT u.name, o.id FROM users u JOIN orders o ON o.user_id = '
@ -288,8 +293,8 @@ def test_suggested_aliases_after_on_right_side(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='u', start_position=0),
Completion(text='o', start_position=0)])
Completion(text='u', start_position=0, display_meta='table alias'),
Completion(text='o', start_position=0, display_meta='table alias')])
def test_suggested_tables_after_on(completer, complete_event):
text = 'SELECT users.name, orders.id FROM users JOIN orders ON '
@ -298,8 +303,8 @@ def test_suggested_tables_after_on(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='users', start_position=0),
Completion(text='orders', start_position=0)])
Completion(text='users', start_position=0, display_meta='table alias'),
Completion(text='orders', start_position=0, display_meta='table alias')])
def test_suggested_tables_after_on_right_side(completer, complete_event):
text = 'SELECT users.name, orders.id FROM users JOIN orders ON orders.user_id = '
@ -308,8 +313,8 @@ def test_suggested_tables_after_on_right_side(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='users', start_position=0),
Completion(text='orders', start_position=0)])
Completion(text='users', start_position=0, display_meta='table alias'),
Completion(text='orders', start_position=0, display_meta='table alias')])
def test_join_using_suggests_common_columns(completer, complete_event):
text = 'SELECT * FROM users INNER JOIN orders USING ('
@ -317,8 +322,8 @@ def test_join_using_suggests_common_columns(completer, complete_event):
result = set(completer.get_completions(
Document(text=text, cursor_position=pos), complete_event))
assert set(result) == set([
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
])
def test_join_using_suggests_columns_after_first_column(completer, complete_event):
@ -327,8 +332,8 @@ def test_join_using_suggests_columns_after_first_column(completer, complete_even
result = set(completer.get_completions(
Document(text=text, cursor_position=pos), complete_event))
assert set(result) == set([
Completion(text='id', start_position=0),
Completion(text='email', start_position=0),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='email', start_position=0, display_meta='column'),
])
def test_table_names_after_from(completer, complete_event):
@ -338,11 +343,11 @@ def test_table_names_after_from(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='public', start_position=0),
Completion(text='users', start_position=0),
Completion(text='orders', start_position=0),
Completion(text='"select"', start_position=0),
Completion(text='user_emails', start_position=0),
Completion(text='public', start_position=0, display_meta='schema'),
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='orders', start_position=0, display_meta='table'),
Completion(text='"select"', start_position=0, display_meta='table'),
Completion(text='user_emails', start_position=0, display_meta='view'),
])
def test_auto_escaped_col_names(completer, complete_event):
@ -352,13 +357,13 @@ def test_auto_escaped_col_names(completer, complete_event):
Document(text=text, cursor_position=position),
complete_event))
assert set(result) == set([
Completion(text='*', start_position=0),
Completion(text='id', start_position=0),
Completion(text='"insert"', start_position=0),
Completion(text='"ABC"', start_position=0),
Completion(text='custom_func1', start_position=0),
Completion(text='custom_func2', start_position=0)] +
list(map(Completion, completer.functions)))
Completion(text='*', start_position=0, display_meta='column'),
Completion(text='id', start_position=0, display_meta='column'),
Completion(text='"insert"', start_position=0, display_meta='column'),
Completion(text='"ABC"', start_position=0, display_meta='column'),
Completion(text='custom_func1', start_position=0, display_meta='function'),
Completion(text='custom_func2', start_position=0, display_meta='function')] +
list(map(lambda f: Completion(f, display_meta='function'), completer.functions)))
@pytest.mark.parametrize('text', [
@ -371,16 +376,13 @@ def test_suggest_datatype(text, completer, complete_event):
pos = len(text)
result = completer.get_completions(
Document(text=text, cursor_position=pos), complete_event)
assert set(result) == set(
[Completion(t) for t in [
# Custom types
'custom_type1', 'custom_type2',
# Tables
'public', 'users', 'orders', '"select"',
# Built-in datatypes
] + completer.datatypes
])
assert set(result) == set([
Completion(text='custom_type1', start_position=0, display_meta='datatype'),
Completion(text='custom_type2', start_position=0, display_meta='datatype'),
Completion(text='public', start_position=0, display_meta='schema'),
Completion(text='users', start_position=0, display_meta='table'),
Completion(text='orders', start_position=0, display_meta='table'),
Completion(text='"select"', start_position=0, display_meta='table')] +
list(map(lambda f: Completion(f, display_meta='datatype'), completer.datatypes)))