&1'); } protected function tearDown(): void { exec('rclone purge temp 2>&1', $output); } public function testBadConfig() { $applicationd = new Application('backup', "1.1.1"); $applicationd->add(new CommandBackup()); $command = $applicationd->find('backup'); $commandTester = new CommandTester($command); $commandTester->execute(['config'=>"bad_file"]); $output = $commandTester->getDisplay(); $this->assertStringContainsString('[ERROR] Configuration error:File "bad_file" does not exist.', $output); } public function testGoodConfig() { $applicationd = new Application('backup', "1.1.1"); $applicationd->add(new CommandBackup()); $command = $applicationd->find('backup'); $commandTester = new CommandTester($command); $commandTester->execute(['config'=>"config.example.yml"]); $output = $commandTester->getDisplay(); $this->assertStringContainsString('[OK] Complete ', $output); } public function testNoDestinationFolder() { exec('rclone purge temp/destination 2>&1', $output); $applicationd = new Application('backup', "1.1.1"); $applicationd->add(new CommandBackup()); $command = $applicationd->find('backup'); $commandTester = new CommandTester($command); $commandTester->execute(['config'=>"config.example.yml"]); $output = $commandTester->getDisplay(); $this->assertStringContainsString('[OK] Complete ', $output); } public function testNoSourceFolder() { exec('rclone purge temp/source 2>&1', $output); $applicationd = new Application('backup', "1.1.1"); $applicationd->add(new CommandBackup()); $command = $applicationd->find('backup'); $commandTester = new CommandTester($command); $commandTester->execute(['config'=>"config.example.yml"]); $output = $commandTester->getDisplay(); $this->assertStringContainsString('[OK] Complete ', $output); } }