Esempio n. 1
0
 def kafka_test(self, mocker):
     kafka_test = KafkaTest()
     self.producer_stub = mocker.stub()
     self.producer_stub.send = mocker.stub()
     self.consumer_stub = mocker.stub()
     self.consumer_stub.poll = poll
     kafka_test.configure_producer('topic', self.producer_stub)
     kafka_test.configure_consumer(self.consumer_stub)
     return kafka_test
Esempio n. 2
0
    def test_password_reset_token_works(self, test_user, client, mocker):
        emails.send_email = mocker.stub()

        response = client.post(
            auth_url_prefix + "/request_password_reset",
            data=dict(email=test_user.email),
            follow_redirects=True,
        )

        emails.send_email.assert_called_once()
        email_body = emails.send_email.call_args[1]["body"]
        address_with_token = email_body.split("localhost")[1].split(" >")[0]
        print(email_body.split("localhost")[1])

        new_password = "******"
        assert test_user.check_password(new_password) is False

        client.get(address_with_token, follow_redirects=True)
        response = client.post(
            address_with_token,
            data=dict(password=new_password, password_repeat=new_password),
            follow_redirects=True,
        )

        assert test_user.check_password(new_password) is True
Esempio n. 3
0
    def test_next_session(self, several_users, test_session, mocker):
        admin.broadcast_session_update = mocker.stub()
        assert len(clubsessions.read_all()) == 1

        admin.schedule_next_session_via_api(TestingConfig.ADMIN_KEY)

        assert len(clubsessions.read_all()) == 2
Esempio n. 4
0
    def test_delete_session(self, test_session, mocker):
        admin.broadcast_session_update = mocker.stub()
        session_id = test_session.session_id

        admin.delete_session(session_id)

        assert clubsessions.get_by_id(session_id) is None
Esempio n. 5
0
    def test_send_sessions(self, test_user, test_session, mocker):
        routes.current_user = test_user
        routes.emit = mocker.stub()

        routes.send_sessions()

        routes.emit.assert_called_once()
Esempio n. 6
0
    def test_update_existing_user(self, test_user, mocker):
        new_offset = 999
        data = {
            "email": test_user.email,
            "eaten_offset": new_offset,
            "send_welcome_email": False,
        }
        admin.broadcast_session_update = mocker.stub()
        admin.send_email = mocker.stub()

        admin.create_or_update_user(data)

        admin.broadcast_session_update.assert_called_once()
        admin.send_email.assert_not_called()
        updated_user = users.get_user_by_email(test_user.email)
        assert updated_user.eaten_offset == new_offset
Esempio n. 7
0
    def test_create_user(self, mocker):
        data = {
            "username": "******",
            "email": "*****@*****.**",
            "eaten_offset": 1,
            "send_welcome_email": False,
        }
        admin.broadcast_session_update = mocker.stub()
        admin.send_email = mocker.stub()

        admin.create_or_update_user(data)

        admin.broadcast_session_update.assert_called_once()
        admin.send_email.assert_not_called()
        new_user = users.get_user_by_email(data["email"])
        assert new_user.username == data["username"]
Esempio n. 8
0
    def test_leave(self, test_user, test_session, mocker):
        routes.broadcast_session_update = mocker.stub()

        routes.current_user = test_user
        routes.leave_session(test_session.session_id)

        assert test_user not in test_session.participants
        routes.broadcast_session_update.assert_called_once()
Esempio n. 9
0
    def test_bake_reminder_needs_token(self, client, mocker):
        reminders.send_email = mocker.stub()

        token = "bad_key"
        response = client.get(f"/api/bakereminder/{token}")

        assert response.data == b"authorization invalid"
        reminders.send_email.assert_not_called()
Esempio n. 10
0
 def test_assert_next_sends_and_receive_times_out_exception(
         self, kafka_test, mocker):
     self.consumer_stub.poll = mocker.stub()
     self.consumer_stub.poll.return_value = {"tp": []}
     with pytest.raises(Exception, match="Failed to consume message"):
         kafka_test.configure_consumer(self.consumer_stub)
         kafka_test.send_and_assert("key", "test_message",
                                    "test_message_transformed")
         self.producer_stub.send.assert_called_once()
Esempio n. 11
0
    def test_create_session(self, several_users, mocker):
        data = {"date": "3020-02-01"}
        admin.broadcast_session_update = mocker.stub(name="broadcast")
        admin.create_session(data)

        admin.broadcast_session_update.assert_called_once()

        all_sessions = clubsessions.read_all()
        assert data["date"] in [session["date"] for session in all_sessions]
Esempio n. 12
0
    def test_session_reminder_deletes_if_no_bakers(self, test_session, client, mocker):
        reminders.send_email = mocker.stub()
        session_id = test_session.session_id

        token = TestingConfig.ADMIN_KEY
        response = client.get(f"/api/sessionreminder/{token}")

        assert clubsessions.get_by_id(session_id) is None
        reminders.send_email.assert_not_called()
Esempio n. 13
0
    def test_force_baker(self, test_session, test_user, mocker):
        admin.broadcast_session_update = mocker.stub()
        assert test_user not in test_session.bakers

        data = {
            "baker_id": test_user.user_id,
            "session_id": test_session.session_id
        }
        admin.force_baker(data)

        assert test_user in test_session.bakers
Esempio n. 14
0
    def test_token_email(self, test_user, mocker, client):
        emails.send_email = mocker.stub()

        response = client.post(
            auth_url_prefix + "/request_password_reset",
            data=dict(email=test_user.email),
            follow_redirects=True,
        )

        emails.send_email.assert_called_once()
        assert b"We sent you an email to reset your password!" in response.data
Esempio n. 15
0
    def test_become_baker(self, test_session, test_user, mocker):
        routes.broadcast_session_update = mocker.stub()

        assert test_user not in test_session.bakers

        routes.current_user = test_user
        routes.become_baker(test_session.session_id)

        assert test_user in test_session.bakers
        assert test_user in test_session.participants
        routes.broadcast_session_update.assert_called_once()
Esempio n. 16
0
    def test_session_reminder(self, test_user, test_session, client, mocker):
        test_session.bakers.append(test_user)

        reminders.send_email = mocker.stub()
        email_spy = mocker.spy(reminders, "send_session_reminder_email")

        token = TestingConfig.ADMIN_KEY
        response = client.get(f"/api/sessionreminder/{token}")

        assert "1" in str(response.data)
        email_spy.assert_called_once()
        reminders.send_email.assert_called_once()
Esempio n. 17
0
    def test_bake_reminder(self, several_users, client, mocker):
        upcoming_date = datetime.date.today() + datetime.timedelta(days=3)
        clubsessions.create(date=upcoming_date)

        reminders.send_email = mocker.stub()
        email_spy = mocker.spy(reminders, "send_bake_reminder_email")

        token = TestingConfig.ADMIN_KEY
        response = client.get(f"/api/bakereminder/{token}")

        assert "1" in str(response.data)
        email_spy.assert_called_once()
        reminders.send_email.assert_called_once()
Esempio n. 18
0
    def test_wc2013_all(self, mocker):
        callback = mocker.stub(name='game detected fn')
        self.parser.setGameFinishedCallback(callback)
        self.parser.parse(
            self.lexer.tokenize("""
[Event "WCh 2013"]
[Round "1"]

1. d4 Nf6 2. c4 e6 1/2-1/2

[Event "WCh 2013"]
[Round "2"]

1. d4 Nf6 2. c4 e6 1/2-1/2
"""))
        assert (2 == callback.call_count)
Esempio n. 19
0
 def test_callback_object(self, mocker):
     callback = mocker.stub(name='callback fn')
     self.parser.setMovementDetectedCallback(callback)
     self.parser.parse(self.lexer.tokenize('1. e4'))
     assert (1 == callback.call_count)
Esempio n. 20
0
 def test_callback(self, mocker):
     callback = mocker.stub(name='callback fn')
     self.parser.setMovementDetectedCallback(callback)
     self.parser.parse(self.lexer.tokenize('1. e4 e5 2. Nc3 B3a1 3. a3'))
     assert (5 == callback.call_count)
Esempio n. 21
0
    def test_remove_bakers(self, several_users, test_session, mocker):
        admin.broadcast_session_update = mocker.stub()

        admin.remove_bakers(test_session.session_id)

        assert len(test_session.bakers.all()) == 0
Esempio n. 22
0
 def test_cannot_create_past_session(self, several_users, mocker):
     data = {"date": "2020-02-01"}
     admin.broadcast_session_update = mocker.stub(name="broadcast")
     with pytest.raises(admin.InvalidDateError):
         admin.create_session(data)