def test_all_query(self): expr = expression.allExpression() resource = self.FakeHomeChild() select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual(select.toSQL(), SQLFragment("select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ?", [1234])) self.assertEqual(args, {})
def test_uid_query(self): resource = self.FakeHomeChild() obj = resource._objectSchema expr = expression.isExpression(obj.UID, 5678, False) select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual(select.toSQL(), SQLFragment("select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ? and ICALENDAR_UID = ?", [1234, 5678])) self.assertEqual(args, {})
def test_all_query(self): expr = expression.allExpression() resource = self.FakeHomeChild() select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual( select.toSQL(), SQLFragment( "select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ?", [1234])) self.assertEqual(args, {})
def test_uid_query(self): resource = self.FakeHomeChild() obj = resource._objectSchema expr = expression.isExpression(obj.UID, 5678, False) select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual( select.toSQL(), SQLFragment( "select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ? and ICALENDAR_UID = ?", [1234, 5678])) self.assertEqual(args, {})
def test_in_query(self): resource = self.FakeHomeChild() obj = resource._objectSchema expr = expression.inExpression(obj.RESOURCE_NAME, ["1.ics", "2.ics", "3.ics"], False) select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual( select.toSQL(), SQLFragment( "select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ? and RESOURCE_NAME in (?, ?, ?)", [1234, Parameter('arg1', 3)] ) ) self.assertEqual(args, {"arg1": ["1.ics", "2.ics", "3.ics"]})
def test_in_query(self): resource = self.FakeHomeChild() obj = resource._objectSchema expr = expression.inExpression(obj.RESOURCE_NAME, ["1.ics", "2.ics", "3.ics"], False) select, args = SQLQueryGenerator(expr, resource, resource.id()).generate() self.assertEqual( select.toSQL(), SQLFragment( "select distinct RESOURCE_NAME, ICALENDAR_UID from CALENDAR_OBJECT where CALENDAR_RESOURCE_ID = ? and RESOURCE_NAME in (?, ?, ?)", [1234, Parameter('arg1', 3)])) self.assertEqual(args, {"arg1": ["1.ics", "2.ics", "3.ics"]})