Skip to content

Commit

Permalink
Add even more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jcisio committed Jun 28, 2021
1 parent aa657c8 commit 4e1ecef
Showing 1 changed file with 81 additions and 4 deletions.
85 changes: 81 additions & 4 deletions tests/src/SecurityCheckerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,46 @@ public function testChecker($url, $lock, $exclude_dev, $expected_status)
}
}

/**
* Basic tests.
*
* @dataProvider dataProviderMultipleProviders
*
* @param array $urls
* Urls of composer.json containing security advisories.
* @param string $lock
* Url of composer.lock to check.
* @param bool $exclude_dev
* Exclude_dev option.
* @param string $expected_status
* Expected status of test.
*
* @return void
*
* @throws \Exception
*/
public function testMultipleProviders($urls, $lock, $exclude_dev, $expected_status)
{
$composer_lock = file_get_contents($lock);
$this->assertIsString($composer_lock);

if (is_string($composer_lock)) {
$checker = new SecurityChecker($urls);
$data = $checker->checkComposer($composer_lock, $exclude_dev);
$this->assertArrayHasKey('status', $data);
$this->assertEquals($expected_status, $data['status']);
}
}

/**
* Data for testing.
*
* @return array
* Trios of:
* - Url of composer.json containing security advisories,
* - Url of composer.lock to check,
* - Expected status.
* Quadruplos of:
* - Url of composer.json containing security advisories
* - Url of composer.lock to check
* - Exclude_dev option
* - Expected status
*/
public function dataProvider()
{
Expand Down Expand Up @@ -95,4 +127,49 @@ public function dataProvider()
],
];
}

/**
* Data for testing multiple providers.
*
* @return array
* Quadruplos of:
* - Urls of composer.json containing security advisories
* - Url of composer.lock to check
* - Exclude_dev option
* - Expected status
*/
public function dataProviderMultipleProviders()
{
$data_dir = __DIR__ . '/../data';
$providers = [
$data_dir . '/composer-drupal.json',
$data_dir . '/composer-roave.json',
];
return [
'drupal' => [
$providers,
$data_dir . '/drupal8.8.0/composer.lock',
false,
'vulnerable',
],
'symfony' => [
$providers,
$data_dir . '/symfony4.3.8/composer.lock',
false,
'ok',
],
'dev-vulnerable' => [
$providers,
$data_dir . '/dev-vulnerable/composer.lock',
false,
'vulnerable',
],
'dev-vulnerable-nodev' => [
$providers,
$data_dir . '/dev-vulnerable/composer.lock',
true,
'ok',
],
];
}
}

0 comments on commit 4e1ecef

Please sign in to comment.