Exemplo n.º 1
0
 def test_get_enabled_chunks_for_region_bad_models_loud_fail(self):
     blank_conf = EditRegionConfiguration()
     error = ImproperlyConfigured
     if is_django_17plus():
         error = LookupError
     with self.assertRaises(error):
         blank_conf.get_enabled_chunks_for_region({"x.Y": 1})
Exemplo n.º 2
0
 def test_configure_basic(self):
     user = self.model_dependencies["user"]
     blank_conf = EditRegionConfiguration()
     blank_conf.configure(obj=user)
     self.assertEqual(blank_conf.obj, user)
     self.assertTrue(blank_conf.has_configuration)
     self.assertEqual(blank_conf.config, {})
Exemplo n.º 3
0
    def test_bool(self):
        blank_conf = EditRegionConfiguration()
        blank_conf.has_configuration = True
        blank_conf.config = {"x": 1}
        self.assertTrue(blank_conf)

        blank_conf2 = EditRegionConfiguration()
        self.assertFalse(blank_conf2)
Exemplo n.º 4
0
 def test_get_template_region_configuration_no_names_fallback(self):
     blank_conf = EditRegionConfiguration()
     template = Template(
         """{
         "x": {}
     }"""
     )
     raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     result = blank_conf.get_template_region_configuration(raw_data=raw_config)
     self.assertEqual(result, {"x": {"name": "x", "models": {}}})
Exemplo n.º 5
0
 def test_configure_template_discovered(self):
     """
     We can't test for the Template instance directly, as it's no longer
     exposed on the object.
     Given the template `sample_editregion_template.html` has nothing in it,
     the config should become an empty dict.
     """
     user = self.model_dependencies["user"]
     blank_conf = EditRegionConfiguration()
     blank_conf.configure(obj=user)
     self.assertEqual({}, blank_conf.config)
Exemplo n.º 6
0
 def test_dissecting_subclasses(self):
     args = ("zzz__yyy__xxx", "a", "b", "zzz__yyy", "c", "zzz", "e", "f", "c__d", "g", "h", "i", "j", "k")
     expected = (
         ("c", "c__d"),
         ("zzz", "zzz__yyy", "zzz__yyy__xxx"),
         ("a", "b", "e", "f", "g", "h", "i"),
         ("j", "k"),
     )
     blank_conf = EditRegionConfiguration()
     result = blank_conf._dissect_subclasses(args, split_after=7)
     self.assertEqual(result, expected)
Exemplo n.º 7
0
    def test_dissecting_subclasses_with_stupid_skip(self):
        """
        with a split of 1, don't conjoin the last relation with the previous
        eg, don't do: ('a', ('b', 'c')), instead do: (('a',), ('b',), ('c',))

        grandparents and stuff are still all selected at once, you cretin.
        """
        args = ("a", "b", "c", "a__b", "d", "e", "f", "g")
        blank_conf = EditRegionConfiguration()
        result = blank_conf._dissect_subclasses(args, split_after=1)
        expected = (("a", "a__b"), ("b",), ("c",), ("d",), ("e",), ("f",), ("g",))
        self.assertEqual(result, expected)
Exemplo n.º 8
0
    def test_configure_template_not_discovered(self):
        user = self.model_dependencies["user"]
        blank_conf = EditRegionConfiguration()

        try:
            admin.site.unregister(User)
        except NotRegistered:
            pass
        admin.site.register(User, TestBadUserAdmin)

        with self.settings(DEBUG=True):
            with self.assertRaises(TemplateDoesNotExist):
                blank_conf.configure(obj=user)

        with self.settings(DEBUG=False):
            blank_conf.configure(obj=user)
            self.assertFalse(blank_conf.has_configuration)
Exemplo n.º 9
0
 def test_inequality(self):
     blank_conf = EditRegionConfiguration()
     blank_conf.has_configuration = True
     blank_conf.config = {"x": 1, "y": 2}
     blank_conf2 = EditRegionConfiguration()
     blank_conf2.has_configuration = True
     blank_conf2.config = {"x": 1}
     self.assertNotEqual(blank_conf, blank_conf2)
Exemplo n.º 10
0
 def test_lessthanequal(self):
     blank_conf = EditRegionConfiguration()
     blank_conf.has_configuration = True
     blank_conf.config = {"x": 1, "y": 2}
     blank_conf2 = EditRegionConfiguration()
     blank_conf2.has_configuration = True
     blank_conf2.config = {"x": 1}
     self.assertLessEqual(blank_conf2, blank_conf)
Exemplo n.º 11
0
 def test_greaterthanequal(self):
     blank_conf = EditRegionConfiguration()
     blank_conf.has_configuration = True
     blank_conf.config = {"x": 1, "y": 2}
     blank_conf2 = EditRegionConfiguration()
     blank_conf2.has_configuration = True
     blank_conf2.config = {"x": 1}
     self.assertGreaterEqual(blank_conf, blank_conf2)
Exemplo n.º 12
0
 def test_fetch_chunks_for_obj_noregions(self):
     user, created = User.objects.get_or_create(username="******")
     blank_conf = EditRegionConfiguration(obj=user)
     template = Template(
         """{
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     results = blank_conf.fetch_chunks_for(region="x")
     self.assertEqual((), results)
Exemplo n.º 13
0
    def test_fetch_chunks_for_no_obj_debug_true(self):
        blank_conf = EditRegionConfiguration()
        template = Template(
            """{
            "x": {
                "name": "test"
            }
        }"""
        )
        blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
        blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)

        with self.settings(DEBUG=True):
            with self.assertRaises(ImproperlyConfigured):
                blank_conf.fetch_chunks_for(region="x")
Exemplo n.º 14
0
 def test_get_limits_for_no_models(self):
     blank_conf = EditRegionConfiguration()
     template = Template(
         """{
         "x": {
             "name": "test"
         }
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     result = blank_conf.get_limits_for(region="x", chunk=User)
     self.assertEqual(0, result)
Exemplo n.º 15
0
 def test_fetch_chunks(self):
     user, created = User.objects.get_or_create(username="******")
     blank_conf = EditRegionConfiguration(obj=user)
     template = Template(
         """{
         "x": {},
         "y": {},
         "z": {}
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     results = blank_conf.fetch_chunks()
     self.assertEqual(dict(results), {u"y": [], u"x": [], u"z": []})
Exemplo n.º 16
0
 def test_fetch_chunks_for_no_obj_debug_false(self):
     blank_conf = EditRegionConfiguration()
     template = Template(
         """{
         "x": {
             "name": "test"
         }
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     with self.settings(DEBUG=False):
         result = blank_conf.fetch_chunks_for(region="x")
         self.assertEqual([], result)
Exemplo n.º 17
0
 def test_get_limits_for(self):
     blank_conf = EditRegionConfiguration()
     template = Template(
         """{
         "x": {
             "name": "test",
             "models": {
                 "auth.User": 1,
                 "auth.Group": 0,
                 "auth.Permission": null
             }
         }
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     result = blank_conf.get_limits_for(region="x", chunk=User)
     self.assertEqual(1, result)
     # 0 means don't show up!
     result = blank_conf.get_limits_for(region="x", chunk=Group)
     self.assertEqual(0, result)
     result = blank_conf.get_limits_for(region="x", chunk=Permission)
     self.assertEqual(None, result)
Exemplo n.º 18
0
 def test_json_serializer(self):
     user, created = User.objects.get_or_create(username="******")
     blank_conf = EditRegionConfiguration(obj=user)
     template = Template(
         """{
         "test": {
             "name": "whee!",
             "models": {
                 "embeds.Iframe": 2
             }
         },
         "test2": {
             "name": "oh my goodness, another test region",
             "models": {
                 "embeds.Iframe": 1
             }
         },
         "test3": {
             "name": "oh my goodness, yet another test region",
             "models": {
                 "embeds.Iframe": null
             }
         }
     }"""
     )
     blank_conf.raw_config = blank_conf.decode_template_region_configuration(template_instance=template)
     blank_conf.config = blank_conf.get_template_region_configuration(raw_data=blank_conf.raw_config)
     self.assertEqual(
         dict(blank_conf.config),
         {
             "test": {"models": {Iframe: 2}, "name": "whee!"},
             "test2": {"models": {Iframe: 1}, "name": "oh my goodness, another test region"},
             "test3": {"models": {Iframe: None}, "name": "oh my goodness, yet another test region"},
         },
     )
     results = blank_conf.fetch_chunks()
     self.assertEqual(dict(results), {"test": [], "test3": [], "test2": []})
Exemplo n.º 19
0
 def test_get_template_region_configuration_failed_json_decoding(self):
     blank_conf = EditRegionConfiguration()
     template = Template("xyz")
     with self.assertRaisesRegexp(ValueError, r"No JSON object could be decoded"):
         blank_conf.decode_template_region_configuration(template_instance=template)
Exemplo n.º 20
0
 def test_dissecting_subclasses_with_only_deep_descendants(self):
     args = ("a", "b", "a__c", "b__d", "b__d__e", "a__e")
     blank_conf = EditRegionConfiguration()
     result = blank_conf._dissect_subclasses(args, split_after=7)
     expected = (("a", "a__c", "a__e"), ("b", "b__d", "b__d__e"))
     self.assertEqual(result, expected)
Exemplo n.º 21
0
 def test_dissecting_subclasses_with_no_items(self):
     args = ()
     blank_conf = EditRegionConfiguration()
     result = blank_conf._dissect_subclasses(args, split_after=7)
     expected = ()
     self.assertEqual(result, expected)
Exemplo n.º 22
0
 def test_get_first_valid_template_string_input(self):
     blank_conf = EditRegionConfiguration()
     templates = "sample_editregion_template.html"
     received = blank_conf.get_first_valid_template(possible_templates=templates)
     self.assertIsInstance(received, Template)
Exemplo n.º 23
0
 def test_dissecting_subclasses_one_leftover_crossing_relations(self):
     args = ("a", "b", "c", "a__b", "d", "e", "f", "g")
     blank_conf = EditRegionConfiguration()
     result = blank_conf._dissect_subclasses(args, split_after=5)
     expected = (("a", "a__b"), ("b", "c", "d", "e", "f", "g"))
     self.assertEqual(result, expected)
Exemplo n.º 24
0
 def test_get_enabled_chunks_for_region_bad_models_loud_fail2(self):
     blank_conf = EditRegionConfiguration()
     with self.assertRaisesRegexp(ImproperlyConfigured, r'Unable to load model "Y" from app "auth"'):  # noqa
         blank_conf.get_enabled_chunks_for_region({"auth.Y": 1})
Exemplo n.º 25
0
 def test_get_first_valid_template_failed(self):
     blank_conf = EditRegionConfiguration()
     templates = ["zzzzzz.html"]
     received = blank_conf.get_first_valid_template(possible_templates=templates)
     self.assertIsNone(received)
Exemplo n.º 26
0
 def test_get_enabled_chunks_for_region_empty(self):
     blank_conf = EditRegionConfiguration()
     expected = {}
     received = blank_conf.get_enabled_chunks_for_region({})
     self.assertEqual(expected, received)
Exemplo n.º 27
0
 def test_dissecting_subclasses_not_enough(self):
     args = ("a", "b", "c", "d", "e", "f")
     blank_conf = EditRegionConfiguration()
     result = blank_conf._dissect_subclasses(args, split_after=7)
     self.assertEqual(result, (args,))
Exemplo n.º 28
0
 def test_get_enabled_chunks_for_region_bad_models_silent_fail(self):
     blank_conf = EditRegionConfiguration()
     expected = {User: 1, Group: None}
     received = blank_conf.get_enabled_chunks_for_region({"auth.User": 1, "auth.Group": None, "x.Y": 1})
     self.assertEqual(expected, received)