📄 base.py
字号:
link and (link.bar_id, link.foo_id)) for (bar, link) in result] self.assertEquals(lst, [ ((100, u"Title 300"), (100, 10)), ((100, u"Title 300"), (100, 20)), (None, None), ((300, u"Title 100"), (300, 10)), ((300, u"Title 100"), (300, 30)), ]) def test_find_tuple_any(self): bar = self.store.get(Bar, 200) bar.foo_id = None result = self.store.find((Foo, Bar), Bar.foo_id == Foo.id) foo, bar = result.order_by(Foo.id).any() self.assertEquals(foo.id, 10) self.assertEquals(foo.title, u"Title 30") self.assertEquals(bar.id, 100) self.assertEquals(bar.title, u"Title 300") def test_find_tuple_first(self): bar = self.store.get(Bar, 200) bar.foo_id = None result = self.store.find((Foo, Bar), Bar.foo_id == Foo.id) foo, bar = result.order_by(Foo.id).first() self.assertEquals(foo.id, 10) self.assertEquals(foo.title, u"Title 30") self.assertEquals(bar.id, 100) self.assertEquals(bar.title, u"Title 300") def test_find_tuple_last(self): bar = self.store.get(Bar, 200) bar.foo_id = None result = self.store.find((Foo, Bar), Bar.foo_id == Foo.id) foo, bar = result.order_by(Foo.id).last() self.assertEquals(foo.id, 30) self.assertEquals(foo.title, u"Title 10") self.assertEquals(bar.id, 300) self.assertEquals(bar.title, u"Title 100") def test_find_tuple_first(self): bar = self.store.get(Bar, 200) bar.foo_id = None result = self.store.find((Foo, Bar), Bar.foo_id == Foo.id, Foo.id == 10) foo, bar = result.order_by(Foo.id).one() self.assertEquals(foo.id, 10) self.assertEquals(foo.title, u"Title 30") self.assertEquals(bar.id, 100) self.assertEquals(bar.title, u"Title 300") def test_find_tuple_count(self): bar = self.store.get(Bar, 200) bar.foo_id = None result = self.store.find((Foo, Bar), Bar.foo_id == Foo.id) self.assertEquals(result.count(), 2) def test_find_tuple_remove(self): result = self.store.find((Foo, Bar)) self.assertRaises(FeatureError, result.remove) def test_find_tuple_set(self): result = self.store.find((Foo, Bar)) self.assertRaises(FeatureError, result.set, title=u"Title 40") def test_find_tuple_kwargs(self): self.assertRaises(FeatureError, self.store.find, (Foo, Bar), title=u"Title 10") def test_find_tuple_cached(self): result = self.store.find((Foo, Bar)) self.assertRaises(FeatureError, result.cached) def test_find_using_cached(self): result = self.store.using(Foo, Bar).find(Foo) self.assertRaises(FeatureError, result.cached) def test_add_commit(self): foo = Foo() foo.id = 40 foo.title = u"Title 40" self.store.add(foo) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.store.commit() self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), (40, "Title 40"), ]) def test_add_rollback_commit(self): foo = Foo() foo.id = 40 foo.title = u"Title 40" self.store.add(foo) self.store.rollback() self.assertEquals(self.store.get(Foo, 3), None) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.store.commit() self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) def test_add_get(self): foo = Foo() foo.id = 40 foo.title = u"Title 40" self.store.add(foo) old_foo = foo foo = self.store.get(Foo, 40) self.assertEquals(foo.id, 40) self.assertEquals(foo.title, "Title 40") self.assertTrue(foo is old_foo) def test_add_find(self): foo = Foo() foo.id = 40 foo.title = u"Title 40" self.store.add(foo) old_foo = foo foo = self.store.find(Foo, Foo.id == 40).one() self.assertEquals(foo.id, 40) self.assertEquals(foo.title, "Title 40") self.assertTrue(foo is old_foo) def test_add_twice(self): foo = Foo() self.store.add(foo) self.store.add(foo) self.assertEquals(Store.of(foo), self.store) def test_add_loaded(self): foo = self.store.get(Foo, 10) self.store.add(foo) self.assertEquals(Store.of(foo), self.store) def test_add_twice_to_wrong_store(self): foo = Foo() self.store.add(foo) self.assertRaises(WrongStoreError, Store(self.database).add, foo) def test_add_checkpoints(self): bar = Bar() self.store.add(bar) bar.id = 400 bar.title = u"Title 400" bar.foo_id = 40 self.store.flush() self.store.execute("UPDATE bar SET title='Title 500' " "WHERE id=400") bar.foo_id = 400 # When not checkpointing, this flush will set title again. self.store.flush() self.store.reload(bar) self.assertEquals(bar.title, "Title 500") def test_remove_commit(self): foo = self.store.get(Foo, 20) self.store.remove(foo) self.assertEquals(Store.of(foo), self.store) self.store.flush() self.assertEquals(Store.of(foo), None) self.assertEquals(self.get_items(), [ (10, "Title 30"), (30, "Title 10"), ]) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.store.commit() self.assertEquals(Store.of(foo), None) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (30, "Title 10"), ]) def test_remove_rollback_update(self): foo = self.store.get(Foo, 20) self.store.remove(foo) self.store.rollback() foo.title = u"Title 200" self.store.flush() self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) def test_remove_flush_rollback_update(self): foo = self.store.get(Foo, 20) self.store.remove(foo) self.store.flush() self.store.rollback() foo.title = u"Title 200" self.store.flush() self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) def test_remove_add_update(self): foo = self.store.get(Foo, 20) self.store.remove(foo) self.store.add(foo) foo.title = u"Title 200" self.store.flush() self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) def test_remove_flush_add_update(self): foo = self.store.get(Foo, 20) self.store.remove(foo) self.store.flush() self.store.add(foo) foo.title = u"Title 200" self.store.flush() self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) def test_remove_twice(self): foo = self.store.get(Foo, 10) self.store.remove(foo) self.store.remove(foo) def test_remove_unknown(self): foo = Foo() self.assertRaises(WrongStoreError, self.store.remove, foo) def test_remove_from_wrong_store(self): foo = self.store.get(Foo, 20) self.assertRaises(WrongStoreError, Store(self.database).remove, foo) def test_wb_remove_flush_update_isnt_dirty(self): foo = self.store.get(Foo, 20) obj_info = get_obj_info(foo) self.store.remove(foo) self.store.flush() foo.title = u"Title 200" self.assertTrue(obj_info not in self.store._dirty) def test_wb_remove_rollback_isnt_dirty(self): foo = self.store.get(Foo, 20) obj_info = get_obj_info(foo) self.store.remove(foo) self.store.rollback() self.assertTrue(obj_info not in self.store._dirty) def test_wb_remove_flush_rollback_isnt_dirty(self): foo = self.store.get(Foo, 20) obj_info = get_obj_info(foo) self.store.remove(foo) self.store.flush() self.store.rollback() self.assertTrue(obj_info not in self.store._dirty) def test_add_rollback_not_in_store(self): foo = Foo() foo.id = 40 foo.title = u"Title 40" self.store.add(foo) self.store.rollback() self.assertEquals(Store.of(foo), None) def test_update_flush_commit(self): foo = self.store.get(Foo, 20) foo.title = u"Title 200" self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.store.flush() self.assertEquals(self.get_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 20"), (30, "Title 10"), ]) self.store.commit() self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) def test_update_flush_reload_rollback(self): foo = self.store.get(Foo, 20) foo.title = u"Title 200" self.store.flush() self.store.reload(foo) self.store.rollback() self.assertEquals(foo.title, "Title 20") def test_update_commit(self): foo = self.store.get(Foo, 20) foo.title = u"Title 200" self.store.commit() self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 200"), (30, "Title 10"), ]) def test_update_commit_twice(self): foo = self.store.get(Foo, 20) foo.title = u"Title 200" self.store.commit() foo.title = u"Title 2000" self.store.commit() self.assertEquals(self.get_committed_items(), [ (10, "Title 30"), (20, "Title 2000"), (30, "Title 10"), ])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -