def test_with_valid_password(self, monkeypatch): principals = pretend.stub() authenticate = pretend.call_recorder( lambda userid, request: principals ) monkeypatch.setattr(accounts, "_authenticate", authenticate) userid = pretend.stub() service = pretend.stub( find_userid=pretend.call_recorder(lambda username: userid), check_password=pretend.call_recorder( lambda userid, password: True ), update_user=pretend.call_recorder(lambda userid, last_login: None), ) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service), ) now = datetime.datetime.utcnow() with freezegun.freeze_time(now): assert accounts._login("myuser", "mypass", request) is principals assert request.find_service.calls == [ pretend.call(IUserService, context=None), ] assert service.find_userid.calls == [pretend.call("myuser")] assert service.check_password.calls == [pretend.call(userid, "mypass")] assert service.update_user.calls == [ pretend.call(userid, last_login=now), ] assert authenticate.calls == [pretend.call(userid, request)]
def test_with_valid_password(self, monkeypatch): principals = pretend.stub() authenticate = pretend.call_recorder( lambda userid, request: principals ) monkeypatch.setattr(accounts, "_authenticate", authenticate) userid = pretend.stub() service = pretend.stub( find_userid=pretend.call_recorder(lambda username: userid), check_password=pretend.call_recorder( lambda userid, password: True ), ) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service), ) assert accounts._login("myuser", "mypass", request) is principals assert request.find_service.calls == [ pretend.call(IUserService, context=None), ] assert service.find_userid.calls == [pretend.call("myuser")] assert service.check_password.calls == [pretend.call(userid, "mypass")] assert authenticate.calls == [pretend.call(userid, request)]
def test_with_no_user(self): service = pretend.stub(find_userid=pretend.call_recorder(lambda username: None)) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service) ) assert accounts._login("myuser", "mypass", request) is None assert request.find_service.calls == [pretend.call(IUserService, context=None)] assert service.find_userid.calls == [pretend.call("myuser")]
def test_with_no_user(self): service = pretend.stub( find_userid=pretend.call_recorder(lambda username: None), ) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service), ) assert accounts._login("myuser", "mypass", request) is None assert request.find_service.calls == [ pretend.call(IUserService, context=None), ] assert service.find_userid.calls == [pretend.call("myuser")]
def test_with_invalid_password(self): userid = pretend.stub() service = pretend.stub( find_userid=pretend.call_recorder(lambda username: userid), check_password=pretend.call_recorder(lambda userid, password: False), ) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service) ) assert accounts._login("myuser", "mypass", request) is None assert request.find_service.calls == [pretend.call(IUserService, context=None)] assert service.find_userid.calls == [pretend.call("myuser")] assert service.check_password.calls == [pretend.call(userid, "mypass")]
def test_with_invalid_password(self): userid = pretend.stub() service = pretend.stub( find_userid=pretend.call_recorder(lambda username: userid), check_password=pretend.call_recorder( lambda userid, password: False ), ) request = pretend.stub( find_service=pretend.call_recorder(lambda iface, context: service), ) assert accounts._login("myuser", "mypass", request) is None assert request.find_service.calls == [ pretend.call(IUserService, context=None), ] assert service.find_userid.calls == [pretend.call("myuser")] assert service.check_password.calls == [pretend.call(userid, "mypass")]
def test_with_valid_password(self, monkeypatch): principals = pretend.stub() authenticate = pretend.call_recorder( lambda userid, request: principals) monkeypatch.setattr(accounts, "_authenticate", authenticate) userid = pretend.stub() service = pretend.stub( find_userid=pretend.call_recorder(lambda username: userid), check_password=pretend.call_recorder( lambda userid, password: True), ) request = pretend.stub(find_service=pretend.call_recorder( lambda iface, context: service), ) assert accounts._login("myuser", "mypass", request) is principals assert request.find_service.calls == [ pretend.call(ILoginService, context=None), ] assert service.find_userid.calls == [pretend.call("myuser")] assert service.check_password.calls == [pretend.call(userid, "mypass")] assert authenticate.calls == [pretend.call(userid, request)]