private void doUploadDownloadFileTest(CloudFile file, int fileSize) throws IOException, StorageException, URISyntaxException { File sourceFile = File.createTempFile("sourceFile", ".tmp"); File destinationFile = new File(sourceFile.getParentFile(), "destinationFile.tmp"); try { byte[] buffer = FileTestHelper.getRandomBuffer(fileSize); java.io.FileOutputStream fos = new java.io.FileOutputStream(sourceFile); fos.write(buffer); fos.close(); file.uploadFromFile(sourceFile.getAbsolutePath()); file.downloadToFile(destinationFile.getAbsolutePath()); assertTrue("Destination file does not exist.", destinationFile.exists()); assertEquals("Destination file does not match input file.", fileSize, destinationFile.length()); java.io.FileInputStream fis = new java.io.FileInputStream(destinationFile); byte[] readBuffer = new byte[fileSize]; fis.read(readBuffer); fis.close(); for (int i = 0; i < fileSize; i++) { assertEquals("File contents do not match.", buffer[i], readBuffer[i]); } } finally { if (sourceFile.exists()) { sourceFile.delete(); } if (destinationFile.exists()) { destinationFile.delete(); } } }
private void doUploadFromByteArrayTest(CloudFile file, int bufferSize, int bufferOffset, int count) throws Exception { byte[] buffer = FileTestHelper.getRandomBuffer(bufferSize); byte[] downloadedBuffer = new byte[bufferSize]; file.uploadFromByteArray(buffer, bufferOffset, count); file.downloadToByteArray(downloadedBuffer, 0); int i = 0; for (; i < count; i++) { assertEquals(buffer[i + bufferOffset], downloadedBuffer[i]); } for (; i < downloadedBuffer.length; i++) { assertEquals(0, downloadedBuffer[i]); } }
byte[] buffer = FileTestHelper.getRandomBuffer(2 * 1024);
public void testCloudFileDownloadRange() throws StorageException, URISyntaxException, IOException { int fileLengthToUse = 8 * 512; byte[] buffer = FileTestHelper.getRandomBuffer(8 * 512);
public void testCloudFileOpenOutputStream() throws URISyntaxException, StorageException, IOException { int fileLengthToUse = 8 * 512; byte[] buffer = FileTestHelper.getRandomBuffer(8 * 512);
public void testCloudFileUploadRange() throws URISyntaxException, StorageException, IOException { int fileLengthToUse = 8 * 512; byte[] buffer = FileTestHelper.getRandomBuffer(8 * 512);
/** * Test clearing file ranges. * * @throws URISyntaxException * @throws StorageException */ @Test public void testCloudFileClearRange() throws URISyntaxException, StorageException, IOException { int fileLengthToUse = 8 * 512; byte[] buffer = FileTestHelper.getRandomBuffer(8 * 512); String fileName = FileTestHelper.generateRandomFileName(); final CloudFile fileRef = this.share.getRootDirectoryReference().getFileReference(fileName); fileRef.create(fileLengthToUse); // Upload one page (page 0) ByteArrayInputStream inputStream = new ByteArrayInputStream(buffer); fileRef.uploadRange(inputStream, 0, fileLengthToUse); fileRef.clearRange(3 * 512, 2 * 512); byte[] result = new byte[fileLengthToUse]; fileRef.downloadToByteArray(result, 0); int i = 0; for (; i < 3 * 512; i++) { assertEquals(buffer[i], result[i]); } for (; i < 5 * 512; i++) { assertEquals(0, result[i]); } for (; i < 8 * 512; i++) { assertEquals(buffer[i], result[i]); } }
byte[] src = FileTestHelper.getRandomBuffer(length); ByteArrayInputStream srcStream = new ByteArrayInputStream(src); FileRequestOptions options = new FileRequestOptions();