django how to mock aws S3BotoStorage?

解決方法

只要mock _save 方法即可

		@mock.patch('storages.backends.s3boto.S3BotoStorage._save')
        def test_create_edit_supporting_doc_post_success(self, mock_save):
            mock_save.return_value = '/file.png'
            img = SimpleUploadedFile("file.png", "file_content", content_type="image")
            post_data = {
                'product': self.dfp1.id,
                'description': 'Description1',
                'title': 'Title1',
                'ordering': '1',
                'is_active': 'on',
                'type': 'MEDIA',
                'document': img
            }

            pre_sd_count = SupportingDoc.objects.filter(product=self.dfp1).count()
            response = self.client.post(reverse('investment_product:create_edit_supporting_doc',
                                                kwargs={'sd_id': 0, 'type': 'media'}), post_data)

            post_sd_count = SupportingDoc.objects.filter(product=self.dfp1).count()
            self.assertEqual(post_sd_count, pre_sd_count + 1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章