예제 #1
0
    def test_insert_multi_user(self):
        # 登录user1插入一些数据
        self.register('*****@*****.**')
        model = sh.model(test_model)
        new_id = self.proxyDo(model.insert, dict(title='a1'))
        new_id = self.proxyDo(model.insert, dict(title='a2'))
        item_a1 = self.proxyDo(model.get, new_id)

        # 登录user2插入一些数据
        self.register('*****@*****.**')
        new_id = self.proxyDo(model.insert, dict(title='b1'))
        new_id = self.proxyDo(model.insert, dict(title='b2'))

        # 登录user1, 再次插入一个数据
        self.login('*****@*****.**')
        new_id = self.proxyDo(model.insert, dict(title='a3'))
        # user1插入的数据的id是连贯的(不会受到其他用户的影响)
        item_a2 = self.proxyDo(model.get, new_id)
        self.assertEqual(item_a1.id + 1, item_a2.id)
        # getCount不包含user2的数据
        self.assertEqual(self.proxyDo(model.getCount), 3)
        # 通过item.id更新数据, 效果等同于使用new_id
        self.proxyDo(model.update, item_a2.id, dict(title='a3`'))
        self.assertEqual(self.proxyDo(model.get, new_id).title, 'a3`')
        # 使用getOneByWhere不需要显示指出Userid
        curr_user_id = self.getUserid()
        item_a3 = sh.proxyDo(curr_user_id, model.getOneByWhere, 'title=%s',
                             ['a3`'])
        self.assertEqual(item_a3.id, new_id)

        # 用id删除user1的所有数据
        for i in self.proxyDo(model.all):
            self.proxyDo(model.delete, i.id)
        self.assertEqual(len(self.proxyDo(model.all)), 0)

        # 登录user2, 所有数据均在
        self.login('*****@*****.**')
        self.assertEqual(len(self.proxyDo(model.all)), 2)
예제 #2
0
파일: TestPrivate.py 프로젝트: ajiexw/note
    def test_insert_multi_user(self):
        # 登录user1插入一些数据
        self.register('*****@*****.**')
        model = sh.model(test_model)
        new_id = self.proxyDo(model.insert, dict(title='a1'))
        new_id = self.proxyDo(model.insert, dict(title='a2'))
        item_a1 = self.proxyDo(model.get, new_id)

        # 登录user2插入一些数据
        self.register('*****@*****.**')
        new_id = self.proxyDo(model.insert, dict(title='b1'))
        new_id = self.proxyDo(model.insert, dict(title='b2'))

        # 登录user1, 再次插入一个数据
        self.login('*****@*****.**')
        new_id = self.proxyDo(model.insert, dict(title='a3'))
        # user1插入的数据的id是连贯的(不会受到其他用户的影响)
        item_a2 = self.proxyDo(model.get, new_id)
        self.assertEqual(item_a1.id + 1, item_a2.id)
        # getCount不包含user2的数据
        self.assertEqual(self.proxyDo(model.getCount), 3)
        # 通过item.id更新数据, 效果等同于使用new_id
        self.proxyDo(model.update, item_a2.id, dict(title='a3`'))
        self.assertEqual(self.proxyDo(model.get, new_id).title, 'a3`')
        # 使用getOneByWhere不需要显示指出Userid
        curr_user_id = self.getUserid()
        item_a3 = sh.proxyDo(curr_user_id, model.getOneByWhere, 'title=%s', ['a3`'])
        self.assertEqual(item_a3.id, new_id)

        # 用id删除user1的所有数据
        for i in self.proxyDo(model.all):
            self.proxyDo(model.delete, i.id)
        self.assertEqual(len(self.proxyDo(model.all)), 0)

        # 登录user2, 所有数据均在
        self.login('*****@*****.**')
        self.assertEqual(len(self.proxyDo(model.all)), 2)
예제 #3
0
파일: AppTest.py 프로젝트: ajiexw/note
 def proxyDo(self, func, *params):
     curr_user_id = self.getUserid()
     assert curr_user_id, u'请先登录'
     return sh.proxyDo(curr_user_id, func, *params)
예제 #4
0
파일: AppTest.py 프로젝트: lrbnew/zarkpy
 def proxyDo(self, func, *params):
     curr_user_id = self.getUserid()
     assert curr_user_id, u'请先登录'
     return sh.proxyDo(curr_user_id, func, *params)