def testAdd(self): users = Users() before_count = len(users.all()) self.assertTrue(users.add(users.new(), persist=False)) after_count = len(users.all()) self.assertGreater(after_count, before_count) self.assertEqual(before_count + 1, after_count)
def testInit(self): users = Users() self.assertIsInstance(users, ModelCollection) self.assertGreater(users._items, 0) self.assertIsInstance(users.all(), list) for i in users.all(): self.assertIsInstance(i, User)
class User(Controller): _users = None def __init__(self): super(User, self).__init__() self._users = Users() def get(self, id): self._permissions.signed() data = self._users.get(id) if "password" in data: del data["password"] return data def add(self, data): self._permissions.signed() return self._users.add(data) def edit(self, id, data): self._permissions.signed() return self._users.edit(id, data) def delete(self, id): self._permissions.signed() return self._users.delete(id) def all(self, filter): self._permissions.signed() data = self._users.all(filter) for item in data: if "password" in item: del item["password"] return data def current(self): return self._users.check(session.get("email"), session.get("password")) def signin(self, data): user = self._users.check(data.get("email"), data.get("password")) if "email" in user and "password" in user: session["email"] = user["email"] session["password"] = user["password"] return self.current() def signout(self): session.pop('email', None) session.pop('password', None) return self.current()