Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
danepowell committed Feb 2, 2024
1 parent f7c1ea5 commit e565f0c
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions tests/phpunit/src/Commands/Pull/PullDatabaseCommandTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ public function testPullDatabases(): void {
$this->mockListSites($sshHelper);
$this->mockGetBackup($environment);
$this->mockExecuteMySqlListTables($localMachineHelper, 'drupal');
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE);
$this->mockExecuteMySqlImport($localMachineHelper, TRUE, TRUE, 'my_db', 'my_dbdev', 'drupal');
$fs = $this->prophet->prophesize(Filesystem::class);
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE, $fs);
$this->mockExecuteMySqlImport($localMachineHelper, TRUE, TRUE, 'my_db', 'my_dbdev', 'drupal');
$fs->remove(Argument::type('string'))->shouldBeCalled();
$localMachineHelper->getFilesystem()->willReturn($fs)->shouldBeCalled();

$this->executeCommand([
Expand Down Expand Up @@ -107,10 +108,11 @@ public function testPullDatabaseNoPv(): void {
$this->mockListSites($sshHelper);
$this->mockGetBackup($environment);
$this->mockExecuteMySqlListTables($localMachineHelper, 'drupal');
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE);
$this->mockExecuteMySqlImport($localMachineHelper, TRUE, FALSE, 'my_db', 'my_dbdev', 'drupal');
$fs = $this->prophet->prophesize(Filesystem::class);
$localMachineHelper->getFilesystem()->willReturn($fs)->shouldBeCalled();
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE, $fs);
$this->mockExecuteMySqlImport($localMachineHelper, TRUE, FALSE, 'my_db', 'my_dbdev', 'drupal');
$fs->remove(Argument::type('string'))->shouldBeCalled();

$this->executeCommand([
'--no-scripts' => TRUE,
Expand Down Expand Up @@ -208,7 +210,9 @@ public function testPullDatabaseWithMySqlDropError(): void {
$this->mockListSites($sshHelper);
$this->mockGetBackup($environment);
$this->mockExecuteMySqlListTables($localMachineHelper, 'drupal');
$this->mockExecuteMySqlDropDb($localMachineHelper, FALSE);
$fs = $this->prophet->prophesize(Filesystem::class);
$localMachineHelper->getFilesystem()->willReturn($fs)->shouldBeCalled();
$this->mockExecuteMySqlDropDb($localMachineHelper, FALSE, $fs);

$this->expectException(AcquiaCliException::class);
$this->expectExceptionMessage('Unable to drop tables from database');
Expand All @@ -225,7 +229,9 @@ public function testPullDatabaseWithMySqlImportError(): void {
$this->mockListSites($sshHelper);
$this->mockGetBackup($environment);
$this->mockExecuteMySqlListTables($localMachineHelper, 'drupal');
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE);
$fs = $this->prophet->prophesize(Filesystem::class);
$localMachineHelper->getFilesystem()->willReturn($fs)->shouldBeCalled();
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE, $fs);
$this->mockExecuteMySqlImport($localMachineHelper, FALSE, TRUE, 'my_db', 'my_dbdev', 'drupal');

$this->expectException(AcquiaCliException::class);
Expand Down Expand Up @@ -286,12 +292,12 @@ protected function setupPullDatabase(bool $mysqlConnectSuccessful, bool $mockIde
// Mock IDE filesystem.
if ($mockIdeFs) {
$this->mockDrupalSettingsRefresh($localMachineHelper);
$this->mockSettingsFiles($fs);
}
$this->mockSettingsFiles($fs);

// Database.
$this->mockExecuteMySqlListTables($localMachineHelper);
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE);
$this->mockExecuteMySqlDropDb($localMachineHelper, TRUE, $fs);
$this->mockExecuteMySqlImport($localMachineHelper, TRUE, TRUE);
if ($multiDb) {
$this->mockExecuteMySqlListTables($localMachineHelper, 'drupal');
Expand Down Expand Up @@ -357,10 +363,13 @@ protected function mockExecuteMySqlListTables(

protected function mockExecuteMySqlDropDb(
LocalMachineHelper|ObjectProphecy $localMachineHelper,
bool $success
bool $success,
ObjectProphecy $fs
): void {
$localMachineHelper->checkRequiredBinariesExist(["mysql"])->shouldBeCalled();
$process = $this->mockProcess($success);
$fs->tempnam(Argument::type('string'), 'acli_drop_table_', '.sql')->willReturn('something')->shouldBeCalled();
$fs->dumpfile('something', Argument::type('string'))->shouldBeCalled();
$localMachineHelper
->execute(Argument::type('array'), Argument::type('callable'), NULL, FALSE, NULL, ['MYSQL_PWD' => $this->dbPassword])
->willReturn($process->reveal())
Expand Down

0 comments on commit e565f0c

Please sign in to comment.