2019-01-26 03:19:20 -06:00
|
|
|
<?php
|
2019-10-05 10:26:10 -05:00
|
|
|
|
2019-01-26 03:19:20 -06:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2019-08-11 09:30:46 -05:00
|
|
|
namespace Shlinkio\Shlink\TestUtils;
|
2019-01-26 03:19:20 -06:00
|
|
|
|
2019-01-27 05:14:18 -06:00
|
|
|
use Doctrine\ORM\EntityManager;
|
2019-01-26 03:19:20 -06:00
|
|
|
use Psr\Container\ContainerInterface;
|
2019-02-26 15:56:43 -06:00
|
|
|
|
2020-09-26 03:43:50 -05:00
|
|
|
use function register_shutdown_function;
|
|
|
|
use function sprintf;
|
|
|
|
|
2022-08-27 02:09:14 -05:00
|
|
|
use const ShlinkioTest\Shlink\API_TESTS_HOST;
|
|
|
|
use const ShlinkioTest\Shlink\API_TESTS_PORT;
|
2020-09-26 03:43:50 -05:00
|
|
|
|
2019-01-26 03:19:20 -06:00
|
|
|
/** @var ContainerInterface $container */
|
|
|
|
$container = require __DIR__ . '/../container.php';
|
2019-08-11 09:30:46 -05:00
|
|
|
$testHelper = $container->get(Helper\TestHelper::class);
|
2019-01-27 05:14:18 -06:00
|
|
|
$config = $container->get('config');
|
|
|
|
$em = $container->get(EntityManager::class);
|
2020-09-26 03:43:50 -05:00
|
|
|
$httpClient = $container->get('shlink_test_api_client');
|
|
|
|
|
2021-12-10 10:45:50 -06:00
|
|
|
// Dump code coverage when process shuts down
|
2020-09-26 03:43:50 -05:00
|
|
|
register_shutdown_function(function () use ($httpClient): void {
|
|
|
|
$httpClient->request(
|
|
|
|
'GET',
|
2022-08-27 02:09:14 -05:00
|
|
|
sprintf('http://%s:%s/api-tests/stop-coverage', API_TESTS_HOST, API_TESTS_PORT),
|
2020-09-26 03:43:50 -05:00
|
|
|
);
|
|
|
|
});
|
2019-01-27 05:14:18 -06:00
|
|
|
|
2022-09-08 07:10:09 -05:00
|
|
|
$testHelper->createTestDb(
|
|
|
|
['bin/cli', 'db:create'],
|
|
|
|
['bin/cli', 'db:migrate'],
|
|
|
|
['bin/doctrine', 'orm:schema-tool:drop'],
|
|
|
|
['bin/doctrine', 'dbal:run-sql'],
|
|
|
|
);
|
2020-09-26 03:43:50 -05:00
|
|
|
ApiTest\ApiTestCase::setApiClient($httpClient);
|
2019-12-29 16:16:55 -06:00
|
|
|
ApiTest\ApiTestCase::setSeedFixturesCallback(fn () => $testHelper->seedFixtures($em, $config['data_fixtures'] ?? []));
|