def test_upload(self): OBJECT_DATA = 'objectData' OBJECT_FILE = tempfile.TemporaryFile() OBJECT_FILE.write(OBJECT_DATA) OBJECT_FILE.flush() OBJECT_FILE.seek(0) OBJECT_NAME = 'objectName' formData = {'method': 'UploadObject', 'container_name': self.CONTAINER_NAME, 'name': OBJECT_NAME, 'object_file': OBJECT_FILE} self.mox.StubOutWithMock(api, 'swift_upload_object_with_manifest') api.swift_upload_object_with_manifest(IsA(http.HttpRequest), unicode(self.CONTAINER_NAME), unicode(OBJECT_NAME), OBJECT_DATA) self.mox.ReplayAll() res = self.client.post(reverse('dash_objects_upload', args=[self.TEST_TENANT, self.CONTAINER_NAME]), formData) self.assertRedirectsNoFollow(res, reverse('dash_objects_upload', args=[self.TEST_TENANT, self.CONTAINER_NAME])) self.mox.VerifyAll()
def handle(self, request, data): try: file = self.files['object_file'] cont = data['container_name'] cont = cont.encode('utf-8') obj = data['name'] obj = obj.encode('utf-8') api.swift_upload_object_with_manifest(request, cont, obj, file) messages.success(request, "Object was successfully uploaded.") except Exception as e: messages.error(request, "Upload Object was failed (%s)" % str(e)) return shortcuts.redirect(request.build_absolute_uri())
def handle(self, request, data): try: file = self.files['object_file'] cont = data['container_name'] cont = cont.encode('utf-8') obj = data['name'] obj = obj.encode('utf-8') obj = obj.replace('/', '%2F') api.swift_upload_object_with_manifest(request, cont, obj, file, request.session.get('storage_url', None)) messages.success(request, "Object was successfully uploaded.") except Exception as e: messages.error(request, "Upload Object was failed (%s)" % str(e)) finally: try: if getattr(file, 'temporary_file_path', None): name = file.temporary_file_path() file.close() os.remove(name) except Exception, e: LOG.exception('file delete failed %s' % str(e))
def handle(self, request, data): try: file = self.files['object_file'] cont = data['container_name'] cont = cont.encode('utf-8') obj = data['name'] obj = obj.encode('utf-8') obj = obj.replace('/', '%2F') api.swift_upload_object_with_manifest( request, cont, obj, file, request.session.get('storage_url', None)) messages.success(request, "Object was successfully uploaded.") except Exception as e: messages.error(request, "Upload Object was failed (%s)" % str(e)) finally: try: if getattr(file, 'temporary_file_path', None): name = file.temporary_file_path() file.close() os.remove(name) except Exception, e: LOG.exception('file delete failed %s' % str(e))