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:
parent
2ff36deae9
commit
7b997e4083
@ -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'),
|
||||
])
|
@ -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)))
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user