Пример #1
0
 def test_create_conf(self):
     # system-wide conf
     query_str = "is world alive"
     qs.register(query_str, self.user, [])
     Conf.create(query_str, None, True)
     self.assertEqual(Conf.try_to_get(query_str, None), True)
     self.assertEqual(Conf.try_to_get(query_str), True)
Пример #2
0
 def test_create_conf_2_2(self):
     # study-wide conf
     query_str = "is junghwan's study"
     qs.register(query_str, self.user, ["study.PI"])
     Conf.create(query_str, {"study.PI": "junghwan"}, True)
     self.assertRaises(qs.RequiredFilterPatternDoesNotMatch,
                       Conf.try_to_get, query_str,
                       {"study.PI__in": ["junghwan", "nick"]})
Пример #3
0
    def test_create_conf_3(self):
        # study-wide multiple conf
        query_str = "is junghwan's study"
        qs.register(query_str, self.user, ["PI"])
        Conf.create(query_str, {"PI": "junghwan"}, True)
        Conf.create(query_str, {"PI": "nick"}, True)

        self.assertEqual(Conf.try_to_get(query_str, {"PI": "junghwan"}), True)
        self.assertEqual(Conf.try_to_get(query_str, {"PI": "nick"}), True)
Пример #4
0
 def test_create_conf_6_2(self):
     # cohort-based conf
     query_str = "is nlm study"
     qs.register(query_str, self.user, ["study name", "cohort name"])
     self.assertRaises(qs.RequiredFilterPatternDoesNotMatch, Conf.create,
                       query_str, {
                           "study name": "nlm",
                           "enrollment token": "test-1234"
                       }, True)
Пример #5
0
    def test_create_conf_7(self):
        # complex case
        query_str = "onboard:sequence"
        onboard_screen_sequence = [
            "system:contact_information", "system:notification",
            "system:weekly_reflection", "custom:first_bout_planning_time",
            "system:locations", "system:fitbit_auth", "system:fitbit_clockface"
        ]
        qs.register(query_str, self.user, ["study name"])
        Conf.create(query_str, {"study name": "nlm"}, onboard_screen_sequence)

        self.assertEqual(Conf.try_to_get(query_str, {"study name": "nlm"}),
                         onboard_screen_sequence)
Пример #6
0
 def test_create_conf_2_3(self):
     # study-wide conf
     query_str = "is junghwan's study"
     qs.register(query_str, self.user, ["study.PI"])
     Conf.create(query_str, {"study.PI": "junghwan"}, True)
     self.assertEqual(Conf.try_to_get(query_str, {"study.PI": "junghwan"}),
                      True)
     self.assertEqual(Conf.try_to_get(query_str, {"study.PI": "nick"}),
                      None)
     self.assertEqual(
         Conf.try_to_get(query_str, {"study.PI__in": ["junghwan", "nick"]},
                         filter_pattern_check=False), True)
     self.assertEqual(
         Conf.try_to_get(query_str, {"study.PI__in": ["pedja", "nick"]},
                         filter_pattern_check=False), None)
Пример #7
0
    def test_create_conf_5(self):
        # incorrect query pattern
        query_str = "is nlm study"
        qs.register(query_str, self.user, ["study name", "enrollment token"])
        Conf.create(query_str, {
            "study name": "nlm",
            "enrollment token": "test-1234"
        }, True)
        Conf.create(query_str, {
            "study name": "nlm",
            "enrollment token": "test-2345"
        }, True)

        self.assertRaises(qs.RequiredFilterPatternDoesNotMatch,
                          Conf.try_to_get, query_str, {"study name": "nlm"})
Пример #8
0
    def test_create_conf_6_3(self):
        # cohort-based conf
        query_str = "is nlm study"
        qs.register(query_str, self.user, ["study name", "cohort name"])
        Conf.create(query_str, {
            "study name": "nlm",
            "cohort name": "control"
        }, True)

        self.assertEqual(
            Conf.try_to_get(query_str, {
                "study name": "nlm",
                "cohort name": "control"
            }), True)
        self.assertEqual(
            Conf.try_to_get(query_str, {
                "study name": "nlm",
                "cohort name": "experiment"
            }), None)
Пример #9
0
    def test_create_conf_4(self):
        # participant-based conf
        query_str = "is nlm study"
        qs.register(query_str, self.user, ["study name", "enrollment token"])
        Conf.create(query_str, {
            "study name": "nlm",
            "enrollment token": "test-1234"
        }, True)
        Conf.create(query_str, {
            "study name": "nlm",
            "enrollment token": "test-2345"
        }, True)

        self.assertEqual(
            Conf.try_to_get(query_str, {
                "study name": "nlm",
                "enrollment token": "test-1234"
            }), True)
        self.assertEqual(
            Conf.try_to_get(query_str, {
                "study name": "nlm",
                "enrollment token": "test-3456"
            }), None)
Пример #10
0
 def test_create_conf_with_registering(self):
     query_str = "is world alive"
     qs.register(query_str, self.user, [])
     Conf.create(query_str, None, True)