assertFalse(file_exists($outputFile)); $job->output($outputFile)->run(); sleep(2); $this->assertTrue(file_exists($outputFile)); // Content should be 'hi' $this->assertEquals('hi', file_get_contents($outputFile)); unlink($outputFile); } public function testShouldWriteCommandOutputToMultipleFiles() { $command = PHP_BINARY . ' ' . __DIR__ . '/../test_job.php'; $job = new Job($command); $outputFile1 = __DIR__ . '/../tmp/output1.log'; $outputFile2 = __DIR__ . '/../tmp/output2.log'; $outputFile3 = __DIR__ . '/../tmp/output3.log'; @unlink($outputFile1); @unlink($outputFile2); @unlink($outputFile3); // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile1)); $this->assertFalse(file_exists($outputFile2)); $this->assertFalse(file_exists($outputFile3)); $job->output([ $outputFile1, $outputFile2, $outputFile3, ])->run(); sleep(2); $this->assertTrue(file_exists($outputFile1)); $this->assertTrue(file_exists($outputFile2)); $this->assertTrue(file_exists($outputFile3)); $this->assertEquals('hi', file_get_contents($outputFile1)); $this->assertEquals('hi', file_get_contents($outputFile2)); $this->assertEquals('hi', file_get_contents($outputFile3)); unlink($outputFile1); unlink($outputFile2); unlink($outputFile3); } public function testShouldWriteFunctionOutputToSingleFile() { $job = new Job(function () { echo 'Hello '; return 'World!'; }); $outputFile = __DIR__ . '/../tmp/output.log'; @unlink($outputFile); // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile)); $job->output($outputFile)->run(); sleep(2); $this->assertTrue(file_exists($outputFile)); $this->assertEquals('Hello World!', file_get_contents($outputFile)); unlink($outputFile); } public function testShouldWriteFunctionOutputToMultipleFiles() { $job = new Job(function () { echo 'Hello'; }); $outputFile1 = __DIR__ . '/../tmp/output1.log'; $outputFile2 = __DIR__ . '/../tmp/output2.log'; $outputFile3 = __DIR__ . '/../tmp/output3.log'; @unlink($outputFile1); @unlink($outputFile2); @unlink($outputFile3); // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile1)); $this->assertFalse(file_exists($outputFile2)); $this->assertFalse(file_exists($outputFile3)); $job->output([ $outputFile1, $outputFile2, $outputFile3, ])->run(); sleep(2); $this->assertTrue(file_exists($outputFile1)); $this->assertTrue(file_exists($outputFile2)); $this->assertTrue(file_exists($outputFile3)); $this->assertEquals('Hello', file_get_contents($outputFile1)); $this->assertEquals('Hello', file_get_contents($outputFile2)); $this->assertEquals('Hello', file_get_contents($outputFile3)); unlink($outputFile1); unlink($outputFile2); unlink($outputFile3); } public function testShouldWriteFunctionReturnToSingleFile() { $job = new Job(function () { return 'Hello World!'; }); $outputFile = __DIR__ . '/../tmp/output1.log'; // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile)); $job->output($outputFile)->run(); sleep(2); $this->assertTrue(file_exists($outputFile)); $this->assertEquals('Hello World!', file_get_contents($outputFile)); unlink($outputFile); } public function testShouldWriteFunctionReturnToMultipleFiles() { $job = new Job(function () { return ['Hello ', 'World!']; }); $outputFile1 = __DIR__ . '/../tmp/output1.log'; $outputFile2 = __DIR__ . '/../tmp/output2.log'; $outputFile3 = __DIR__ . '/../tmp/output3.log'; @unlink($outputFile1); @unlink($outputFile2); @unlink($outputFile3); // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile1)); $this->assertFalse(file_exists($outputFile2)); $this->assertFalse(file_exists($outputFile3)); $job->output([ $outputFile1, $outputFile2, $outputFile3, ])->run(); sleep(2); $this->assertTrue(file_exists($outputFile1)); $this->assertTrue(file_exists($outputFile2)); $this->assertTrue(file_exists($outputFile3)); $this->assertEquals('Hello World!', file_get_contents($outputFile1)); $this->assertEquals('Hello World!', file_get_contents($outputFile2)); $this->assertEquals('Hello World!', file_get_contents($outputFile3)); unlink($outputFile1); unlink($outputFile2); unlink($outputFile3); } public function testShouldWriteFunctionOutputAndReturnToFile() { $job = new Job(function () { echo 'Hello '; return 'World!'; }); $outputFile = __DIR__ . '/../tmp/output1.log'; // Test fist that the file doesn't exist yet $this->assertFalse(file_exists($outputFile)); $job->output($outputFile)->run(); sleep(2); $this->assertTrue(file_exists($outputFile)); $this->assertEquals('Hello World!', file_get_contents($outputFile)); unlink($outputFile); } }