File size: 2,963 Bytes
2ec30d2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | <?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\Bandwidth\tests\Framework\TestCase;
use Piwik\DataAccess\ArchiveTableCreator;
use Piwik\Db;
use Piwik\Plugin;
use Piwik\Tests\Framework\Fixture;
use Piwik\Tests\Framework\Mock\FakeAccess;
/**
* @group Bandwidth
*/
class IntegrationTestCase extends \Piwik\Tests\Framework\TestCase\IntegrationTestCase
{
protected $date;
public function setUp(): void
{
parent::setUp();
$this->setSuperUser();
Fixture::createSuperUser();
Fixture::createWebsite('2014-01-01 00:00:00');
Plugin\Manager::getInstance()->loadPlugin('Bandwidth');
try {
Plugin\Manager::getInstance()->activatePlugin('Bandwidth');
} catch (\Exception $e) {
}
}
public function tearDown(): void
{
// clean up your test here if needed
$tables = ArchiveTableCreator::getTablesArchivesInstalled();
if (!empty($tables)) {
Db::dropTables($tables);
}
parent::tearDown();
}
protected function setUser()
{
FakeAccess::$superUser = false;
FakeAccess::$idSitesView = [1];
FakeAccess::$identity = 'aUser';
}
protected function setSuperUser()
{
FakeAccess::$superUser = true;
}
protected function setAnonymousUser()
{
FakeAccess::clearAccess();
FakeAccess::$identity = 'anonymous';
}
protected function getTracker()
{
$tracker = Fixture::getTracker(1, $this->date . ' 00:01:01', true, true);
$tracker->setTokenAuth(Fixture::getTokenAuth());
return $tracker;
}
protected function trackPageviews($bytes)
{
$tracker = $this->getTracker();
foreach ($bytes as $byte) {
$this->trackPageview($tracker, $byte);
}
}
protected function trackPageview($tracker, $byte, $url = null)
{
if (null !== $url) {
$tracker->setUrl('http://www.example.org' . $url);
}
if (null === $byte) {
$tracker->setDebugStringAppend('');
} else {
$tracker->setDebugStringAppend('bw_bytes=' . $byte);
}
$title = $url ?: 'test';
$tracker->doTrackPageView($title);
}
protected function trackDownloads($bytes)
{
$tracker = $this->getTracker();
foreach ($bytes as $byte) {
if (null === $byte) {
$tracker->setDebugStringAppend('');
} else {
$tracker->setDebugStringAppend('bw_bytes=' . $byte);
}
$tracker->doTrackAction('http://www.example.com/test', 'download');
}
}
public function provideContainerConfig()
{
return [
'Piwik\Access' => new FakeAccess(),
];
}
}
|