$files_from, Option::ARCHIVE => false, Option::LINKS => true, Option::TIMES => true, Option::RECURSIVE => true, Option::VERBOSE => true, Option::COMPRESS => true, Option::CHECKSUM => true, Option::DRY_RUN => false, ]); $identity_file = '/path/to/private/key'; $ssh = new SSH([ SSH::USERNAME => 'root', SSH::HOST => '192.168.1.101', SSH::PORT => 22, SSH::IDENTITY_FILE => $identity_file, ]); $rsync = new Rsync( $option, $ssh ); $this->assertInstanceOf('\Codeplayr\Rsyncer\Rsync', $rsync); $cmd = $rsync->getCommand( $source, $destination ); $this->assertContains('-ltrvzc', $cmd); $this->assertContains("--files-from=\"{$files_from}\"", $cmd); $this->assertContains("-e=\"ssh -i {$identity_file}\"", $cmd); } public function test_rsync_execution_with_dryrun_returns_success(){ $source = realpath( __DIR__ . '/../src/' ); $destination = __DIR__; function transform( $path ){ $pos = strpos( $path, ':'); $left = substr($path, 0, $pos); $right = substr($path, $pos + 1 ); return str_replace('\\', '/', "/cygdrive/" . $left . $right); } if(substr( strtolower(PHP_OS), 0, 3) == 'win'){ $source = transform( $source ); $destination = transform( $destination ); } $option = new Option([ Option::ARCHIVE => true, Option::DRY_RUN => true, ]); $rsync = new Rsync( $option, null, [Rsync::SHOW_OUTPUT => true]); $this->assertTrue( $rsync->sync( $source, $destination ) ); } public function test_flags_with_dash(){ $helper = new Helper(); $this->assertEquals('a', $helper->removeDash('-a')); $this->assertEquals('archive', $helper->removeDash('--archive')); $this->assertEquals('archive', $helper->removeDash('archive')); $this->assertEquals('-a', $helper->addDash('a')); $this->assertEquals('--archive', $helper->addDash('archive')); $this->assertEquals('--archive', $helper->addDash('--archive')); } /** * @dataProvider invalid_flags_dataprovider */ public function test_invalid_flag_returns_exception( $flag ){ $this->setExpectedException('InvalidArgumentException'); $helper = new Helper(); $helper->removeDash( $flag ); $helper->addDash( $flag ); } public function invalid_flags_dataprovider() { return [ [0], [''], ['-'], ['--'] ]; } }