def test_select_by_id_more_than_one_row(self): conn = connect() Foo2 = Table("foo", AutoIdCol("i1"), IntCol("foo_id")) try: conn.select_by_id(Foo2, 101) except AssertionError, e: msg, info = get_assert_tuple_args(e) self.assertEquals("select_one(): more than 1 row", msg) table_name, sqlcond = info #table_name, sqlcond, rc = info self.assertEquals("foo", table_name) self.assertEquals('"i1 = 101"', repr(sqlcond))
def test_delete_by_id_more_than_one_row(self): conn = connect() foo1 = Foo.new(foo_id=1, i1=101) foo2 = Foo.new(foo_id=2, i1=101) conn.insert(Foo, foo1) conn.insert(Foo, foo2) Foo2 = Table("foo", AutoIdCol("i1"), IntCol("foo_id")) try: conn.delete_by_id(Foo2, 101) except AssertionError, e: expected = "delete_by_id(): more than 1 row deleted", ("foo", "i1", 101, 2) self.assertEquals(expected, get_assert_tuple_args(e))
def test_update_by_id_more_than_one_row(self): conn = connect() foo1 = Foo.new(foo_id=1, i1=101) foo2 = Foo.new(foo_id=2, i1=101) conn.insert(Foo, foo1) conn.insert(Foo, foo2) Foo2 = Table("foo", AutoIdCol("i1"), UnicodeCol("s1", 10)) try: foo3 = Foo2.new(i1=101, s1="xyz") conn.update_by_id(Foo2, foo3) except AssertionError, e: expected = "update_by_id(): more than 1 row updated", ("foo", "i1", 101, 2) self.assertEquals(expected, get_assert_tuple_args(e))
def test(self): conn = connect() foo1 = Foo.new(foo_id=1, i1=101, s1="xyz") foo2 = Foo.new(foo_id=2, s1="xyz") conn.insert(Foo, foo1) conn.insert(Foo, foo2) # no rows row = conn.select_one(Foo, AND(Foo.q.foo_id == 2, Foo.q.s1 == "abc")) self.assertEquals(None, row) # one row row = conn.select_one(Foo, Foo.q.i1 == 101) self.assertEquals(foo1, row) # more than one row try: conn.select_one(Foo, Foo.q.s1 == "xyz") except AssertionError, e: msg, info = get_assert_tuple_args(e) self.assertEquals("select_one(): more than 1 row", msg) table_name, sqlcond = info #table_name, sqlcond, rc = info self.assertEquals("foo", table_name) self.assertEquals('"s1 = \'xyz\'"', repr(sqlcond))