示例#1
0
    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)]
示例#2
0
    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)]
示例#3
0
 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")]
示例#4
0
 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")]
示例#5
0
 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")]
示例#6
0
 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")]
示例#7
0
    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)]