52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
|
|
/*
|
|
* @file
|
|
* Tests for archive.drush.inc
|
|
*/
|
|
class archiveDumpCase extends Drush_TestCase {
|
|
|
|
/*
|
|
* Test dump and extraction.
|
|
*/
|
|
public function testArchiveDump() {
|
|
$env = 'testarchivedump';
|
|
$this->setUpDrupal($env, TRUE, '6');
|
|
$root = $this->sites[$env]['root'];
|
|
$docroot = 'web';
|
|
|
|
// Create the alias for D7 site.
|
|
$aliases['archivedump'] = array(
|
|
'root' => UNISH_SANDBOX . '/' . $docroot,
|
|
'uri' => $env,
|
|
);
|
|
$contents = $this->file_aliases($aliases);
|
|
$alias_path = "$root/aliases.drushrc.php";
|
|
file_put_contents($alias_path, $contents);
|
|
|
|
$name = "example";
|
|
$dump_dest = "dump.tar.gz";
|
|
$options = array(
|
|
'root' => $root,
|
|
'uri' => $env,
|
|
'yes' => NULL,
|
|
'destination' => 'dump.tar.gz',
|
|
);
|
|
$this->drush('archive-dump', array('@archivedump'), $options);
|
|
$exec = sprintf('file %s/%s', UNISH_SANDBOX, $dump_dest);
|
|
$this->execute($exec);
|
|
$output = $this->getOutput();
|
|
$expected = UNISH_SANDBOX . "/dump.tar.gz: gzip compressed data, from Unix";
|
|
$this->assertEquals($expected, $output);
|
|
|
|
// Untar it, make sure it looks right.
|
|
$exec = sprintf('tar -xzf %s/%s', UNISH_SANDBOX, $dump_dest);
|
|
$untar_dest = UNISH_SANDBOX . '/untar';
|
|
$exec = sprintf('mkdir %s && cd %s && tar xzf %s/%s', $untar_dest, $untar_dest, UNISH_SANDBOX, $dump_dest);
|
|
$this->execute($exec);
|
|
$this->execute(sprintf('head %s/unish_%s.sql | grep "MySQL dump"', $untar_dest, $env));
|
|
$this->execute('test -f ' . $untar_dest . '/MANIFEST.ini');
|
|
$this->execute('test -d ' . $untar_dest . '/' . $docroot);
|
|
}
|
|
}
|