Merged 5.2.N (5.2.1) to HEAD (5.2)

129133 mmuller: Merged RETURN-OF-THE-API (5.2.0) to 5.2.N (5.2.1)
      128173 jvonka: REPO-839: Fix guess mimetype (if no file ext) - on upload and/or update (after a rename)
      - improvement to REPO-495
      - will also apply to REPO-518 when implemented


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@129327 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alexandru Epure
2016-08-09 14:10:26 +00:00
parent 37846a0c94
commit 99ae11c173
2 changed files with 60 additions and 2 deletions

View File

@@ -895,7 +895,7 @@ public class NodeApiTest extends AbstractBaseApiTest
// upload files
String fileName = "quick.pdf";
String fileName = "quick-2.pdf";
File file = getResourceFile(fileName);
MultiPartBuilder multiPartBuilder = MultiPartBuilder.create()
@@ -908,6 +908,19 @@ public class NodeApiTest extends AbstractBaseApiTest
assertEquals(MimetypeMap.MIMETYPE_PDF, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
fileName = "quick-2.pdf";
file = getResourceFile(fileName);
multiPartBuilder = MultiPartBuilder.create()
.setFileData(new FileData("quick-2", file)); // note: we've deliberately dropped the file ext here
reqBody = multiPartBuilder.build();
response = post(getNodeChildrenUrl(fId), user1, reqBody.getBody(), null, reqBody.getContentType(), 201);
document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class);
contentInfo = document.getContent();
assertEquals(MimetypeMap.MIMETYPE_PDF, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
fileName = "example-1.txt";
file = getResourceFile(fileName);
@@ -973,6 +986,42 @@ public class NodeApiTest extends AbstractBaseApiTest
assertEquals(MimetypeMap.MIMETYPE_XML, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
// upload file, rename and then update file
fileName = "quick.pdf";
file = getResourceFile(fileName);
multiPartBuilder = MultiPartBuilder.create()
.setFileData(new FileData(fileName, file));
reqBody = multiPartBuilder.build();
response = post(getNodeChildrenUrl(fId), user1, reqBody.getBody(), null, reqBody.getContentType(), 201);
document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class);
String docId = document.getId();
contentInfo = document.getContent();
assertEquals(MimetypeMap.MIMETYPE_PDF, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
// rename (mimeType remains unchanged, binary has not changed)
Document dUpdate = new Document();
dUpdate.setName("quick.docx");
response = put(URL_NODES, user1, docId, toJsonAsStringNonNull(dUpdate), null, 200);
document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class);
contentInfo = document.getContent();
assertEquals(MimetypeMap.MIMETYPE_PDF, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
fileName = "quick.docx";
file = getResourceFile(fileName);
BinaryPayload payload = new BinaryPayload(file);
response = putBinary(getNodeContentUrl(docId), user1, payload, null, null, 200);
document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class);
contentInfo = document.getContent();
assertEquals(MimetypeMap.MIMETYPE_OPENXML_WORDPROCESSING, contentInfo.getMimeType());
assertEquals("UTF-8", contentInfo.getEncoding());
// cleanup
delete(URL_NODES, user1, fId, 204);
}