0

I am trying to perform the unit test for a feature in my website, whereby the user uploads a JSON file and I test if the JSON file is valid using serialization and JSON schema. When running the following test code I keep getting assertion error.

serializer.py
class Serializer(serializers.Serializer):
      file = serializers.FileField(required=True)
      format = serializers.CharField(required=True)

      def validate(self, data):
          is_valid, message = Validation().is_valid(
              json.loads(data.read()))
          if (not (is_valid)):
              raise serializers.ValidationError(message)

tests.py
    class Validation(TestCase):
        def test_valid_serializer(self):
            file_mock = mock.MagicMock(spec=File)
            file_mock.name = 'mock.json'
            file_mock.content = {
                'mockData': [{
                    "id": 1,
                    "name": "blue",
                }] 
            }
            serializer_class = Serializer(data=file_mock.content)
            assert serializer_class.is_valid()
            assert serializer_class.errors == {}
Blacky_99
  • 155
  • 4
  • 20

1 Answers1

0

Maybe you need to SimpleUploadedFile to wrap the file_mock?

from django.core.files.uploadedfile import SimpleUploadedFile
systemime
  • 51
  • 4