def thing_setup(): from nagi.thing.job import JobThing from nagi.thing.base import LeaderboardThing, EntryThingTrait, BaseEntryThing from nagi.thing.bucket import BucketEntryThing from nagi.thing.block import BlockEntryThing from nagi.thing.chunk import ChunkEntryThing _things['job'] = JobThing() _things['leaderboard'] = LeaderboardThing() _things['entry'] = EntryThingTrait() _entrythings['base'] = BaseEntryThing() _entrythings['bucket'] = BucketEntryThing() _entrythings['block'] = BlockEntryThing() _entrythings['chunk'] = ChunkEntryThing()
def setUp(self): data.up(lid=2) self.e = EntryThingTrait()
class EntryThingTraitTest(unittest.TestCase): def setUp(self): data.up(lid=2) self.e = EntryThingTrait() def tearDown(self): data.down(lid=2) def test_find(self): e = self.e.find(2, 11) self.assertEquals((e.entry_id, e.score, e.rank), (11, 29, None)) self.assertEqual({'user': '******'}, e.data) # not exists self.assertEqual(self.e.find(2, 10000), None) self.assertEqual(self.e.find(301, 10000), None) def test_find_by_score(self): es = self.e.find_by_score(2, 29) self.assertEqual(len(es), 3) es = self.e.find_by_score(2, 33) self.assertEqual(len(es), 1) e = es[0] self.assertEquals((e.entry_id, e.score, e.rank), (1, 33, None)) def test_find_by_entry_ids(self): es = self.e.find_by_entry_ids(2, [11, 13]) self.assertEquals((es[0].entry_id, es[0].score, es[0].rank), (11, 29, None)) self.assertEquals((es[1].entry_id, es[1].score, es[1].rank), (13, 29, None)) def test_save(self): # on dup and update entry = Entry(1, 2, 34) self.e.save(entry) e = self.e.find(2, 1) self.assertEqual(entry.score, e.score) # insert a new entry new_entry = Entry(101, 2, 34) self.e.save(new_entry) e = self.e.find(2, 101) self.assertEquals((e.entry_id, e.score), (new_entry.entry_id, e.score)) def test_delete(self): self.e.delete(2, 1) entry = self.e.find(2, 1) self.assertEqual(entry, None) def test_total(self): total = self.e.total(2) self.assertEqual(100, total)
class EntryThingTraitTest(unittest.TestCase): def setUp(self): data.up(lid=2) self.e = EntryThingTrait() def tearDown(self): data.down(lid=2) def test_find(self): e = self.e.find(2, 11) self.assertEquals((e.entry_id, e.score, e.rank), (11, 29, None)) self.assertEqual({"user": "******"}, e.data) # not exists self.assertEqual(self.e.find(2, 10000), None) self.assertEqual(self.e.find(301, 10000), None) def test_find_by_score(self): es = self.e.find_by_score(2, 29) self.assertEqual(len(es), 3) es = self.e.find_by_score(2, 33) self.assertEqual(len(es), 1) e = es[0] self.assertEquals((e.entry_id, e.score, e.rank), (1, 33, None)) def test_find_by_entry_ids(self): es = self.e.find_by_entry_ids(2, [11, 13]) self.assertEquals((es[0].entry_id, es[0].score, es[0].rank), (11, 29, None)) self.assertEquals((es[1].entry_id, es[1].score, es[1].rank), (13, 29, None)) def test_save(self): # on dup and update entry = Entry(1, 2, 34) self.e.save(entry) e = self.e.find(2, 1) self.assertEqual(entry.score, e.score) # insert a new entry new_entry = Entry(101, 2, 34) self.e.save(new_entry) e = self.e.find(2, 101) self.assertEquals((e.entry_id, e.score), (new_entry.entry_id, e.score)) def test_delete(self): self.e.delete(2, 1) entry = self.e.find(2, 1) self.assertEqual(entry, None) def test_total(self): total = self.e.total(2) self.assertEqual(100, total)