Skip to content

Commit

Permalink
refs matomo-org/matomo#7893 Make plugin compatible with new settings …
Browse files Browse the repository at this point in the history
…API in Piwik 3
  • Loading branch information
tsteur committed Apr 8, 2016
1 parent 236d6df commit d325d38
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 10 deletions.
4 changes: 2 additions & 2 deletions QueuedTracking.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
class QueuedTracking extends \Piwik\Plugin
{
/**
* @see Piwik\Plugin::getListHooksRegistered
* @see Piwik\Plugin::registerEvents
*/
public function getListHooksRegistered()
public function registerEvents()
{
return array(
'Tracker.newHandler' => 'replaceHandlerIfQueueIsEnabled'
Expand Down
5 changes: 0 additions & 5 deletions SystemSettings.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
use Piwik\Plugins\QueuedTracking\Settings\NumWorkers;
use Piwik\Settings\Setting;
use Piwik\Settings\FieldConfig;
use Piwik\Settings\Storage\Storage;
use Piwik\Settings\Storage\Backend;
use Piwik\Plugins\QueuedTracking\Queue\Factory;

Expand Down Expand Up @@ -49,12 +48,8 @@ class SystemSettings extends \Piwik\Settings\Plugin\SystemSettings
/** @var Setting */
public $numRequestsToProcess;

private $staticStorage;

protected function init()
{
$this->staticStorage = new Storage(new Backend\Null('QueuedTracking'));

$this->redisHost = $this->createRedisHostSetting();
$this->redisPort = $this->createRedisPortSetting();
$this->redisTimeout = $this->createRedisTimeoutSetting();
Expand Down
1 change: 1 addition & 0 deletions tests/Integration/Queue/FactoryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ public function test_getSettings_shouldReturnARedisInstance()
public function test_getSettings_shouldReturnASingleton()
{
$settings = Factory::getSettings();
$settings->redisTimeout->setIsWritableByCurrentUser(true);
$settings->redisTimeout->setValue(0.7);

// it would not return the same value usually as $settings->save() is not called
Expand Down
5 changes: 3 additions & 2 deletions tests/Integration/Settings/NumWorkersTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

namespace Piwik\Plugins\QueuedTracking\tests\Integration\Settings;

use Piwik\Container\StaticContainer;
use Piwik\Plugins\QueuedTracking\Queue\Factory;
use Piwik\Plugins\QueuedTracking\SystemSettings;
use Piwik\Plugins\QueuedTracking\tests\Framework\TestCase\IntegrationTestCase;
Expand All @@ -32,7 +31,8 @@ public function setUp()
parent::setUp();
$this->clearRedisDb();

$this->settings = self::$fixture->piwikEnvironment->getContainer()->get('Piwik\Plugins\QueuedTracking\SystemSettings');
$container = self::$fixture->piwikEnvironment->getContainer();
$this->settings = $container->get('Piwik\Plugins\QueuedTracking\SystemSettings');
}

public function tearDown()
Expand Down Expand Up @@ -65,6 +65,7 @@ public function test_numQueueWorkers_WhenChangingAValueItMovesRequestsIntoDiffer
$this->assertSame(1, $queues[3]->getNumberOfRequestSetsInQueue());

$this->settings->numQueueWorkers->setValue($newNumWorkers);
$this->settings->save();

$this->assertSame(4, $manager->getNumberOfRequestSetsInAllQueues());
$this->assertGreaterThanOrEqual(1, $queues[0]->getNumberOfRequestSetsInQueue());
Expand Down
10 changes: 9 additions & 1 deletion tests/Integration/SettingsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ public function test_redisPort_ShouldFail_IfPortIsTooHigh()
*/
public function test_redisTimeout_ShouldFail_IfTooLong()
{
$this->settings->redisTimeout->setIsWritableByCurrentUser(true);
$this->settings->redisTimeout->setValue('333.43');
}

Expand All @@ -78,6 +79,7 @@ public function test_redisTimeout_ShouldFail_IfTooLong()
*/
public function test_redisTimeout_ShouldFail_IfNotNumeric()
{
$this->settings->redisTimeout->setIsWritableByCurrentUser(true);
$this->settings->redisTimeout->setValue('33d3.43');
}

Expand Down Expand Up @@ -199,10 +201,16 @@ public function test_redisTimeout_ShouldBeNotUnlimitedByDefault()

public function test_redisTimeout_ShouldConvertAValueToFloat()
{
$this->settings->redisTimeout->setIsWritableByCurrentUser(true);
$this->settings->redisTimeout->setValue('4.45');
$this->assertSame(4.45, $this->settings->redisTimeout->getValue());
}

public function test_redisTimeout_ShouldNotBeWritableByDefault()
{
$this->assertFalse($this->settings->redisTimeout->isWritableByCurrentUser());
}

public function test_redisPort_ShouldConvertAValueToInt()
{
$this->settings->redisPort->setValue('4.45');
Expand Down Expand Up @@ -249,7 +257,7 @@ public function test_processDuringTrackingRequest_ShouldBeEnabledByDefault()

public function test_processDuringTrackingRequest_ShouldConvertAnyValueToBoolean()
{
$this->settings->processDuringTrackingRequest->setValue('y');
$this->settings->processDuringTrackingRequest->setValue('1');
$this->assertTrue($this->settings->processDuringTrackingRequest->getValue());
}

Expand Down

0 comments on commit d325d38

Please sign in to comment.