From 32ed6e909b8349f60c9a30f3aa8753fd70fb8721 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Wed, 27 Oct 2021 18:00:43 +1300 Subject: [PATCH] API phpunit9 support --- composer.json | 5 +- phpunit.xml.dist | 8 ++- tests/AuditHookMFATest.php | 46 +++++++------- tests/AuditHookSessionManagerTest.php | 2 +- tests/AuditHookTest.php | 88 +++++++++++++-------------- 5 files changed, 76 insertions(+), 73 deletions(-) diff --git a/composer.json b/composer.json index cbc5139..198f112 100644 --- a/composer.json +++ b/composer.json @@ -8,13 +8,14 @@ ], "license": "BSD-3-Clause", "require": { - "silverstripe/framework": "^4.0", + "php": "^7.3 || ^8.0", + "silverstripe/framework": "^4.10", "monolog/monolog": "~1.11", "psr/log": "~1.0", "tractorcow/silverstripe-proxy-db": "~0.1" }, "require-dev": { - "sminnee/phpunit": "^5.7", + "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "^3.0", "silverstripe/versioned": "^1.0" }, diff --git a/phpunit.xml.dist b/phpunit.xml.dist index f93a537..39cfb6a 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,7 +1,9 @@ - - tests/ - + + + tests/ + + code/ diff --git a/tests/AuditHookMFATest.php b/tests/AuditHookMFATest.php index a177b3c..0311135 100644 --- a/tests/AuditHookMFATest.php +++ b/tests/AuditHookMFATest.php @@ -2,7 +2,7 @@ namespace SilverStripe\Auditor\Tests; -use PHPUnit_Framework_MockObject_MockObject; +use PHPUnit\Framework\MockObject\MockObject; use SilverStripe\Auditor\Tests\AuditHookTest\Logger; use SilverStripe\Control\HTTPRequest; use SilverStripe\Control\Session; @@ -33,11 +33,11 @@ class AuditHookMFATest extends SapphireTest protected $member; /** - * @var MethodInterface|PHPUnit_Framework_MockObject_MockObject + * @var MethodInterface|MockObject */ protected $method; - protected function setUp() + protected function setUp(): void { parent::setUp(); @@ -65,9 +65,9 @@ public function testOnRegisterMethod() $this->handler->extend('onRegisterMethod', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('registered MFA method', $message); - $this->assertContains('MethodInterface', $message, 'Method class name is in context'); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('registered MFA method', $message); + $this->assertStringContainsString('MethodInterface', $message, 'Method class name is in context'); } public function testOnRegisterMethodFailure() @@ -75,9 +75,9 @@ public function testOnRegisterMethodFailure() $this->handler->extend('onRegisterMethodFailure', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('failed registering new MFA method', $message); - $this->assertContains('MethodInterface', $message, 'Method class name is in context'); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('failed registering new MFA method', $message); + $this->assertStringContainsString('MethodInterface', $message, 'Method class name is in context'); } public function testOnMethodVerificationFailure() @@ -86,10 +86,10 @@ public function testOnMethodVerificationFailure() $this->handler->extend('onMethodVerificationFailure', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('failed to verify using MFA method', $message); - $this->assertContains('MethodInterface', $message, 'Method class name is in context'); - $this->assertNotContains('attempt_limit', $message); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('failed to verify using MFA method', $message); + $this->assertStringContainsString('MethodInterface', $message, 'Method class name is in context'); + $this->assertStringNotContainsString('attempt_limit', $message); } public function testOnMethodVerificationFailureWithLockoutConfiguration() @@ -101,12 +101,12 @@ public function testOnMethodVerificationFailureWithLockoutConfiguration() $this->handler->extend('onMethodVerificationFailure', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('failed to verify using MFA method', $message); - $this->assertContains('MethodInterface', $message, 'Method class name is in context'); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('failed to verify using MFA method', $message); + $this->assertStringContainsString('MethodInterface', $message, 'Method class name is in context'); // NB: json format is defined by AuditHookTest\Logger::log() - $this->assertContains('"attempts":3', $message); - $this->assertContains('"attempt_limit":5', $message); + $this->assertStringContainsString('"attempts":3', $message); + $this->assertStringContainsString('"attempt_limit":5', $message); } public function testOnSkipRegistration() @@ -114,8 +114,8 @@ public function testOnSkipRegistration() $this->handler->extend('onSkipRegistration', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('skipped MFA registration', $message); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('skipped MFA registration', $message); } public function testOnMethodVerificationSuccess() @@ -123,8 +123,8 @@ public function testOnMethodVerificationSuccess() $this->handler->extend('onMethodVerificationSuccess', $this->member, $this->method); $message = $this->writer->getLastMessage(); - $this->assertContains('leslie@example.com', $message); - $this->assertContains('successfully verified using MFA method', $message); - $this->assertContains('MethodInterface', $message, 'Method class name is in context'); + $this->assertStringContainsString('leslie@example.com', $message); + $this->assertStringContainsString('successfully verified using MFA method', $message); + $this->assertStringContainsString('MethodInterface', $message, 'Method class name is in context'); } } diff --git a/tests/AuditHookSessionManagerTest.php b/tests/AuditHookSessionManagerTest.php index 733aaee..c94eb05 100644 --- a/tests/AuditHookSessionManagerTest.php +++ b/tests/AuditHookSessionManagerTest.php @@ -22,7 +22,7 @@ class AuditHookSessionManagerTest extends SapphireTest */ protected $writer = null; - protected function setUp() + protected function setUp(): void { parent::setUp(); if (!class_exists(LoginSessionController::class)) { diff --git a/tests/AuditHookTest.php b/tests/AuditHookTest.php index a795e9d..0f93255 100644 --- a/tests/AuditHookTest.php +++ b/tests/AuditHookTest.php @@ -20,7 +20,7 @@ class AuditHookTest extends FunctionalTest */ protected $writer = null; - protected function setUp() + protected function setUp(): void { parent::setUp(); @@ -36,8 +36,8 @@ public function testLoggingIn() $this->logInWithPermission('ADMIN'); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('successfully logged in', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('successfully logged in', $message); } public function testAutoLoggingIn() @@ -49,8 +49,8 @@ public function testAutoLoggingIn() $member->extend('memberAutoLoggedIn'); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('successfully restored autologin', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('successfully restored autologin', $message); } public function testLoggingOut() @@ -61,8 +61,8 @@ public function testLoggingOut() $this->logOut(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('successfully logged out', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('successfully logged out', $message); } public function testLoggingWriteDoesNotOccurWhenNotLoggedIn() @@ -84,9 +84,9 @@ public function testLoggingWriteWhenLoggedIn() $group->write(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('modified', $message); - $this->assertContains(Group::class, $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('modified', $message); + $this->assertStringContainsString(Group::class, $message); } public function testAddMemberToGroupUsingGroupMembersRelation() @@ -102,9 +102,9 @@ public function testAddMemberToGroupUsingGroupMembersRelation() $group->Members()->add($member); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('added Member "joe1"', $message); - $this->assertContains('to Group "My group"', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('added Member "joe1"', $message); + $this->assertStringContainsString('to Group "My group"', $message); } public function testAddMemberToGroupUsingMemberGroupsRelation() @@ -120,9 +120,9 @@ public function testAddMemberToGroupUsingMemberGroupsRelation() $member->Groups()->add($group); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('added Member "joe2"', $message); - $this->assertContains('to Group "My group"', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('added Member "joe2"', $message); + $this->assertStringContainsString('to Group "My group"', $message); } public function testRemoveMemberFromGroupUsingGroupMembersRelation() @@ -139,9 +139,9 @@ public function testRemoveMemberFromGroupUsingGroupMembersRelation() $group->Members()->remove($member); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('removed Member "joe3"', $message); - $this->assertContains('from Group "My group"', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('removed Member "joe3"', $message); + $this->assertStringContainsString('from Group "My group"', $message); } public function testRemoveMemberFromGroupUsingMemberGroupsRelation() @@ -158,9 +158,9 @@ public function testRemoveMemberFromGroupUsingMemberGroupsRelation() $member->Groups()->remove($group); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('removed Member "joe4"', $message); - $this->assertContains('from Group "My group"', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('removed Member "joe4"', $message); + $this->assertStringContainsString('from Group "My group"', $message); } public function testAddRoleCodeToRole() @@ -175,8 +175,8 @@ public function testAddRoleCodeToRole() $permissionRole->write(); $message = $this->writer->getLastMessage(); - $this->assertContains('Effective code', $message); - $this->assertContains('grand_ruler', $message); + $this->assertStringContainsString('Effective code', $message); + $this->assertStringContainsString('grand_ruler', $message); } public function testAddViewerGroupToPage() @@ -198,8 +198,8 @@ public function testAddViewerGroupToPage() $page->publishSingle(); $message = $this->writer->getLastMessage(); - $this->assertContains('Effective ViewerGroups', $message); - $this->assertContains('OnlyTheseUsers', $message); + $this->assertStringContainsString('Effective ViewerGroups', $message); + $this->assertStringContainsString('OnlyTheseUsers', $message); } public function testPublishPage() @@ -217,9 +217,9 @@ public function testPublishPage() $page->publishSingle(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('published Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('published Page', $message); + $this->assertStringContainsString('My page', $message); } public function testUnpublishPage() @@ -238,9 +238,9 @@ public function testUnpublishPage() $page->doUnpublish(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('unpublished Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('unpublished Page', $message); + $this->assertStringContainsString('My page', $message); } public function testDuplicatePage() @@ -258,9 +258,9 @@ public function testDuplicatePage() $page->duplicate(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('duplicated Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('duplicated Page', $message); + $this->assertStringContainsString('My page', $message); } public function testRevertToLive() @@ -282,9 +282,9 @@ public function testRevertToLive() $page->doRevertToLive(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('reverted Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('reverted Page', $message); + $this->assertStringContainsString('My page', $message); } public function testDelete() @@ -304,9 +304,9 @@ public function testDelete() $page->delete(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('deleted Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('deleted Page', $message); + $this->assertStringContainsString('My page', $message); } public function testRestoreToStage() @@ -329,8 +329,8 @@ public function testRestoreToStage() $page->delete(); $message = $this->writer->getLastMessage(); - $this->assertContains('ADMIN@example.org', $message); - $this->assertContains('deleted Page', $message); - $this->assertContains('My page', $message); + $this->assertStringContainsString('ADMIN@example.org', $message); + $this->assertStringContainsString('deleted Page', $message); + $this->assertStringContainsString('My page', $message); } }