)
def setUp(self):
- testbase.db.execute("INSERT INTO prj (title) values('project 1');")
- testbase.db.execute("INSERT INTO task_status (id) values(1);")
- testbase.db.execute("INSERT INTO task_type(id) values(1);")
- testbase.db.execute("INSERT INTO task (title, task_type_id, status_id, prj_id) values('task 1',1,1,1);")
+ testbase.db.execute(project_t.insert(), {'id':1})
+ testbase.db.execute(task_status_t.insert(), {'id':1})
+ testbase.db.execute(task_type_t.insert(), {'id':1})
+ testbase.db.execute(task_t.insert(), {'title':'task 1', 'task_type_id':1, 'status_id':1, 'prj_id':1})
def test_nested_joins(self):
# this is testing some subtle column resolution stuff,
]
if db.engine.name == 'mssql':
- # MSSQL Datetime values have only a 3.33 milliseconds precision
- insert_data[2] = [9, 'foo', datetime.datetime(2005, 11, 10, 11, 52, 35, 547000), datetime.date(1970,4,1), datetime.time(23,59,59,997000)]
+ # MSSQL can't reliably fetch the millisecond part
+ insert_data[2] = [9, 'foo', datetime.datetime(2005, 11, 10, 11, 52, 35), datetime.date(1970,4,1), datetime.time(23,59,59)]
fnames = ['user_id', 'user_name', 'user_datetime', 'user_date', 'user_time']
ctx = self.ctx
statement = unicode(ctx.compiled)
statement = re.sub(r'\n', '', ctx.statement)
+ if config.db.name == 'mssql' and statement.endswith('; select scope_identity()'):
+ statement = statement[:-25]
if testdata.buffer is not None:
testdata.buffer.write(statement + "\n")
parameters = [p.get_original_dict() for p in ctx.compiled_parameters]
query = self.convert_statement(query)
- if config.db.name == 'mssql' and statement.endswith('; select scope_identity()'):
- statement = statement[:-25]
testdata.unittest.assert_(statement == query and (params is None or params == parameters), "Testing for query '%s' params %s, received '%s' with params %s" % (query, repr(params), statement, repr(parameters)))
testdata.sql_count += 1
self.ctx.post_execution()