コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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)
コード例 #4
0
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
コード例 #5
0
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')
コード例 #6
0
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