Esempio n. 1
0
    def render_template(self, context):
        encoder = Serializer()
        if isinstance(context, QuerySet):
            return encoder.serialize(context, ensure_ascii=False)

        else:
            encoder.objects = context
            encoder.options = dict()
            encoder.stream = StringIO()
            encoder.end_serialization()
            return encoder.getvalue()
Esempio n. 2
0
    def render_template(self, context):
        encoder = Serializer()
        if isinstance(context, QuerySet):
            return encoder.serialize(context, ensure_ascii=False)

        else:
            encoder.objects = context
            encoder.options = dict()
            encoder.stream = StringIO()
            encoder.end_serialization()
            return encoder.getvalue()
Esempio n. 3
0
class LoadDataTestCase(DataCommandTestCase):
    def setUp(self):
        super(LoadDataTestCase, self).setUp()
        self.serializer = JSONSerializer()

    def test_load_mutable_models(self):
        """
        Makes sure mutable models instances are correctly loaded when calling
        `loaddata`.
        """
        instance = self.model_cls(pk=1)
        # Make sure to remove the model from the app cache because we're
        # actually testing it's correctly loaded.
        remove_from_app_cache(self.model_cls)
        with NamedTemporaryFile(suffix='.json') as stream:
            self.serializer.serialize([instance], stream=BytesWritter(stream))
            stream.seek(0)
            call_command(
                'loaddata',
                stream.name,
                stdout=StringIO(),  #commit=False
            )
        self.assertTrue(self.model_cls.objects.filter(pk=instance.pk).exists())

    def test_invalid_model_idenfitier_raises(self):
        """
        Makes sure an invalid model identifier raises the correct exception.
        """
        instance = self.model_cls(pk=1)
        with NamedTemporaryFile(suffix='.json') as stream:
            self.serializer.serialize([instance], stream=BytesWritter(stream))
            stream.seek(0)
            self.model_def.delete()
            with self.assertRaisesMessage(
                    DeserializationError,
                    "Invalid model identifier: 'mutant.model'"):
                call_command('loaddata', stream.name, stdout=StringIO())
Esempio n. 4
0
class LoadDataTestCase(DataCommandTestCase):
    def setUp(self):
        super(LoadDataTestCase, self).setUp()
        self.serializer = JSONSerializer()

    def test_load_mutable_models(self):
        """
        Makes sure mutable models instances are correctly loaded when calling
        `loaddata`.
        """
        instance = self.model_cls(pk=1)
        # Make sure to remove the model from the app cache because we're
        # actually testing it's correctly loaded.
        remove_from_app_cache(self.model_cls)
        with NamedTemporaryFile(suffix='.json') as stream:
            self.serializer.serialize([instance], stream=stream)
            stream.seek(0)
            call_command(
                'loaddata', stream.name, stdout=StringIO(), commit=False
            )
        self.assertTrue(self.model_cls.objects.filter(pk=instance.pk).exists())

    def test_invalid_model_idenfitier_raises(self):
        """
        Makes sure an invalid model identifier raises the correct exception.
        """
        instance = self.model_cls(pk=1)
        with NamedTemporaryFile(suffix='.json') as stream:
            self.serializer.serialize([instance], stream=stream)
            stream.seek(0)
            self.model_def.delete()
            with self.assertRaisesMessage(
                    DeserializationError, "Invalid model identifier: 'mutant.model'"):
                call_command(
                    'loaddata', stream.name, stdout=StringIO()
                )
 def json_obj(self):
     serializer = Serializer()
     return json.loads(
         serializer.serialize(self.queryset, use_natural_primary_keys=False)
     )
Esempio n. 6
0
 def json_obj(self):
     serializer = Serializer()
     return json.loads(serializer.serialize(
         self.queryset, use_natural_primary_keys=False))