1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-09 00:22:53 +00:00

Allow defining multiple reppos in pool builder tests

This commit is contained in:
Nils Adermann 2020-08-28 12:15:19 +02:00
parent 9a04ecefbf
commit fcb9ef4899
14 changed files with 149 additions and 121 deletions

View file

@ -36,7 +36,7 @@ class PoolBuilderTest extends TestCase
/**
* @dataProvider getIntegrationTests
*/
public function testPoolBuilder($file, $message, $expect, $root, $requestData, $packages, $fixed)
public function testPoolBuilder($file, $message, $expect, $root, $requestData, $packageRepos, $fixed)
{
$rootAliases = !empty($root['aliases']) ? $root['aliases'] : array();
$minimumStability = !empty($root['minimum-stability']) ? $root['minimum-stability'] : 'stable';
@ -73,11 +73,13 @@ class PoolBuilderTest extends TestCase
};
$repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $rootAliases, $rootReferences);
$repositorySet->addRepository($repo = new ArrayRepository());
$repositorySet->addRepository($lockedRepo = new LockArrayRepository());
foreach ($packages as $package) {
$repo->addPackage($loadPackage($package));
foreach ($packageRepos as $packages) {
$repositorySet->addRepository($repo = new ArrayRepository());
foreach ($packages as $package) {
$repo->addPackage($loadPackage($package));
}
}
$repositorySet->addRepository($lockedRepo = new LockArrayRepository());
if (isset($requestData['locked'])) {
foreach ($requestData['locked'] as $package) {
@ -153,7 +155,7 @@ class PoolBuilderTest extends TestCase
$request = JsonFile::parseJson($testData['REQUEST']);
$root = !empty($testData['ROOT']) ? JsonFile::parseJson($testData['ROOT']) : array();
$packages = JsonFile::parseJson($testData['PACKAGES']);
$packageRepos = JsonFile::parseJson($testData['PACKAGE-REPOS']);
$fixed = array();
if (!empty($testData['FIXED'])) {
$fixed = JsonFile::parseJson($testData['FIXED']);
@ -163,7 +165,7 @@ class PoolBuilderTest extends TestCase
die(sprintf('Test "%s" is not valid: '.$e->getMessage(), str_replace($fixturesDir.'/', '', $file)));
}
$tests[basename($file)] = array(str_replace($fixturesDir.'/', '', $file), $message, $expect, $root, $request, $packages, $fixed);
$tests[basename($file)] = array(str_replace($fixturesDir.'/', '', $file), $message, $expect, $root, $request, $packageRepos, $fixed);
}
return $tests;
@ -178,7 +180,7 @@ class PoolBuilderTest extends TestCase
'ROOT' => false,
'REQUEST' => true,
'FIXED' => false,
'PACKAGES' => true,
'PACKAGE-REPOS' => true,
'EXPECT' => true,
);