[CalendarServer-changes] [14784] twext/trunk/twext/enterprise/dal/test/test_sqlsyntax.py
source_changes at macosforge.org
source_changes at macosforge.org
Thu May 14 08:44:23 PDT 2015
Revision: 14784
http://trac.calendarserver.org//changeset/14784
Author: cdaboo at apple.com
Date: 2015-05-14 08:44:22 -0700 (Thu, 14 May 2015)
Log Message:
-----------
Random hash seed test fix.
Modified Paths:
--------------
twext/trunk/twext/enterprise/dal/test/test_sqlsyntax.py
Modified: twext/trunk/twext/enterprise/dal/test/test_sqlsyntax.py
===================================================================
--- twext/trunk/twext/enterprise/dal/test/test_sqlsyntax.py 2015-05-13 18:18:41 UTC (rev 14783)
+++ twext/trunk/twext/enterprise/dal/test/test_sqlsyntax.py 2015-05-14 15:44:22 UTC (rev 14784)
@@ -921,30 +921,34 @@
# Two items with IN only
items = set(("A", "B"))
+ test = Select(
+ From=self.schema.FOO,
+ Where=self.schema.FOO.BAR.In(
+ Parameter("names", len(items))
+ )
+ ).toSQL().bind(names=items)
+ test.parameters.sort()
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=self.schema.FOO.BAR.In(
- Parameter("names", len(items))
- )
- ).toSQL().bind(names=items),
+ test,
SQLFragment(
"select * from FOO where BAR in (?, ?)", ["A", "B"]
)
)
# Two items with preceding AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=(
+ (
+ self.schema.FOO.BAZ == Parameter("P1")
+ ).And(
+ self.schema.FOO.BAR.In(Parameter("names", len(items)))
+ )
+ )
+ ).toSQL().bind(P1="P1", names=items)
+ test.parameters = [test.parameters[0], ] + sorted(test.parameters[1:])
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=(
- (
- self.schema.FOO.BAZ == Parameter("P1")
- ).And(
- self.schema.FOO.BAR.In(Parameter("names", len(items)))
- )
- )
- ).toSQL().bind(P1="P1", names=items),
+ test,
SQLFragment(
"select * from FOO where BAZ = ? and BAR in (?, ?)",
["P1", "A", "B"]
@@ -952,17 +956,19 @@
)
# Two items with following AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=(
+ (
+ self.schema.FOO.BAR.In(Parameter("names", len(items)))
+ ).And(
+ self.schema.FOO.BAZ == Parameter("P2")
+ )
+ )
+ ).toSQL().bind(P2="P2", names=items)
+ test.parameters = sorted(test.parameters[:-1]) + [test.parameters[-1], ]
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=(
- (
- self.schema.FOO.BAR.In(Parameter("names", len(items)))
- ).And(
- self.schema.FOO.BAZ == Parameter("P2")
- )
- )
- ).toSQL().bind(P2="P2", names=items),
+ test,
SQLFragment(
"select * from FOO where BAR in (?, ?) and BAZ = ?",
["A", "B", "P2"]
@@ -970,17 +976,19 @@
)
# Two items with preceding OR and following AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=((
+ self.schema.FOO.BAZ == Parameter("P1")
+ ).Or(
+ self.schema.FOO.BAR.In(Parameter("names", len(items))).And(
+ self.schema.FOO.BAZ == Parameter("P2")
+ )
+ ))
+ ).toSQL().bind(P1="P1", P2="P2", names=items)
+ test.parameters = [test.parameters[0], ] + sorted(test.parameters[1:-1]) + [test.parameters[-1], ]
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=((
- self.schema.FOO.BAZ == Parameter("P1")
- ).Or(
- self.schema.FOO.BAR.In(Parameter("names", len(items))).And(
- self.schema.FOO.BAZ == Parameter("P2")
- )
- ))
- ).toSQL().bind(P1="P1", P2="P2", names=items),
+ test,
SQLFragment(
"select * from FOO where BAZ = ? or BAR in (?, ?) and BAZ = ?",
["P1", "A", "B", "P2"]
@@ -1023,30 +1031,34 @@
)
# Two items with IN only
- items = set(("A", "B"))
+ items = ("A", "B")
for items in (set(items), list(items), tuple(items),):
+ test = Select(
+ From=self.schema.FOO,
+ Where=self.schema.FOO.BAR.In(items),
+ ).toSQL().bind(names=items)
+ test.parameters.sort()
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=self.schema.FOO.BAR.In(items),
- ).toSQL().bind(names=items),
+ test,
SQLFragment(
"select * from FOO where BAR in (?, ?)", ["A", "B"]
)
)
# Two items with preceding AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=(
+ (
+ self.schema.FOO.BAZ == Parameter("P1")
+ ).And(
+ self.schema.FOO.BAR.In(items)
+ )
+ )
+ ).toSQL().bind(P1="P1")
+ test.parameters = [test.parameters[0], ] + sorted(test.parameters[1:])
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=(
- (
- self.schema.FOO.BAZ == Parameter("P1")
- ).And(
- self.schema.FOO.BAR.In(items)
- )
- )
- ).toSQL().bind(P1="P1"),
+ test,
SQLFragment(
"select * from FOO where BAZ = ? and BAR in (?, ?)",
["P1", "A", "B"]
@@ -1054,17 +1066,19 @@
)
# Two items with following AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=(
+ (
+ self.schema.FOO.BAR.In(items)
+ ).And(
+ self.schema.FOO.BAZ == Parameter("P2")
+ )
+ )
+ ).toSQL().bind(P2="P2")
+ test.parameters = sorted(test.parameters[:-1]) + [test.parameters[-1], ]
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=(
- (
- self.schema.FOO.BAR.In(items)
- ).And(
- self.schema.FOO.BAZ == Parameter("P2")
- )
- )
- ).toSQL().bind(P2="P2"),
+ test,
SQLFragment(
"select * from FOO where BAR in (?, ?) and BAZ = ?",
["A", "B", "P2"]
@@ -1072,17 +1086,19 @@
)
# Two items with preceding OR and following AND
+ test = Select(
+ From=self.schema.FOO,
+ Where=((
+ self.schema.FOO.BAZ == Parameter("P1")
+ ).Or(
+ self.schema.FOO.BAR.In(items).And(
+ self.schema.FOO.BAZ == Parameter("P2")
+ )
+ ))
+ ).toSQL().bind(P1="P1", P2="P2")
+ test.parameters = [test.parameters[0], ] + sorted(test.parameters[1:-1]) + [test.parameters[-1], ]
self.assertEquals(
- Select(
- From=self.schema.FOO,
- Where=((
- self.schema.FOO.BAZ == Parameter("P1")
- ).Or(
- self.schema.FOO.BAR.In(items).And(
- self.schema.FOO.BAZ == Parameter("P2")
- )
- ))
- ).toSQL().bind(P1="P1", P2="P2"),
+ test,
SQLFragment(
"select * from FOO where BAZ = ? or BAR in (?, ?) and BAZ = ?",
["P1", "A", "B", "P2"]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150514/85130f2c/attachment.html>
More information about the calendarserver-changes
mailing list