api = API::getInstance(); } public function test_unblockBruteForceIPs_requiresSuperUser() { $this->expectException(\Exception::class); $this->expectExceptionMessage('checkUserHasSuperUserAccess'); FakeAccess::clearAccess(false, array(1,2,3)); $this->api->unblockBruteForceIPs(); } public function test_unblockBruteForceIPs_doesNotFailWhenNothingToRemove() { $this->api->unblockBruteForceIPs(); $this->assertTrue(true); } public function test_unblockBruteForceIPs_removesBlockedIps() { $bruteForce = StaticContainer::get('Piwik\Plugins\Login\Security\BruteForceDetection'); $bruteForce->addFailedAttempt('127.2.3.4'); for ($i = 0; $i < 22; $i++) { $bruteForce->addFailedAttempt('127.2.3.5'); } $this->assertCount(23, $bruteForce->getAll()); $this->api->unblockBruteForceIPs(); $this->assertCount(1, $bruteForce->getAll()); } public function provideContainerConfig() { return array( 'Piwik\Access' => new FakeAccess() ); } }