From 5490089ab9ce1ff1545751741fdfa95b4751fa48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrn=20Brodersen?= Date: Wed, 19 Jun 2019 11:52:43 +0200 Subject: Bug #48080: fix 101_exam_mode_group_members diff --git a/ucs-school-umc-exam/umc/python/schoolexam-master/__init__.py b/ucs-school-umc-exam/umc/python/schoolexam-master/__init__.py index 53557f7f7..c2340afdd 100644 --- a/ucs-school-umc-exam/umc/python/schoolexam-master/__init__.py +++ b/ucs-school-umc-exam/umc/python/schoolexam-master/__init__.py @@ -429,10 +429,10 @@ class Instance(SchoolBaseModule): teacher_pc_role = create_ucsschool_role_string(role_teacher_computer, room.school) exam_hosts = list() for host in room.hosts: - host_obj = SchoolComputer.from_dn(host, None, ldap_user_read) # Please remove with Bug #49611 + host_obj = SchoolComputer.from_dn(host, None, ldap_user_read) # Please remove with Bug #49611 host_obj = SchoolComputer.from_dn(host, None, ldap_user_read) - if teacher_pc_role not in host_obj.ucsschool_roles: - exam_hosts.append(host) + if teacher_pc_role not in host_obj.ucsschool_roles: + exam_hosts.append(host) # Add all host members of room to examGroup host_uid_list = [univention.admin.uldap.explodeDn(uniqueMember, 1)[0] + '$' for uniqueMember in exam_hosts] examGroup = self.examGroup(ldap_admin_write, ldap_position, room.school) diff --git a/ucs-test-ucsschool/debian/changelog b/ucs-test-ucsschool/debian/changelog index 934bb4752..9cea04883 100644 --- a/ucs-test-ucsschool/debian/changelog +++ b/ucs-test-ucsschool/debian/changelog @@ -1,3 +1,9 @@ +ucs-test-ucsschool (6.0.22) unstable; urgency=medium + + * Bug #48080: fix 101_exam_mode_group_members + + -- Jürn Brodersen Wed, 19 Jun 2019 11:47:29 +0200 + ucs-test-ucsschool (6.0.21) unstable; urgency=low * Bug #47978: fix selenium/02_internet_rules diff --git a/ucs-test-ucsschool/modules/univention/testing/ucsschool/ucs_test_school.py b/ucs-test-ucsschool/modules/univention/testing/ucsschool/ucs_test_school.py index 388c186f9..02b71ac5a 100644 --- a/ucs-test-ucsschool/modules/univention/testing/ucsschool/ucs_test_school.py +++ b/ucs-test-ucsschool/modules/univention/testing/ucsschool/ucs_test_school.py @@ -62,6 +62,7 @@ from ucsschool.lib.roles import ( from ucsschool.lib.models import School, User, Student, Teacher, TeachersAndStaff, Staff, SchoolClass, WorkGroup from ucsschool.lib.models.utils import add_stream_logger_to_schoollib, get_stream_handler, UniStreamHandler from ucsschool.lib.models.group import ComputerRoom +from ucsschool.lib.models.computer import SchoolComputer try: from typing import Dict, List, Optional, Tuple except ImportError: @@ -789,12 +790,17 @@ class UCSTestSchool(object): 'name': '%s-%s' % (ou_name, name), 'description': description, 'hosts': host_members, - 'teacher_computers': teacher_computers } - logger.info('*** Creating new room %r', name) + logger.info('*** Creating new room %r with settings %r', name, kwargs) obj = ComputerRoom(**kwargs) result = obj.create(self.lo) logger.info('*** Result of ComputerRoom(...).create(): %r', result) + logger.info('*** Setting up teacher computers: {}'.format(teacher_computers)) + for teacher_pc in teacher_computers: + pc = SchoolComputer.from_dn(teacher_pc, ou_name, self.lo) + pc.teacher_computer = True + pc.modify(self.lo) + logger.info('*** Teacher computer set up') if wait_for_replication: utils.wait_for_replication() utils.verify_ldap_object(obj.dn, expected_attr={'ucsschoolRole': [create_ucsschool_role_string(role_computer_room, ou_name)]}, strict=False, should_exist=True)