Download plugins/BulkTracking/tests/Unit/ResponseTest.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 4.06 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/BulkTracking/tests/Unit/ResponseTest.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/BulkTracking/tests/Unit/ResponseTest.php
-
curl -L -o ResponseTest.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/BulkTracking/tests/Unit/ResponseTest.php
4.06 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Plugins\BulkTracking\tests\Unit; | |
| use Piwik\Plugins\BulkTracking\Tracker\Response; | |
| use Piwik\Tests\Framework\Mock\Tracker; | |
| use Piwik\Tests\Framework\TestCase\UnitTestCase; | |
| use Exception; | |
| /** | |
| * @group BulkTracking | |
| * @group ResponseTest | |
| * @group Plugins | |
| */ | |
| class ResponseTest extends UnitTestCase | |
| { | |
| /** | |
| * @var Response | |
| */ | |
| private $response; | |
| public function setUp(): void | |
| { | |
| parent::setUp(); | |
| $mock = self::getMockBuilder(Response::class)->onlyMethods(['logExceptionToErrorLog']); | |
| $this->response = $mock->getMock(); | |
| $this->response->init(new Tracker()); | |
| } | |
| public function testOutputExceptionShouldOutputBulkResponse() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->outputException($tracker, new Exception('My Custom Message'), 400); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"error","tracked":5,"invalid":0}', $content); | |
| } | |
| public function testOutputExceptionShouldOutputDebugMessageIfEnabled() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $tracker->enableDebugMode(); | |
| $this->response->outputException($tracker, new Exception('My Custom Message'), 400); | |
| $content = $this->response->getOutput(); | |
| $this->assertStringStartsWith('{"status":"error","tracked":5,"invalid":0,"message":"My Custom Message\n', $content); | |
| } | |
| public function testOutputResponseShouldOutputBulkResponse() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->outputResponse($tracker); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"success","tracked":5,"invalid":0}', $content); | |
| } | |
| public function testOutputResponseShouldNotOutputAnythingIfExceptionResponseAlreadySent() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->outputException($tracker, new Exception('My Custom Message'), 400); | |
| $this->response->outputResponse($tracker); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"error","tracked":5,"invalid":0}', $content); | |
| } | |
| public function testOutputResponseShouldIncludeInvalidIndicesIfExceptionSetAndRequestAuthenticated() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->setInvalidRequests(array(10, 20)); | |
| $this->response->setIsAuthenticated(true); | |
| $this->response->outputException($tracker, new Exception('My Custom Message'), 400); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"error","tracked":5,"invalid":2,"invalid_indices":[10,20]}', $content); | |
| } | |
| public function testOutputResponseShouldOutputInvalidRequestsIfInvalidIndicesSetAndRequestNotAuthenticated() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->setInvalidRequests(array(5, 63, 72)); | |
| $this->response->outputResponse($tracker); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"success","tracked":5,"invalid":3}', $content); | |
| } | |
| public function testOutputResponseShouldOutputInvalidRequestsIfInvalidIndicesSetAndRequestAuthenticated() | |
| { | |
| $tracker = $this->getTrackerWithCountedRequests(); | |
| $this->response->setInvalidRequests(array(5, 63, 72)); | |
| $this->response->setIsAuthenticated(true); | |
| $this->response->outputResponse($tracker); | |
| $content = $this->response->getOutput(); | |
| $this->assertEquals('{"status":"success","tracked":5,"invalid":3,"invalid_indices":[5,63,72]}', $content); | |
| } | |
| private function getTrackerWithCountedRequests() | |
| { | |
| $tracker = new Tracker(); | |
| $tracker->setCountOfLoggedRequests(5); | |
| return $tracker; | |
| } | |
| } | |