X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fsecurity_review%2Fsrc%2FTests%2FChecklistWebTest.php;fp=web%2Fmodules%2Fcontrib%2Fsecurity_review%2Fsrc%2FTests%2FChecklistWebTest.php;h=dead358338a9f141f44b270632aab04edda6ec28;hp=0000000000000000000000000000000000000000;hb=74df008bdbb3a11eeea356744f39b802369bda3c;hpb=419f97be044f1aebd0713921ee604841127e9e84 diff --git a/web/modules/contrib/security_review/src/Tests/ChecklistWebTest.php b/web/modules/contrib/security_review/src/Tests/ChecklistWebTest.php new file mode 100644 index 000000000..dead35833 --- /dev/null +++ b/web/modules/contrib/security_review/src/Tests/ChecklistWebTest.php @@ -0,0 +1,99 @@ +checklist = \Drupal::getContainer() + ->get('security_review.checklist'); + + // Login. + $this->user = $this->drupalCreateUser( + [ + 'run security checks', + 'access security review list', + 'access administration pages', + 'administer site configuration', + ] + ); + $this->drupalLogin($this->user); + + // Populate $checks. + $this->checks = security_review_security_review_checks(); + + // Clear cache. + Checklist::clearCache(); + } + + /** + * Tests a full checklist run. + * + * Tests whether the checks hasn't been run yet, then runs them and checks + * that their lastRun value is not 0. + */ + public function testRun() { + foreach ($this->checks as $check) { + $this->assertEqual(0, $check->lastRun(), $check->getTitle() . ' has not been run yet.'); + } + $this->checklist->runChecklist(); + foreach ($this->checks as $check) { + $this->assertNotEqual(0, $check->lastRun(), $check->getTitle() . ' has been run.'); + } + } + + /** + * Skips all checks then runs the checklist. No checks should be ran. + */ + public function testSkippedRun() { + foreach ($this->checks as $check) { + $check->skip(); + } + $this->checklist->runChecklist(); + foreach ($this->checks as $check) { + $this->assertEqual(0, $check->lastRun(), $check->getTitle() . ' has not been run.'); + } + } + +}