def test_set_schema(self, completer): text = ('SET SCHEMA ') result = result_set(completer, text) self.assertSetEqual( result, set([ schema(u"'blog'"), schema(u"'Custom'"), schema(u"'custom'"), schema(u"'public'") ]))
def test_cased_joins(self, completer, text): result = result_set(completer, text) self.assertSetEqual(result, set([schema('PUBLIC')] + cased_rels + [ join('"Users" ON "Users".UserID = Users.ID'), join('Users Users2 ON Users2.ID = Users.PARENTID'), join('Users Users2 ON Users2.PARENTID = Users.ID'), ]))
def test_duplicate_aliases_with_casing(self, completer, text): result = result_set(completer, text) self.assertSetEqual(result, set([ schema('PUBLIC'), table('Orders O2'), table('Users U'), table('"Users" U'), table('"select" s'), view('User_Emails UE'), view('Functions F'), function('_custom_fun() cf'), function('Custom_Fun() CF'), function('Custom_Func1() CF'), function('custom_func2() cf'), function( 'set_returning_func(x := , y := ) srf', display='set_returning_func(x, y) srf' ), ]))
def test_set_schema(self, completer): text = ('SET SCHEMA ') result = result_set(completer, text) expected = set([schema(u"'public'")]) self.assertEqual(result, expected)
def test_table_casing(self, completer, text): result = result_set(completer, text) self.assertSetEqual(result, set([schema('PUBLIC')] + cased_rels))
('blog', 'entries', 'entryid', 'blog', 'entacclog', 'entryid'), ('blog', 'entries', 'entryid', 'blog', 'entrytags', 'entryid'), ('blog', 'tags', 'tagid', 'blog', 'entrytags', 'tagid'), ], }, 'defaults': { 'public': { ('orders', 'id'): "nextval('orders_id_seq'::regclass)", ('orders', 'datestamp'): "now()", ('orders', 'status'): "'PENDING'::text", } }, } TESTDATA = MetaData(METADATA) CASED_SCHEMAS = [schema(x) for x in ('public', 'blog', 'CUSTOM', '"Custom"')] CASING = ('SELECT', 'Orders', 'User_Emails', 'CUSTOM', 'Func1', 'Entries', 'Tags', 'EntryTags', 'EntAccLog', 'EntryID', 'EntryTitle', 'EntryText') completers = TESTDATA.get_completers(CASING) filteredCompleters = completers(filtr=True, casing=False, qualify=no_qual) def to_params(completer): result = [] if not isinstance(completer, list): completer = [completer] for i in completer: result.append(param(i))