def test_logout(request): db = mock.Mock() user = mod.User(username='******', db=db) user.logout() request.session.delete.assert_called_once_with() request.session.delete.return_value.reset.assert_called_once_with() assert isinstance(request.user, mod.User) assert request.user.is_authenticated is False
def test_is_superuser(): db = mock.Mock() group1 = mock.Mock() group1.has_superpowers = False group2 = mock.Mock() group2.has_superpowers = False supergroup = mock.Mock() supergroup.has_superpowers = True user = mod.User(db=db) user.groups = [group1, group2] assert user.is_superuser is False user.groups = [group1, supergroup, group2] assert user.is_superuser is True
def test_to_json(json, Options): db = mock.Mock() user = mod.User(username='******', db=db) group1 = mock.Mock() group1.name = 'grp1' group2 = mock.Mock() group2.name = 'grp2' user.groups = [group1, group2] user.options = Options() assert user.to_json() == json.dumps.return_value data = dict(username=user.username, password=user.password, reset_token=user.reset_token, created=user.created, options=user.options.to_native.return_value, groups='grp1,grp2') json.dumps.assert_called_once_with(data, cls=mod.DateTimeEncoder)
def test___init__(from_name, Options): db = mock.Mock() user = mod.User(username='******', password='******', reset_token='reset_token', created='created', options='options', groups='a,b,c', db=db) Options.assert_called_once_with('options', onchange=user.save) from_name.assert_has_calls( [mock.call('a', db=db), mock.call('b', db=db), mock.call('c', db=db)]) assert user.username == 'username' assert user.password == 'password' assert user.reset_token == 'reset_token' assert user.created == 'created' assert user.options == Options.return_value assert user.groups == [from_name.return_value] * 3 assert user.db == db
def test_save(Options): db = mock.Mock() user = mod.User(username='******', db=db) group1 = mock.Mock() group1.name = 'grp1' group2 = mock.Mock() group2.name = 'grp2' user.groups = [group1, group2] user.options = Options() user.save() db.Replace.assert_called_once_with('users', cols=('username', 'password', 'reset_token', 'created', 'options', 'groups')) db.query.assert_called_once_with(db.Replace.return_value, username=user.username, password=user.password, reset_token=user.reset_token, created=user.created, options=user.options.to_json.return_value, groups='grp1,grp2')
def test_is_authenticated(): db = mock.Mock() user = mod.User(db=db) assert user.is_authenticated is False user = mod.User(username='******', db=db) assert user.is_authenticated is True