NIFI-6882 from plain patch file in JIRA contributed by 'Josh'

Removed tests which created dirs outside target location and which do not appear unit testable.
This commit is contained in:
Joe Witt 2020-01-18 14:57:09 -05:00
parent 71226ce077
commit 0789ec3a6b
No known key found for this signature in database
GPG Key ID: 9093BF854F811A1A
2 changed files with 35 additions and 1 deletions

View File

@ -229,7 +229,7 @@ public class PutFile extends AbstractProcessor {
Path tempDotCopyFile = null;
try {
final Path rootDirPath = configuredRootDirPath;
final Path rootDirPath = configuredRootDirPath.toAbsolutePath();
String filename = flowFile.getAttribute(CoreAttributes.FILENAME.key());
final Path tempCopyFile = rootDirPath.resolve("." + filename);
final Path copyFile = rootDirPath.resolve(filename);

View File

@ -84,6 +84,40 @@ public class TestPutFile {
assertEquals("Hello world!!", new String(content));
}
@Test
public void testCreateRelativeDirectory() throws IOException {
final TestRunner runner = TestRunners.newTestRunner(new PutFile());
String newDir = TARGET_DIRECTORY + "/new-folder";
runner.setProperty(PutFile.DIRECTORY, newDir);
runner.setProperty(PutFile.CONFLICT_RESOLUTION, PutFile.REPLACE_RESOLUTION);
Map<String, String> attributes = new HashMap<>();
attributes.put(CoreAttributes.FILENAME.key(), "targetFile.txt");
runner.enqueue("Hello world!!".getBytes(), attributes);
runner.run();
runner.assertAllFlowFilesTransferred(FetchFile.REL_SUCCESS, 1);
Path targetPath = Paths.get(newDir + "/targetFile.txt");
byte[] content = Files.readAllBytes(targetPath);
assertEquals("Hello world!!", new String(content));
}
@Test(expected = AssertionError.class)
public void testCreateEmptyStringDirectory() throws IOException {
final TestRunner runner = TestRunners.newTestRunner(new PutFile());
String newDir = "";
runner.setProperty(PutFile.DIRECTORY, newDir);
runner.setProperty(PutFile.CONFLICT_RESOLUTION, PutFile.REPLACE_RESOLUTION);
Map<String, String> attributes = new HashMap<>();
attributes.put(CoreAttributes.FILENAME.key(), "targetFile.txt");
runner.enqueue("Hello world!!".getBytes(), attributes);
runner.run();
runner.assertAllFlowFilesTransferred(FetchFile.REL_SUCCESS, 1);
Path targetPath = Paths.get(newDir + "/targetFile.txt");
byte[] content = Files.readAllBytes(targetPath);
assertEquals("Hello world!!", new String(content));
}
@Test
public void testReplaceConflictResolution() throws IOException {
final TestRunner runner = TestRunners.newTestRunner(new PutFile());