Skip to content

Commit

Permalink
Merge pull request #44 from acquia/ACMS-000
Browse files Browse the repository at this point in the history
ACMS-000: Custom bootstrap test file added & included a patch in ORCA to fix failing CI issue.
  • Loading branch information
vishalkhode1 committed Mar 14, 2024
2 parents 30e6791 + 1b5f226 commit e6ccc08
Show file tree
Hide file tree
Showing 20 changed files with 76 additions and 69 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/drs_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ jobs:
env:
ORCA_JOB: ISOLATED_TEST_ON_CURRENT
CI: TRUE
ORCA_TEST_BOOTSTRAP_FILE: ${{ github.workspace }}/tests/src/bootstrap.php
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
Expand All @@ -66,7 +67,9 @@ jobs:
coverage: xdebug
ini-values: assert.active=1, assert.exception=1, zend.assertions=1
- name: Download ORCA
run: composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n
run: |
composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n
curl https://gist.githubusercontent.com/vishalkhode1/ed98372190aac83d7be6c5cc27f2303d/raw/custom-tests-bootstrap.patch | git -C ../orca apply
- name: Before Install
run: ../orca/bin/ci/before_install.sh
- name: Install
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Config;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Config;

use Acquia\Drupal\RecommendedSettings\Config\ConfigInitializer;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Consolidation\Config\Config;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputOption;
Expand All @@ -14,7 +14,7 @@
*
* @covers \Acquia\Drupal\RecommendedSettings\Config\ConfigInitializer
*/
class ConfigInitializerTest extends FunctionalBaseTest {
class ConfigInitializerTest extends FunctionalTestBase {

/**
* Tests setSite() method.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Config;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Config;

use Acquia\Drupal\RecommendedSettings\Config\DefaultDrushConfig;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Drush\Config\DrushConfig;

/**
* Functional test for the DefaultDrushConfig class.
*
* @covers \Acquia\Drupal\RecommendedSettings\Config\DefaultDrushConfig
*/
class DefaultDrushConfigTest extends FunctionalBaseTest {
class DefaultDrushConfigTest extends FunctionalTestBase {

/**
* Tests the default config data.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Config;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Config;

use Acquia\Drupal\RecommendedSettings\Common\RandomString;
use Acquia\Drupal\RecommendedSettings\Config\SettingsConfig;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\Traits\FileCreationTraitTest;
use Acquia\Drupal\RecommendedSettings\Tests\Traits\StringTraitTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Acquia\Drupal\RecommendedSettings\Tests\Traits\FileCreationTrait;

/**
* Functional test for the SettingsConfig class.
*
* @covers \Acquia\Drupal\RecommendedSettings\Config\SettingsConfig
*/
class SettingsConfigTest extends FunctionalBaseTest {
class SettingsConfigTest extends FunctionalTestBase {

use StringTraitTest;
use FileCreationTraitTest;
use FileCreationTrait;

/**
* Holds the path to file.
Expand All @@ -27,7 +26,7 @@ class SettingsConfigTest extends FunctionalBaseTest {
*/
protected function setUp(): void {
parent::setUp();
$this->file = $this->getProjectRoot() . "/" . $this->randomString(5) . ".txt";
$this->file = $this->getProjectRoot() . "/" . RandomString::string(5) . ".txt";
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Config;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Config;

use Acquia\Drupal\RecommendedSettings\Config\YamlConfigProcessor;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;

/**
* Functional test for the YamlConfigProcessor class.
*
* @covers \Acquia\Drupal\RecommendedSettings\Config\YamlConfigProcessor
*/
class YamlConfigProcessorTest extends FunctionalBaseTest {
class YamlConfigProcessorTest extends FunctionalTestBase {

/**
* Tests the preprocess() method.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Drush\Traits;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Drush\Traits;

use Acquia\Drupal\RecommendedSettings\Drush\Traits\SiteUriTrait;
use Acquia\Drupal\RecommendedSettings\Helpers\Filesystem;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;

/**
* Functional test for the SiteUriTrait trait.
*
* @covers \Acquia\Drupal\RecommendedSettings\Drush\Traits\SiteUriTrait
*/
class SiteUriTraitTest extends FunctionalBaseTest {
class SiteUriTraitTest extends FunctionalTestBase {
use SiteUriTrait;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Helpers;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Helpers;

use Acquia\Drupal\RecommendedSettings\Helpers\EnvironmentDetector;
use Acquia\Drupal\RecommendedSettings\Helpers\Filesystem as DrsFilesystem;
use Acquia\Drupal\RecommendedSettings\Plugin;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Composer\Composer;
use Composer\Config;
use Composer\IO\IOInterface;
Expand All @@ -16,7 +16,7 @@
*
* @covers \Acquia\Drupal\RecommendedSettings\Helpers\EnvironmentDetector
*/
class EnvironmentDetectorTest extends FunctionalBaseTest {
class EnvironmentDetectorTest extends FunctionalTestBase {

/**
* The recommended setting's plugin object.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Helpers;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Helpers;

use Acquia\Drupal\RecommendedSettings\Helpers\Filesystem as DrsFilesystem;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;

/**
* Functional test for the Filesystem class.
*
* @covers \Acquia\Drupal\RecommendedSettings\Helpers\Filesystem
*/
class FilesystemTest extends FunctionalBaseTest {
class FilesystemTest extends FunctionalTestBase {

/**
* The path to drupal webroot directory.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\functional\Helpers;
namespace Acquia\Drupal\RecommendedSettings\Tests\Functional\Helpers;

use Acquia\Drupal\RecommendedSettings\Helpers\HashGenerator;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Composer\IO\IOInterface;

/**
* Functional test for the HashGenerator class.
*
* @covers \Acquia\Drupal\RecommendedSettings\Helpers\HashGenerator
*/
class HashGeneratorTest extends FunctionalBaseTest {
class HashGeneratorTest extends FunctionalTestBase {

/**
* Composer's I/O service.
Expand All @@ -28,7 +28,8 @@ protected function setUp(): void {

/**
* Test HashGenerator::generate().
* @throws SettingsException
*
* @throws \Acquia\Drupal\RecommendedSettings\Exceptions\SettingsException
*/
public function testGenerate(): void {
HashGenerator::generate($this->getProjectRoot(), $this->io);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
/**
* Base functional PHPUnit class.
*/
abstract class FunctionalBaseTest extends TestCase {
abstract class FunctionalTestBase extends TestCase {

/**
* An array of fixture files to create.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/**
* Test traits to perform file operations.
*/
trait FileCreationTraitTest {
trait FileCreationTrait {

/**
* Creates a file and write/append contents to the file.
Expand Down
25 changes: 0 additions & 25 deletions tests/src/Traits/StringTraitTest.php

This file was deleted.

29 changes: 29 additions & 0 deletions tests/src/bootstrap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

use DrupalFinder\DrupalFinder;

$finder = new DrupalFinder();
$finder->locateRoot(getcwd());
$root = $finder->getDrupalRoot();
$vendor = $finder->getVendorDir();

// When running projects locally, the path will return empty.
if (!$vendor) {
$vendor = getcwd() . "/vendor";
}

$autoload = "$vendor/autoload.php";
if (!file_exists($autoload)) {
throw new Exception("Unable to determine autoload file.");
}

/** @var \Composer\Autoload\ClassLoader $class_loader */
// Require Project's autoloader.
$class_loader = require $autoload;

$class_loader->addPsr4("Acquia\\Drupal\\RecommendedSettings\\Tests\\", __DIR__);
if ($root) {
// Register the Drupal core 'Test' namespaces. This is required, as ORCA uses
// "\Drupal\Tests\Listeners\HtmlOutputPrinter" as printer class.
$class_loader->addPsr4('Drupal\\', "$root/core/tests/Drupal");
}
2 changes: 1 addition & 1 deletion tests/src/unit/Common/ArrayManipulatorTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit\Common;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit\Common;

use Acquia\Drupal\RecommendedSettings\Common\ArrayManipulator;
use PHPUnit\Framework\TestCase;
Expand Down
2 changes: 1 addition & 1 deletion tests/src/unit/Common/IOTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit\Common;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit\Common;

use Acquia\Drupal\RecommendedSettings\Common\IO;
use PHPUnit\Framework\TestCase;
Expand Down
2 changes: 1 addition & 1 deletion tests/src/unit/Common/RandomStringTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit\Common;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit\Common;

use Acquia\Drupal\RecommendedSettings\Common\RandomString;
use PHPUnit\Framework\TestCase;
Expand Down
2 changes: 1 addition & 1 deletion tests/src/unit/Common/StringManipulatorTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit\Common;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit\Common;

use Acquia\Drupal\RecommendedSettings\Common\StringManipulator;
use PHPUnit\Framework\TestCase;
Expand Down
6 changes: 3 additions & 3 deletions tests/src/unit/PluginUnitTest.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit;

use Acquia\Drupal\RecommendedSettings\Plugin;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;
use Composer\Composer;
use Composer\Config;
use Composer\DependencyResolver\Operation\InstallOperation;
Expand All @@ -12,7 +12,7 @@
use Composer\Package\RootPackage;
use Composer\Repository\RepositoryInterface;

class PluginUnitTest extends FunctionalBaseTest {
class PluginUnitTest extends FunctionalTestBase {

/**
* The recommended setting's plugin object.
Expand Down
2 changes: 1 addition & 1 deletion tests/src/unit/SettingsTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit;

use Acquia\Drupal\RecommendedSettings\Helpers\Filesystem as DrsFilesystem;
use Acquia\Drupal\RecommendedSettings\Settings;
Expand Down
6 changes: 3 additions & 3 deletions tests/src/unit/SettingsUnitTest.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace Acquia\Drupal\RecommendedSettings\Tests\unit;
namespace Acquia\Drupal\RecommendedSettings\Tests\Unit;

use Acquia\Drupal\RecommendedSettings\Settings;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalBaseTest;
use Acquia\Drupal\RecommendedSettings\Tests\FunctionalTestBase;

class SettingsUnitTest extends FunctionalBaseTest {
class SettingsUnitTest extends FunctionalTestBase {

/**
* The path to settings for testing.
Expand Down

0 comments on commit e6ccc08

Please sign in to comment.