Esempio n. 1
0
    def inject_connect_button(self, template, event_vc_room, **kwargs):  # pragma: no cover
        from indico_ravem.util import has_access
        if event_vc_room.vc_room.type != 'vidyo' or not has_access(event_vc_room):
            return

        return render_plugin_template(template, room_name=event_vc_room.link_object.room.name,
                                      event_vc_room=event_vc_room, **kwargs)
Esempio n. 2
0
def test_unlinked_room_has_no_access(mocker):
    session = mocker.patch('indico_ravem.util.session')
    session.user = '******'

    event_vc_room = MagicMock()
    event_vc_room.link_object.room = None

    assert not has_access(event_vc_room)
Esempio n. 3
0
def test_room_not_vidyo_capable_has_no_access(mocker):
    session = mocker.patch('indico_ravem.util.session')
    session.user = '******'

    event_vc_room = MagicMock()
    event_vc_room.link_object.room.has_equipment = MagicMock(return_value=False)

    assert not has_access(event_vc_room)

    event_vc_room.link_object.room.has_equipment.assert_called_once_with('Vidyo')
Esempio n. 4
0
def test_check_basic_user_outside_room(mocker):
    mocker.patch('indico_ravem.util.session')
    mocker.patch('indico_ravem.util.retrieve_principal')
    request = mocker.patch('indico_ravem.util.request')
    request.remote_addr = '111.222.123.123'

    event_vc_room = MagicMock()
    event_vc_room.link_object.room.has_equipment = MagicMock(return_value=True)
    event_vc_room.link_object.room.get_attribute_value.return_value = request.remote_addr
    event_vc_room.event.can_manage.return_value = True

    assert has_access(event_vc_room)
Esempio n. 5
0
def test_check_if_current_user_can_modify(mocker):
    request = mocker.patch('indico_ravem.util.request')
    request.remote_addr = '111.222.123.123'
    session = mocker.patch('indico_ravem.util.session')
    session.user = '******'
    mocker.patch('indico_ravem.util._retrieve_principal')

    event_vc_room = MagicMock()
    event_vc_room.link_object.room.has_equipment = MagicMock(return_value=True)
    event_vc_room.link_object.room.get_attribute_value.return_value = request.remote_addr
    event_vc_room.event.can_manage.return_value = True

    assert has_access(event_vc_room)
    event_vc_room.event.can_manage.assert_called_once_with(session.user)
Esempio n. 6
0
def test_check_if_current_user_is_room_owner(mocker):
    session = mocker.patch('indico_ravem.util.session')
    session.user = '******'
    request = mocker.patch('indico_ravem.util.request')
    request.remote_addr = '111.222.123.123'
    retrieve_principal = mocker.patch('indico_ravem.util._retrieve_principal')
    retrieve_principal.side_effect = lambda x: session.user

    event_vc_room = MagicMock()
    event_vc_room.link_object.room.has_equipment = MagicMock(return_value=True)
    event_vc_room.link_object.room.get_attribute_value.return_value = request.remote_addr
    event_vc_room.vc_room.data.get.return_value = 'User:123'
    event_vc_room.event.can_manage.return_value = False

    assert has_access(event_vc_room)
Esempio n. 7
0
def test_unlinked_event_vc_room_has_no_access():
    event_vc_room = MagicMock()
    event_vc_room.link_object = None

    assert not has_access(event_vc_room)
Esempio n. 8
0
 def _check_access(self):
     if not has_access(self.event_vc_room):
         raise RavemException(_("Not authorized to access the room with RAVEM"))