#include <set> #include <fstream> #include "TestBase.h" #include "LogAttribute.h" #include "GetFile.h" TEST_CASE("GetFile: FIFO", "[getFileFifo]") { // NOLINT TestController testController; LogTestController::getInstance().setTrace<TestPlan>(); LogTestController::getInstance().setTrace<processors::GetFile>(); LogTestController::getInstance().setTrace<processors::LogAttribute>(); auto plan = testController.createPlan(); auto repo = std::make_shared<TestRepository>(); // Define directory for input std::string in_dir("/tmp/gt.XXXXXX"); REQUIRE(testController.createTempDirectory(&in_dir[0]) != nullptr); // Define test input file std::string in_file(in_dir); in_file.append("/testfifo"); // Build MiNiFi processing graph auto get_file = plan->addProcessor( "GetFile", "Get"); plan->setProperty(
static const char *TMP_FILE = "/tmp/minifi-tmpfile.txt"; static const char *STATE_FILE = "/tmp/minifi-state-file.txt"; TEST_CASE("TailFileWithDelimiter", "[tailfiletest1]") { // Create and write to the test file std::ofstream tmpfile; tmpfile.open(TMP_FILE); tmpfile << NEWLINE_FILE; tmpfile.close(); TestController testController; LogTestController::getInstance().setTrace<minifi::processors::TailFile>(); LogTestController::getInstance().setDebug<core::ProcessSession>(); LogTestController::getInstance().setDebug<minifi::processors::LogAttribute>(); std::shared_ptr<TestPlan> plan = testController.createPlan(); std::shared_ptr<core::Processor> tailfile = plan->addProcessor("TailFile", "tailfileProc"); plan->addProcessor("LogAttribute", "logattribute", core::Relationship("success", "description"), true); char format[] = "/tmp/gt.XXXXXX"; char *dir = testController.createTempDirectory(format); plan->setProperty(tailfile, org::apache::nifi::minifi::processors::TailFile::FileName.getName(), TMP_FILE); plan->setProperty(tailfile, org::apache::nifi::minifi::processors::TailFile::StateFile.getName(), STATE_FILE); plan->setProperty(tailfile, org::apache::nifi::minifi::processors::TailFile::Delimiter.getName(), "\n"); testController.runSession(plan, false); auto records = plan->getProvenanceRecords(); std::shared_ptr<core::FlowFile> record = plan->getCurrentFlowFile(); REQUIRE(record == nullptr);