Exemplo n.º 1
0
 def test_facility_log_filtering(self):
     self.client.login(
         username=self.superuser.username,
         password=DUMMY_PASSWORD,
         facility=self.facility,
     )
     # add user3 to new facility
     self.facility2 = FacilityFactory.create()
     self.user3 = FacilityUserFactory.create(facility=self.facility2)
     [
         ContentSessionLogFactory.create(
             user=self.user3,
             content_id=uuid.uuid4().hex,
             channel_id=uuid.uuid4().hex,
         )
         for _ in range(1)
     ]
     response = self.client.get(
         reverse("kolibri:core:contentsessionlog-list"),
         data={"facility": self.facility2.id},
     )
     expected_count = ContentSessionLog.objects.filter(
         user__facility_id=self.facility2.id
     ).count()
     self.assertEqual(len(response.data), expected_count)
Exemplo n.º 2
0
    def setUpTestData(cls):
        cls.facility = FacilityFactory.create()
        # provision device to pass the setup_wizard middleware check
        provision_device()
        cls.superuser = create_superuser(cls.facility)
        cls.user1 = FacilityUserFactory.create(facility=cls.facility)
        cls.user2 = FacilityUserFactory.create(facility=cls.facility)

        # add admin to 1st facility
        cls.admin = FacilityUserFactory.create(facility=cls.facility)
        cls.facility.add_admin(cls.admin)

        # create logs for each user
        cls.interaction_logs = [
            ContentSessionLogFactory.create(
                user=cls.user1,
                content_id=uuid.uuid4().hex,
                channel_id=uuid.uuid4().hex,
            )
            for _ in range(3)
        ]
        [
            ContentSessionLogFactory.create(
                user=cls.user2,
                content_id=uuid.uuid4().hex,
                channel_id=uuid.uuid4().hex,
            )
            for _ in range(2)
        ]

        # create classroom, learner group, add user2
        cls.classroom = ClassroomFactory.create(parent=cls.facility)
        cls.learner_group = LearnerGroupFactory.create(parent=cls.classroom)
        cls.learner_group.add_learner(cls.user2)
 def test_superuser_responses(self):
     facility = FacilityFactory.create()
     user = create_superuser(facility)
     self.check_responses(credentials={
         "username": user.username,
         "password": DUMMY_PASSWORD
     })
 def setUp(self):
     provision_device()
     facility = FacilityFactory.create()
     user = create_superuser(facility)
     self.credentials = {
         "username": user.username,
         "password": DUMMY_PASSWORD
     }
 def test_redirect_root_to_learn_if_logged_in(self):
     facility = FacilityFactory.create()
     do = create_superuser(facility)
     provision_device()
     self.client.login(username=do.username, password=DUMMY_PASSWORD)
     response = self.client.get(reverse("kolibri:core:root_redirect"))
     self.assertEqual(response.status_code, 302)
     self.assertEqual(response.get("location"),
                      reverse("kolibri:learn:learn"))
Exemplo n.º 6
0
 def setUpTestData(cls):
     provision_device()
     facility = cls.facility = FacilityFactory.create()
     cls.learner = FacilityUserFactory.create(facility=facility)
     cls.facility_coach = FacilityUserFactory.create(facility=facility)
     facility.add_role(cls.facility_coach, "coach")
     cls.class_coach = FacilityUserFactory.create(facility=facility)
     facility.add_role(cls.class_coach, "classroom assignable coach")
     cls.superuser = create_superuser(cls.facility)
Exemplo n.º 7
0
 def setUp(self):
     provision_device()
     self.facility = FacilityFactory.create()
     self.superuser = create_superuser(self.facility)
     self.user = FacilityUserFactory.create(facility=self.facility)
     self.client.login(
         username=self.superuser.username,
         password=DUMMY_PASSWORD,
         facility=self.facility,
     )
Exemplo n.º 8
0
 def setUp(self):
     provision_device()
     DatabaseIDModel.objects.create()
     self.facility = FacilityFactory.create()
     self.superuser = create_superuser(self.facility)
     self.client.login(
         username=self.superuser.username,
         password=DUMMY_PASSWORD,
         facility=self.facility,
     )
Exemplo n.º 9
0
 def setUpTestData(cls):
     provision_device()
     cls.facility = FacilityFactory.create()
     cls.user = FacilityUserFactory(facility=cls.facility)
     cls.user2 = FacilityUserFactory(facility=cls.facility)
     cls.contentnode = ContentNode.objects.create(
         id=uuid.uuid4().hex,
         title="root",
         channel_id=uuid.uuid4().hex,
         content_id=uuid.uuid4().hex,
     )
Exemplo n.º 10
0
 def setUp(self):
     provision_device()
     self.facility = FacilityFactory.create()
     self.superuser = create_superuser(self.facility)
     self.learner = FacilityUserFactory(facility=self.facility)
     self.existing_happy_netloc = models.NetworkLocation.objects.create(
         base_url="https://kolibrihappyurl.qqq/")
     self.existing_nonkolibri_netloc = models.NetworkLocation.objects.create(
         base_url="https://nonkolibrihappyurl.qqq/")
     self.existing_sad_netloc = models.NetworkLocation.objects.create(
         base_url="https://sadurl.qqq/")
Exemplo n.º 11
0
 def setUp(self):
     super(DeviceNameTestCase, self).setUp()
     self.facility = FacilityFactory.create()
     provision_device(language_id="es", default_facility=self.facility)
     self.superuser = create_superuser(self.facility)
     self.user = FacilityUserFactory.create(facility=self.facility)
     self.client.login(
         username=self.superuser.username,
         password=DUMMY_PASSWORD,
         facility=self.facility,
     )
Exemplo n.º 12
0
    def setUpTestData(cls):
        cls.settings = {
            "language_id": "en",
            "allow_guest_access": False,
            "allow_peer_unlisted_channel_import": True,
            "allow_learner_unassigned_resource_access": False,
        }

        cls.facility = FacilityFactory.create()
        provision_device(language_id="es", default_facility=cls.facility)
        cls.superuser = create_superuser(cls.facility)
        cls.user = FacilityUserFactory.create(facility=cls.facility)
Exemplo n.º 13
0
 def setUp(self):
     self.facility = FacilityFactory.create()
     # provision device to pass the setup_wizard middleware check
     provision_device()
     self.admin = FacilityUserFactory.create(facility=self.facility)
     self.user = FacilityUserFactory.create(facility=self.facility)
     self.interaction_logs = [
         ContentSessionLogFactory.create(
             user=self.user,
             content_id=uuid.uuid4().hex,
             channel_id="6199dde695db4ee4ab392222d5af1e5c",
         ) for _ in range(3)
     ]
     self.facility.add_admin(self.admin)
Exemplo n.º 14
0
 def setUp(self):
     provision_device()
     self.facility = FacilityFactory.create()
     self.user = FacilityUserFactory(facility=self.facility)
     self.client.login(username=self.user.username,
                       password=DUMMY_PASSWORD,
                       facility=self.facility)
     data = {
         "id": "ping",
         "version_range": "<2.0.0",
         "timestamp": timezone.now(),
         "source": PINGBACK,
     }
     self.notification = PingbackNotification.objects.create(**data)
Exemplo n.º 15
0
 def setUpTestData(cls):
     cls.facility = FacilityFactory.create()
     # provision device to pass the setup_wizard middleware check
     provision_device()
     cls.admin = FacilityUserFactory.create(facility=cls.facility)
     cls.user1 = FacilityUserFactory.create(facility=cls.facility)
     cls.summary_logs = [
         ContentSummaryLogFactory.create(
             user=cls.user1,
             content_id=uuid.uuid4().hex,
             channel_id="6199dde695db4ee4ab392222d5af1e5c",
         ) for _ in range(3)
     ]
     cls.facility.add_admin(cls.admin)
Exemplo n.º 16
0
    def setUpTestData(cls):
        cls.facility = FacilityFactory.create()
        i = 1
        user = FacilityUserFactory.create(facility=cls.facility)

        sess_logs = []
        summ_logs = []

        for _ in range(3):
            sess_logs.append(
                ContentSessionLogFactory.create(
                    user=user,
                )
            )

            summ_logs.append(
                ContentSummaryLogFactory.create(
                    user=user,
                )
            )
        ex_csessl = ContentSessionLogFactory.create(
            user=user,
        )

        ex_csmlog = ContentSummaryLogFactory.create(
            user=user,
        )
        masterylog = MasteryLogFactory.create(user=user, summarylog=ex_csmlog)
        attemptlog = AttemptLogFactory.create(
            user=user, masterylog=masterylog, sessionlog=ex_csessl
        )
        usersessionlog = UserSessionLogFactory.create(user=user)

        sess_logs.append(ex_csessl)
        summ_logs.append(ex_csmlog)

        setattr(cls, "user_{}".format(str(i)), user)
        setattr(cls, "user_{}_sess_logs".format(str(i)), sess_logs)
        setattr(cls, "user_{}_summ_logs".format(str(i)), summ_logs)
        setattr(cls, "user_{}_masterylog".format(str(i)), masterylog)
        setattr(cls, "user_{}_attemptlog".format(str(i)), attemptlog)
        setattr(cls, "user_{}_usersessionlog".format(str(i)), usersessionlog)

        cls.user_1_id = cls.user_1.id

        cls.user_2 = FacilityUserFactory.create(facility=cls.facility)

        merge_users(cls.user_1, cls.user_2)
        merge_users(cls.user_1, cls.user_2)
Exemplo n.º 17
0
    def setUp(self):
        self.facility = FacilityFactory.create()
        # provision device to pass the setup_wizard middleware check
        provision_device()
        self.superuser = create_superuser(self.facility)
        self.user1 = FacilityUserFactory.create(facility=self.facility)
        self.user2 = FacilityUserFactory.create(facility=self.facility)

        # add admin to 1st facility
        self.admin = FacilityUserFactory.create(facility=self.facility)
        self.facility.add_admin(self.admin)

        # create logs for each user
        self.interaction_logs = [
            ContentSessionLogFactory.create(
                user=self.user1,
                content_id=uuid.uuid4().hex,
                channel_id=uuid.uuid4().hex,
            )
            for _ in range(3)
        ]
        [
            ContentSessionLogFactory.create(
                user=self.user2,
                content_id=uuid.uuid4().hex,
                channel_id=uuid.uuid4().hex,
            )
            for _ in range(2)
        ]

        # create classroom, learner group, add user2
        self.classroom = ClassroomFactory.create(parent=self.facility)
        self.learner_group = LearnerGroupFactory.create(parent=self.classroom)
        self.learner_group.add_learner(self.user2)

        self.payload = {
            "user": self.user1.pk,
            "content_id": uuid.uuid4().hex,
            "channel_id": uuid.uuid4().hex,
            "kind": "video",
            "start_timestamp": str(datetime.datetime.now()),
        }
Exemplo n.º 18
0
    def setUp(self):
        self.facility = FacilityFactory.create()
        # provision device to pass the setup_wizard middleware check
        provision_device()
        self.user1 = FacilityUserFactory.create(facility=self.facility)
        self.user2 = FacilityUserFactory.create(facility=self.facility)
        self.exam = Exam.objects.create(
            title="",
            question_count=1,
            collection=self.facility,
            creator=self.user2,
            active=True,
        )
        self.examlog = ExamLog.objects.create(exam=self.exam, user=self.user1)
        [
            ExamAttemptLog.objects.create(
                item="d4623921a2ef5ddaa39048c0f7a6fe06",
                examlog=self.examlog,
                user=self.user1,
                content_id=uuid.uuid4().hex,
                start_timestamp=str(
                    datetime.datetime.now().replace(minute=x, hour=x, second=x)
                ),
                end_timestamp=str(
                    datetime.datetime.now().replace(minute=x, hour=x, second=x)
                ),
                correct=0,
            )
            for x in range(3)
        ]

        self.examattemptdata = {
            "item": "test",
            "start_timestamp": timezone.now(),
            "end_timestamp": timezone.now(),
            "correct": 0,
            "user": self.user1.pk,
            "examlog": self.examlog.pk,
            "content_id": "77b57a14a1f0466bb27ea7de8ff468be",
            "channel_id": "77b57a14a1f0466bb27ea7de8ff468be",
        }
Exemplo n.º 19
0
    def setUp(self):
        self.facility = FacilityFactory.create()
        # provision device to pass the setup_wizard middleware check
        provision_device()
        self.superuser = create_superuser(self.facility)
        self.user1 = FacilityUserFactory.create(facility=self.facility)
        self.user2 = FacilityUserFactory.create(facility=self.facility)

        # add admin to 1st facility
        self.admin = FacilityUserFactory.create(facility=self.facility)
        self.facility.add_admin(self.admin)

        # create logs for each user
        self.session_logs = [
            UserSessionLogFactory.create(user=self.user1) for _ in range(3)
        ]
        [UserSessionLogFactory.create(user=self.user2) for _ in range(2)]

        # create classroom, learner group, add user2
        self.classroom = ClassroomFactory.create(parent=self.facility)
        self.learner_group = LearnerGroupFactory.create(parent=self.classroom)
        self.learner_group.add_learner(self.user2)
Exemplo n.º 20
0
    def setUpTestData(cls):
        cls.facility = FacilityFactory.create()
        # provision device to pass the setup_wizard middleware check
        provision_device()
        cls.user1 = FacilityUserFactory.create(facility=cls.facility)
        cls.user2 = FacilityUserFactory.create(facility=cls.facility)
        cls.exam = Exam.objects.create(
            title="",
            question_count=1,
            collection=cls.facility,
            creator=cls.user2,
            active=True,
        )
        cls.examlog = ExamLog.objects.create(exam=cls.exam, user=cls.user1)
        # create classroom, learner group, add user1
        cls.classroom = ClassroomFactory.create(parent=cls.facility)
        cls.learner_group = LearnerGroupFactory.create(parent=cls.classroom)
        cls.classroom.add_member(cls.user1)
        cls.learner_group.add_learner(cls.user1)

        cls.class_coach = FacilityUserFactory.create(facility=cls.facility)
        cls.classroom.add_coach(cls.class_coach)
Exemplo n.º 21
0
    def setUpTestData(cls):
        cls.facility = FacilityFactory.create()
        content_identifiers = [(uuid.uuid4().hex, uuid.uuid4().hex) for i in range(3)]
        ex_identifiers = (uuid.uuid4().hex, uuid.uuid4().hex)
        for i in range(1, 3):
            user = FacilityUserFactory.create(facility=cls.facility)

            sess_logs = []
            summ_logs = []

            for channel_id, content_id in content_identifiers:

                sess_logs.append(
                    ContentSessionLogFactory.create(
                        user=user,
                        channel_id=channel_id,
                        content_id=content_id,
                    )
                )

                summ_logs.append(
                    ContentSummaryLogFactory.create(
                        user=user,
                        channel_id=channel_id,
                        content_id=content_id,
                    )
                )
            channel_id, content_id = ex_identifiers
            ex_csessl = ContentSessionLogFactory.create(
                user=user,
                channel_id=channel_id,
                content_id=content_id,
            )

            ex_csmlog = ContentSummaryLogFactory.create(
                user=user,
                channel_id=channel_id,
                content_id=content_id,
            )
            masterylog = MasteryLogFactory.create(
                user=user, summarylog=ex_csmlog, mastery_level=1
            )
            attemptlog = AttemptLogFactory.create(
                user=user, masterylog=masterylog, sessionlog=ex_csessl
            )
            usersessionlog = UserSessionLogFactory.create(user=user)

            sess_logs.append(ex_csessl)
            summ_logs.append(ex_csmlog)

            setattr(cls, "user_{}".format(str(i)), user)
            setattr(cls, "user_{}_sess_logs".format(str(i)), sess_logs)
            setattr(cls, "user_{}_summ_logs".format(str(i)), summ_logs)
            setattr(cls, "user_{}_masterylog".format(str(i)), masterylog)
            setattr(cls, "user_{}_attemptlog".format(str(i)), attemptlog)
            setattr(cls, "user_{}_usersessionlog".format(str(i)), usersessionlog)

        cls.user_1_id = cls.user_1.id
        cls.user_1.birth_year = "1984"
        cls.user_1.id_number = "101"
        cls.user_1.save()
        cls.user_2.id_number = "13"
        cls.user_2.save()
        merge_users(cls.user_1, cls.user_2)
Exemplo n.º 22
0
 def setUpTestData(cls):
     provision_device()
     cls.facility = FacilityFactory.create()
     cls.admin = FacilityUserFactory(facility=cls.facility)
     cls.facility.add_role(cls.admin, role_kinds.ADMIN)
     cls.user = FacilityUserFactory(facility=cls.facility)
Exemplo n.º 23
0
    def setUp(self):
        provision_device()
        self.facility = FacilityFactory.create()
        self.superuser = create_superuser(self.facility)
        self.user1 = FacilityUserFactory.create(facility=self.facility)
        self.user2 = FacilityUserFactory.create(facility=self.facility)
        # create classroom, learner group, add user1
        self.classroom = ClassroomFactory.create(parent=self.facility)
        self.classroom.add_member(self.user1)

        self.payload = {
            "user": self.user1.pk,
            "content_id": uuid.uuid4().hex,
            "channel_id": uuid.uuid4().hex,
            "kind": "exercise",
            "start_timestamp": str(datetime.datetime.now()),
        }
        self.channel_id = "15f32edcec565396a1840c5413c92450"
        self.lesson_id = "15f32edcec565396a1840c5413c92452"
        self.content_ids = [
            "15f32edcec565396a1840c5413c92451",
            "15f32edcec565396a1840c5413c92452",
            "15f32edcec565396a1840c5413c92453",
        ]
        self.contentnode_ids = [
            "25f32edcec565396a1840c5413c92451",
            "25f32edcec565396a1840c5413c92452",
            "25f32edcec565396a1840c5413c92453",
        ]
        self.node_1 = ContentNode.objects.create(
            title="Node 1",
            available=True,
            id=self.contentnode_ids[0],
            content_id=self.content_ids[0],
            channel_id=self.channel_id,
            kind=content_kinds.EXERCISE,
        )
        self.node_2 = ContentNode.objects.create(
            title="Node 2",
            available=True,
            id=self.contentnode_ids[1],
            content_id=self.content_ids[1],
            channel_id=self.channel_id,
            kind=content_kinds.EXERCISE,
        )
        self.lesson = Lesson.objects.create(
            id=self.lesson_id,
            title="My Lesson",
            is_active=True,
            created_by=self.superuser,
            collection=self.classroom,
            resources=json.dumps(
                [
                    {
                        "contentnode_id": self.node_1.id,
                        "content_id": self.node_1.content_id,
                        "channel_id": self.channel_id,
                    },
                    {
                        "contentnode_id": self.node_2.id,
                        "content_id": self.node_2.content_id,
                        "channel_id": self.channel_id,
                    },
                ]
            ),
        )

        self.assignment_1 = LessonAssignment.objects.create(
            lesson=self.lesson, assigned_by=self.superuser, collection=self.classroom
        )

        self.exam = Exam.objects.create(
            title="title",
            question_count=1,
            active=True,
            collection=self.classroom,
            creator=self.superuser,
        )
        self.assignment = ExamAssignment.objects.create(
            exam=self.exam, collection=self.classroom, assigned_by=self.superuser
        )
        self.summarylog1 = ContentSummaryLogFactory.create(
            user=self.user1,
            content_id=self.node_1.content_id,
            channel_id=self.channel_id,
        )

        self.summarylog2 = ContentSummaryLogFactory.create(
            user=self.user1,
            content_id=self.node_2.content_id,
            channel_id=self.channel_id,
            kind=content_kinds.EXERCISE,
        )
Exemplo n.º 24
0
 def setUpTestData(cls):
     provision_device()
     cls.facility = FacilityFactory.create()
     cls.superuser = create_superuser(cls.facility)
     cls.user = FacilityUserFactory.create(facility=cls.facility)
Exemplo n.º 25
0
 def setUpTestData(cls):
     cls.device_name = {"name": "test device"}
     cls.facility = FacilityFactory.create()
     provision_device(language_id="es", default_facility=cls.facility)
     cls.superuser = create_superuser(cls.facility)
     cls.user = FacilityUserFactory.create(facility=cls.facility)
Exemplo n.º 26
0
 def setUpTestData(cls):
     provision_device()
     DatabaseIDModel.objects.create()
     cls.facility = FacilityFactory.create()
     cls.superuser = create_superuser(cls.facility)