diff options
| author | Marko Tibold | 2012-11-14 23:04:46 +0100 | 
|---|---|---|
| committer | Marko Tibold | 2012-11-14 23:04:46 +0100 | 
| commit | 69a01d71256b9923aac1b8d1b91063068ecfebf7 (patch) | |
| tree | e206e26156e751ad8de69b23b74481b69f329ed7 /rest_framework/tests/files.py | |
| parent | e112a806d863c0d6662dc3a65909ac191c02f03e (diff) | |
| download | django-rest-framework-69a01d71256b9923aac1b8d1b91063068ecfebf7.tar.bz2 | |
Added a test for the FileField.
Diffstat (limited to 'rest_framework/tests/files.py')
| -rw-r--r-- | rest_framework/tests/files.py | 55 | 
1 files changed, 30 insertions, 25 deletions
| diff --git a/rest_framework/tests/files.py b/rest_framework/tests/files.py index 61d7f7b1..5dd57b7c 100644 --- a/rest_framework/tests/files.py +++ b/rest_framework/tests/files.py @@ -1,34 +1,39 @@ -# from django.test import TestCase -# from django import forms +import StringIO +import datetime -# from django.test.client import RequestFactory -# from rest_framework.views import View -# from rest_framework.response import Response +from django.test import TestCase -# import StringIO +from rest_framework import serializers -# class UploadFilesTests(TestCase): -#     """Check uploading of files""" -#     def setUp(self): -#         self.factory = RequestFactory() +class UploadedFile(object): +    def __init__(self, file, created=None): +        self.file = file +        self.created = created or datetime.datetime.now() -#     def test_upload_file(self): -#         class FileForm(forms.Form): -#             file = forms.FileField() +class UploadedFileSerializer(serializers.Serializer): +    file = serializers.FileField() +    created = serializers.DateTimeField() -#         class MockView(View): -#             permissions = () -#             form = FileForm +    def restore_object(self, attrs, instance=None): +        if instance: +            instance.file = attrs['file'] +            instance.created = attrs['created'] +            return instance +        return UploadedFile(**attrs) -#             def post(self, request, *args, **kwargs): -#                 return Response({'FILE_NAME': self.CONTENT['file'].name, -#                         'FILE_CONTENT': self.CONTENT['file'].read()}) -#         file = StringIO.StringIO('stuff') -#         file.name = 'stuff.txt' -#         request = self.factory.post('/', {'file': file}) -#         view = MockView.as_view() -#         response = view(request) -#         self.assertEquals(response.raw_content, {"FILE_CONTENT": "stuff", "FILE_NAME": "stuff.txt"}) +class FileSerializerTests(TestCase): + +    def test_create(self): +        now = datetime.datetime.now() +        file = StringIO.StringIO('stuff') +        file.name = 'stuff.txt' +        file.size = file.len +        serializer = UploadedFileSerializer(data={'created': now}, files={'file': file}) +        uploaded_file = UploadedFile(file=file, created=now) +        self.assertTrue(serializer.is_valid()) +        self.assertEquals(serializer.object.created, uploaded_file.created) +        self.assertEquals(serializer.object.file, uploaded_file.file) +        self.assertFalse(serializer.object is uploaded_file) | 
