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)
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()
def testFirst(self): users = Users() self.assertEqual(users.first(), None) entity = users.new() users.add(entity, persist=False) self.assertEqual(users.first(), entity)
import dbsetup from models.users import Users from models.applications import Applications from models.subscriptions import Subscriptions db = dbsetup.get_db() users = Users(db) apps = Applications(db) subs = Subscriptions(db) try: boss_id = users.add("*****@*****.**", "bosspass", name="Pointy Haired Boss") except KeyError: boss = users.get("*****@*****.**", "bosspass") boss_id = boss.id try: user_id = users.add("*****@*****.**", "secretpass", name="Bob the Customer") except KeyError: user = users.get('*****@*****.**', 'secretpass') user_id = user.id app_id = apps.add( name="WidgetBuilder", owner_id=boss_id, scopes=["basic", "admin"], redirect_uris=["https://app.local:8080/public", "https://app.local:8080/private", "https://app.local:8080/login"]) subs.add(app_id=app_id, user_id=user_id,