Source of file PackageSecurityExtensionTest.php
Size: 1,960 Bytes - Last Modified: 2021-12-23T10:37:58+00:00
/var/www/docs.ssmods.com/process/src/tests/Extensions/PackageSecurityExtensionTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | <?php namespace BringYourOwnIdeas\SecurityChecker\Tests\Extensions; use BringYourOwnIdeas\Maintenance\Model\Package; use SilverStripe\Dev\SapphireTest; use Symbiote\QueuedJobs\Services\QueuedJobService; class PackageSecurityExtensionTest extends SapphireTest { protected static $fixture_file = 'PackageSecurityExtensionTest.yml'; protected function setUp() { if (!class_exists(Package::class)) { static::$fixture_file = null; parent::setUp(); $this->markTestSkipped('This test class requires the maintenance module to be installed'); } QueuedJobService::config()->set('use_shutdown_function', false); parent::setUp(); } public function testAlertsAreIncludedInDataSchema() { /** @var Package $package */ $package = $this->objFromFixture(Package::class, 'package_a'); $dataSchema = $package->getDataSchema(); $this->assertArrayHasKey('securityAlerts', $dataSchema); $this->assertNotEmpty($dataSchema['securityAlerts']); $firstAlert = $dataSchema['securityAlerts'][0]; $this->assertEquals('SS-123-456', $firstAlert['Identifier']); $this->assertEquals('silverstripe.org', $firstAlert['ExternalLink']); } public function testListSecurityAlertIdentifiers() { /** @var Package $package */ $package = $this->objFromFixture(Package::class, 'otheralerts'); $identifiers = $package->listSecurityAlertIdentifiers(); $this->assertContains('ABC-001', $identifiers); $this->assertContains('SPY-007', $identifiers); } public function testGetBadgesHook() { /** @var Package $package */ $package = $this->objFromFixture(Package::class, 'otheralerts'); $badges = $package->getBadges(); $this->assertCount(1, $badges); $this->assertEquals('warning security-alerts__toggler', $badges->first()->Type); } } |