Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
S
stats-facil
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneur
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
facil
stats-facil
Validations
e654274b
Valider
e654274b
rédigé
il y a 9 ans
par
Thomas Steur
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Remove no longer needed file
parent
9e7da42f
Aucune branche associée trouvée
Branches contenant la validation
Aucune étiquette associée trouvée
Étiquettes contenant la validation
Aucune requête de fusion associée trouvée
Modifications
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
plugins/Live/tests/System/APICounterTest.php
+0
-186
0 ajout, 186 suppressions
plugins/Live/tests/System/APICounterTest.php
avec
0 ajout
et
186 suppressions
plugins/Live/tests/System/APICounterTest.php
supprimé
100644 → 0
+
0
−
186
Voir le fichier @
9e7da42f
<?php
/**
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace
Piwik\Plugins\Live\tests\System
;
use
Piwik\Date
;
use
Piwik\Db
;
use
Piwik\Plugins\Goals\API
as
GoalsApi
;
use
Piwik\Plugins\Live\API
;
use
Piwik\Tests\Framework\Fixture
;
use
Piwik\Tests\Framework\Mock\FakeAccess
;
use
Piwik\Tests\Framework\TestCase\SystemTestCase
;
/**
* @group Live
* @group ApiTest
* @group Api
* @group Plugins
*/
class
ApiCounterTest
extends
SystemTestCase
{
/**
* @var API
*/
private
$api
;
private
$idSite
=
1
;
public
function
setUp
()
{
parent
::
setUp
();
$this
->
api
=
API
::
getInstance
();
$this
->
setSuperUser
();
$this
->
createSite
();
}
/**
* @expectedException \Exception
* @expectedExceptionMessage checkUserHasViewAccess Fake exception
*/
public
function
test_GetCounters_ShouldFail_IfUserHasNoPermission
()
{
$this
->
setAnonymous
();
$this
->
api
->
getCounters
(
$this
->
idSite
,
5
);
}
public
function
test_GetCounters_ShouldReturnZeroForAllCounters_IfThereAreNoVisitsEtc
()
{
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
5
);
$this
->
assertEquals
(
$this
->
buildCounter
(
0
,
0
,
0
,
0
),
$counters
);
}
public
function
test_GetCounters_ShouldOnlyReturnResultsOfLastMinutes
()
{
$this
->
trackSomeVisits
();
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
5
);
$this
->
assertEquals
(
$this
->
buildCounter
(
19
,
32
,
16
,
16
),
$counters
);
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
20
);
$this
->
assertEquals
(
$this
->
buildCounter
(
24
,
60
,
20
,
40
),
$counters
);
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
0
);
$this
->
assertEquals
(
$this
->
buildCounter
(
0
,
0
,
0
,
0
),
$counters
);
}
public
function
test_GetCounters_ShouldHideAllColumnsIfRequested
()
{
$exampleCounter
=
$this
->
buildCounter
(
0
,
0
,
0
,
0
);
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
5
,
false
,
array
(),
array_keys
(
$exampleCounter
[
0
]));
$this
->
assertEquals
(
array
(
array
()),
$counters
);
}
public
function
test_GetCounters_ShouldHideSomeColumnsIfRequested
()
{
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
20
,
false
,
array
(),
array
(
'visitsConverted'
,
'visitors'
));
$this
->
assertEquals
(
array
(
array
(
'visits'
=>
24
,
'actions'
=>
60
)),
$counters
);
}
public
function
test_GetCounters_ShouldShowAllColumnsIfRequested
()
{
$counter
=
$this
->
buildCounter
(
24
,
60
,
20
,
40
);
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
20
,
false
,
array_keys
(
$counter
[
0
]));
$this
->
assertEquals
(
$counter
,
$counters
);
}
public
function
test_GetCounters_ShouldShowSomeColumnsIfRequested
()
{
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
20
,
false
,
array
(
'visits'
,
'actions'
));
$this
->
assertEquals
(
array
(
array
(
'visits'
=>
24
,
'actions'
=>
60
)),
$counters
);
}
public
function
test_GetCounters_ShouldHideColumnIfGivenInShowAndHide
()
{
$counters
=
$this
->
api
->
getCounters
(
$this
->
idSite
,
20
,
false
,
array
(
'visits'
,
'actions'
),
array
(
'actions'
));
$this
->
assertEquals
(
array
(
array
(
'visits'
=>
24
)),
$counters
);
}
private
function
trackSomeVisits
()
{
$nowTimestamp
=
time
();
// use local tracker so mock location provider can be used
$t
=
Fixture
::
getTracker
(
$this
->
idSite
,
$nowTimestamp
,
$defaultInit
=
true
,
$useLocal
=
false
);
$t
->
enableBulkTracking
();
for
(
$i
=
0
;
$i
!=
20
;
++
$i
)
{
$t
->
setForceNewVisit
();
$t
->
setVisitorId
(
substr
(
md5
(
$i
*
1000
),
0
,
$t
::
LENGTH_VISITOR_ID
));
$factor
=
10
;
if
(
$i
>
15
)
{
$factor
=
30
;
// make sure first 15 visits are always within 5 minutes to prevent any random fails
}
$time
=
$nowTimestamp
-
(
$i
*
$factor
);
// first visit -> this one is > 5 minutes and should be ignored in one test
$date
=
Date
::
factory
(
$time
-
600
);
$t
->
setForceVisitDateTime
(
$date
->
getDatetime
());
$t
->
setUrl
(
"http://piwik.net/space/quest/iv"
);
$t
->
doTrackPageView
(
"Space Quest XV"
);
$t
->
doTrackGoal
(
1
);
// this one is > 5 minutes and should be ignored in one test
// second visit
$date
=
Date
::
factory
(
$time
-
1
);
$t
->
setForceVisitDateTime
(
$date
->
getDatetime
());
$t
->
setUrl
(
"http://piwik.net/space/quest/iv"
);
$t
->
doTrackPageView
(
"Space Quest XII"
);
if
(
$i
%
6
==
0
)
{
$t
->
setForceNewVisit
();
// to test visitors vs visits
}
// third visit
$date
=
Date
::
factory
(
$time
);
$t
->
setForceVisitDateTime
(
$date
->
getDatetime
());
$t
->
setUrl
(
"http://piwik.net/grue/
$i
"
);
$t
->
doTrackPageView
(
'It is pitch black...'
);
$t
->
doTrackGoal
(
2
);
}
$t
->
doBulkTrack
();
}
private
function
buildCounter
(
$visits
,
$actions
,
$visitors
,
$visitsConverted
)
{
return
array
(
array
(
'visits'
=>
$visits
,
'actions'
=>
$actions
,
'visitors'
=>
$visitors
,
'visitsConverted'
=>
$visitsConverted
,
));
}
private
function
createSite
()
{
Fixture
::
createWebsite
(
'2013-01-23 01:23:45'
);
GoalsApi
::
getInstance
()
->
addGoal
(
1
,
'MyName'
,
'manually'
,
''
,
'contains'
);
GoalsApi
::
getInstance
()
->
addGoal
(
1
,
'MyGoal'
,
'manually'
,
''
,
'contains'
);
}
private
function
setSuperUser
()
{
FakeAccess
::
$superUser
=
true
;
}
private
function
setAnonymous
()
{
FakeAccess
::
clearAccess
();
}
public
static
function
provideContainerConfigBeforeClass
()
{
return
array
(
'Piwik\Access'
=>
new
FakeAccess
()
);
}
}
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter