Exemple #1
0
    def test_SELECT(self):
        sql = SQL().SELECT().FROM("test1")
        self.assertEqual(str(sql), 'SELECT * FROM "test1"')

        sql = SQL().SELECT("a", "b").FROM("test2")
        self.assertEqual(str(sql), 'SELECT "a","b" FROM "test2"')

        sql = SQL().SELECT("a", "b").FROM("test2").WHERE(**{"a b c": 3})
        self.assertEqual(str(sql),
                         'SELECT "a","b" FROM "test2" WHERE "a b c"=3')
Exemple #2
0
    def test_WHERE_CV(self):
        columns = "a"
        values = [1, 3]
        sql = SQL().WHERE_CV(columns, *values)
        self.assertEqual(str(sql), ' WHERE "a" IN (1,3)')

        columns = ("a", "b")
        values = [(1, 2), (3, 4)]
        sql = SQL().WHERE_CV(columns, *values)
        self.assertEqual(str(sql),
                         ' WHERE ("a"=1 AND "b"=2) OR ("a"=3 AND "b"=4)')
Exemple #3
0
    def test_0(self):
        sql = SQL()
        self.assertEqual(bool(sql), False)
        self.assertEqual(len(sql), 0)
        self.assertEqual(str(sql), "")

        stmt = "SELECT * FROM test"
        sql.sql(stmt)
        self.assertEqual(bool(sql), True)
        self.assertEqual(len(sql), len(stmt))
        self.assertEqual(str(sql), stmt)
Exemple #4
0
 def test_WHERE(self):
     sql = SQL().WHERE(a=1, b=2)
     self.assertEqual(str(sql), ' WHERE "a"=1 AND "b"=2')
Exemple #5
0
 def test_DELETE(self):
     sql = SQL().DELETE("test")
     self.assertEqual(str(sql), 'DELETE FROM "test"')
Exemple #6
0
 def test_UPDATE_CV(self):
     sql = SQL().UPDATE_CV("test", ("a", "b"), (1, 2))
     self.assertEqual(str(sql), 'UPDATE "test" SET "a"=1,"b"=2')
Exemple #7
0
 def test_UPDATE(self):
     sql = SQL().UPDATE("test", a=1, b=2)
     self.assertEqual(str(sql), 'UPDATE "test" SET "a"=1,"b"=2')
Exemple #8
0
 def test_INSERT_CV(self):
     sql = SQL().INSERT_CV("test", ("a", "b"), (1, 2))
     self.assertEqual(str(sql), 'INSERT INTO "test" ("a","b") VALUES (1,2)')
Exemple #9
0
 def test_INSERT(self):
     sql = SQL().INSERT("test", a=1, b=2)
     self.assertEqual(str(sql), 'INSERT INTO "test" ("a","b") VALUES (1,2)')
Exemple #10
0
    def test_1(self):
        sql = SQL().quoted("test")
        self.assertEqual(str(sql), '"test"')
        sql = SQL().quoted('te"st')
        self.assertEqual(str(sql), '"te""st"')

        sql = SQL().arg().arg()
        self.assertEqual(str(sql), "%s%s")
        sql = SQL().kwarg("a").kwarg("b")
        self.assertEqual(str(sql), "%(a)s%(b)s")

        sql = SQL().literal(None)
        self.assertEqual(str(sql), "NULL")
        sql = SQL().literal(True)
        self.assertEqual(str(sql), "1")
        sql = SQL().literal(False)
        self.assertEqual(str(sql), "0")
        sql = SQL().literal(123)
        self.assertEqual(str(sql), "123")
        sql = SQL().literal(123.456)
        self.assertEqual(str(sql), "123.456")
        dt = datetime(2020, 6, 25, 2, 15, 36)
        sql = SQL().literal(dt)
        self.assertEqual(str(sql), "'2020-06-25 02:15:36'")
        sql = SQL().literal(dt.date())
        self.assertEqual(str(sql), "'2020-06-25'")
        sql = SQL().literal(dt.time())
        self.assertEqual(str(sql), "'02:15:36'")
        sql = SQL().literal("ab'cd%")
        self.assertEqual(str(sql), "'ab''cd%%'")
        sql = SQL().literal(1, 2, 3)
        self.assertEqual(str(sql), "1,2,3")
        sql = SQL().literal(1, (2, 3), 4)
        self.assertEqual(str(sql), "1,(2,3),4")