def test_data_state_string(self):
        check_map = {
            UserData.JOIN_STATE_WAITING: 'waiting',
            UserData.JOIN_STATE_ALLOWED: 'allowed',
            UserData.JOIN_STATE_BLOCKED: 'blocked'
        }

        for state, representation in check_map.items():
            data = UserData()
            data.join_state = state
            self.assertIn(representation, data.state_string().lower())
Ejemplo n.º 2
0
    def _block_user(self, user_id):
        userdata = user_id.user_data

        if userdata is None:
            userdata = UserData()
            user_id.user_data = userdata

        userdata.join_state = UserData.JOIN_STATE_BLOCKED
        self._user_manager.update(user_id)
        message = self._auth_handler.on_host_deny(user_id)

        return build_answer('User denied.', message)
    def test_may_join_blocked_user(self):
        data = UserData()
        data.max_num_joins = 1
        data.num_joins = 2
        valid_time = time.time() - 10000
        data.valid_until = valid_time
        data.join_state = UserData.JOIN_STATE_BLOCKED
        mgr, testuser = self._get_mgr_with_one_user_and_data(data)

        result = mgr.may_join(testuser)

        self.assert_state_blocked(result)
        # attributes should be unchanged
        self.assertEqual(data.max_num_joins, 1)
        self.assertEqual(data.num_joins, 2)
        self.assertEqual(data.valid_until, valid_time)