Classes

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 Line Coverage (%) Cyclomatic Complexity App\Entity\AgentStat — Coverage: 100.0% | Lines: 86 | Complexity: 2 App\Service\IngressStatsParser — Coverage: 95.3% | Lines: 43 | Complexity: 23 App\Controller\System\LogviewController — Coverage: 97.5% | Lines: 40 | Complexity: 15 App\Security\GoogleIdentityAuthenticator — Coverage: 78.4% | Lines: 37 | Complexity: 11 App\Security\GoogleAuthenticator — Coverage: 100.0% | Lines: 35 | Complexity: 9 App\Entity\User — Coverage: 100.0% | Lines: 34 | Complexity: 20 App\Security\GitHubAuthenticator — Coverage: 100.0% | Lines: 34 | Complexity: 9 App\Security\GoogleApiTokenAuthenticator — Coverage: 67.6% | Lines: 34 | Complexity: 17 App\Security\LoginFormAuthenticator — Coverage: 100.0% | Lines: 23 | Complexity: 7 App\Controller\AgentStat\Create — Coverage: 100.0% | Lines: 19 | Complexity: 10 App\Controller\Api\AgentStatCreate — Coverage: 100.0% | Lines: 17 | Complexity: 2 App\Controller\User\Create — Coverage: 100.0% | Lines: 12 | Complexity: 3 App\Controller\ProfileController — Coverage: 100.0% | Lines: 11 | Complexity: 3 App\Dto\AgentStatInput — Coverage: 90.9% | Lines: 11 | Complexity: 8 App\Controller\Security\GoogleController — Coverage: 0.0% | Lines: 10 | Complexity: 2 App\Controller\User\Update — Coverage: 100.0% | Lines: 10 | Complexity: 3 App\Form\UserType — Coverage: 100.0% | Lines: 10 | Complexity: 2 App\Controller\Api\AgentStatIndex — Coverage: 100.0% | Lines: 9 | Complexity: 1 App\Controller\Security\GitHubController — Coverage: 0.0% | Lines: 9 | Complexity: 2 App\Security\FakeGoogleIdTokenVerifier — Coverage: 88.9% | Lines: 9 | Complexity: 5 App\Service\AgentStatService — Coverage: 77.8% | Lines: 9 | Complexity: 4 App\Controller\Security\LoginFormController — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Controller\System\AboutController — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Form\AgentStatImportType — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Controller\DefaultController — Coverage: 100.0% | Lines: 6 | Complexity: 1 App\Enum\UserRole — Coverage: 100.0% | Lines: 6 | Complexity: 6 App\Security\GoogleIdTokenVerifier — Coverage: 0.0% | Lines: 6 | Complexity: 4 App\Controller\User\Delete — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Form\UserParamsType — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Repository\UserRepository — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Security\DevGoogleIdTokenVerifier — Coverage: 100.0% | Lines: 4 | Complexity: 4 App\Command\UserAdminCommand — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Controller\AgentStat\Index — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\AgentStat\Read — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\User\Index — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\User\Read — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Repository\AgentStatRepository — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Security\Voter\AgentStatVoter — Coverage: 100.0% | Lines: 3 | Complexity: 4 App\Controller\Security\GoogleIdentityController — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Controller\Security\Logout — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Exception\InvalidStatsException — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Class CRAP Coverage
App\Security\GoogleApiTokenAuthenticator26.7967.6%
App\Service\IngressStatsParser2395.3%
App\Entity\User20100.0%
App\Security\GoogleIdTokenVerifier200.0%
App\Controller\System\LogviewController1597.5%
App\Security\GoogleIdentityAuthenticator12.2278.4%
App\Controller\AgentStat\Create10100.0%
App\Security\GitHubAuthenticator9100.0%
App\Security\GoogleAuthenticator9100.0%
App\Dto\AgentStatInput8.0590.9%
App\Security\LoginFormAuthenticator7100.0%
App\Controller\Security\GitHubController60.0%
App\Controller\Security\GoogleController60.0%
App\Enum\UserRole6100.0%
App\Security\FakeGoogleIdTokenVerifier5.0388.9%
App\Service\AgentStatService4.1877.8%
App\Security\DevGoogleIdTokenVerifier4100.0%
App\Security\Voter\AgentStatVoter4100.0%
App\Command\UserAdminCommand3100.0%
App\Controller\ProfileController3100.0%
App\Controller\User\Create3100.0%
App\Controller\User\Update3100.0%
App\Repository\AgentStatRepository3100.0%
App\Controller\Api\AgentStatCreate2100.0%
App\Controller\Security\GoogleIdentityController20.0%
App\Controller\Security\Logout20.0%
App\Controller\User\Delete2100.0%
App\Entity\AgentStat2100.0%
App\Form\UserParamsType2100.0%
App\Form\UserType2100.0%
App\Repository\UserRepository2100.0%
App\Controller\DefaultController1100.0%
App\Controller\AgentStat\Index1100.0%
App\Controller\AgentStat\Read1100.0%
App\Controller\Api\AgentStatIndex1100.0%
App\Controller\Security\LoginFormController1100.0%
App\Controller\System\AboutController1100.0%
App\Controller\User\Index1100.0%
App\Controller\User\Read1100.0%
App\Exception\InvalidStatsException1100.0%
App\Form\AgentStatImportType1100.0%
App\Controller\BaseController0100.0%
App\Exception\StatsAlreadyAddedException0100.0%

Methods

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 2 4 6 8 10 Line Coverage (%) Cyclomatic Complexity App\Entity\AgentStat::__construct — Coverage: 100.0% | Lines: 44 | Complexity: 1 App\Entity\AgentStat::getStats — Coverage: 100.0% | Lines: 42 | Complexity: 1 App\Controller\Api\AgentStatCreate::__invoke — Coverage: 100.0% | Lines: 17 | Complexity: 2 App\Controller\System\LogviewController::parseLogEntries — Coverage: 100.0% | Lines: 16 | Complexity: 5 App\Security\GoogleApiTokenAuthenticator::authenticate — Coverage: 73.3% | Lines: 15 | Complexity: 8 App\Security\LoginFormAuthenticator::authenticate — Coverage: 100.0% | Lines: 15 | Complexity: 3 App\Service\IngressStatsParser::parseRow — Coverage: 100.0% | Lines: 13 | Complexity: 6 App\Controller\User\Create::__invoke — Coverage: 100.0% | Lines: 12 | Complexity: 3 App\Controller\ProfileController::__invoke — Coverage: 100.0% | Lines: 11 | Complexity: 3 App\Security\GoogleAuthenticator::getUser — Coverage: 100.0% | Lines: 11 | Complexity: 2 App\Security\GoogleIdentityAuthenticator::authenticate — Coverage: 27.3% | Lines: 11 | Complexity: 4 App\Security\GoogleIdentityAuthenticator::getUser — Coverage: 100.0% | Lines: 11 | Complexity: 2 App\Controller\AgentStat\Create::__invoke — Coverage: 100.0% | Lines: 10 | Complexity: 5 App\Controller\User\Update::__invoke — Coverage: 100.0% | Lines: 10 | Complexity: 3 App\Security\GitHubAuthenticator::getUser — Coverage: 100.0% | Lines: 10 | Complexity: 2 App\Controller\AgentStat\Create::import — Coverage: 100.0% | Lines: 9 | Complexity: 5 App\Controller\Api\AgentStatIndex::__invoke — Coverage: 100.0% | Lines: 9 | Complexity: 1 App\Controller\Security\GoogleController::connect — Coverage: 0.0% | Lines: 9 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::findUser — Coverage: 33.3% | Lines: 9 | Complexity: 3 App\Service\IngressStatsParser::createInput — Coverage: 77.8% | Lines: 9 | Complexity: 4 App\Controller\Security\GitHubController::connect — Coverage: 0.0% | Lines: 8 | Complexity: 1 App\Controller\Security\LoginFormController::__invoke — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Controller\System\AboutController::__invoke — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Controller\System\LogviewController::__invoke — Coverage: 100.0% | Lines: 8 | Complexity: 2 App\Security\FakeGoogleIdTokenVerifier::verify — Coverage: 87.5% | Lines: 8 | Complexity: 3 App\Security\GitHubAuthenticator::authenticate — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Security\GoogleAuthenticator::authenticate — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Service\AgentStatService::create — Coverage: 75.0% | Lines: 8 | Complexity: 3 App\Controller\System\LogviewController::readLines — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Form\AgentStatImportType::buildForm — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Form\UserType::buildForm — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Security\GitHubAuthenticator::onAuthenticationFailure — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Security\GoogleAuthenticator::onAuthenticationFailure — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Security\GoogleIdentityAuthenticator::onAuthenticationFailure — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Controller\DefaultController::__invoke — Coverage: 100.0% | Lines: 6 | Complexity: 1 App\Controller\System\LogviewController::closeEntry — Coverage: 83.3% | Lines: 6 | Complexity: 3 App\Dto\AgentStatInput::validateRanges — Coverage: 100.0% | Lines: 6 | Complexity: 5 App\Security\GitHubAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Security\GoogleAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Security\GoogleIdentityAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Security\LoginFormAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Service\IngressStatsParser::toColumns — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Controller\User\Delete::__invoke — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Security\GoogleApiTokenAuthenticator::unauthorized — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Security\GoogleIdTokenVerifier::verify — Coverage: 0.0% | Lines: 5 | Complexity: 3 App\Service\IngressStatsParser::parse — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Service\IngressStatsParser::toValue — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Dto\AgentStatInput::getDateTime — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Entity\User::__serialize — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Repository\UserRepository::findUsers — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Service\IngressStatsParser::cells — Coverage: 100.0% | Lines: 4 | Complexity: 3 App\Controller\AgentStat\Index::__invoke — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\AgentStat\Read::__invoke — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\System\LogviewController::openEntry — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Controller\User\Index::__invoke — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Controller\User\Read::__invoke — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Entity\User::getRoles — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Entity\User::getParam — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Entity\User::getUserIdentifier — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Enum\UserRole::cssClass — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Enum\UserRole::label — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Form\UserParamsType::configureOptions — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Form\UserType::configureOptions — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Security\DevGoogleIdTokenVerifier::verify — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Entity\User::__unserialize — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setParams — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setIdentifier — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setGoogleId — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setGitHubId — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setGitLabId — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Entity\User::setRole — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Form\UserParamsType::buildForm — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Security\Voter\AgentStatVoter::voteOnAttribute — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Command\UserAdminCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Command\UserAdminCommand::getRoles — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Command\UserAdminCommand::setRole — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Controller\Security\GitHubController::connectCheck — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Controller\Security\GoogleController::connectCheck — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Controller\Security\GoogleIdentityController::connectVerify — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Controller\Security\Logout::__invoke — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Dto\AgentStatInput::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getParams — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getIdentifier — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getPassword — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getGoogleId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getGitHubId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getGitLabId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Entity\User::getRole — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Exception\InvalidStatsException::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Repository\AgentStatRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Repository\AgentStatRepository::findByOwner — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Repository\AgentStatRepository::has — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Repository\UserRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\DevGoogleIdTokenVerifier::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\FakeGoogleIdTokenVerifier::token — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Security\GitHubAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GitHubAuthenticator::supports — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GitHubAuthenticator::getClient — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::supports — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::onAuthenticationFailure — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Security\GoogleApiTokenAuthenticator::start — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleAuthenticator::supports — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleAuthenticator::getGoogleClient — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleIdTokenVerifier::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Security\GoogleIdentityAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\GoogleIdentityAuthenticator::supports — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\LoginFormAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\LoginFormAuthenticator::getLoginUrl — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Security\Voter\AgentStatVoter::supports — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Service\AgentStatService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Service\IngressStatsParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
App\Security\GoogleIdTokenVerifier::verify120.0%
App\Security\GoogleIdentityAuthenticator::authenticate10.1527.3%
App\Security\GoogleApiTokenAuthenticator::authenticate9.2173.3%
App\Service\IngressStatsParser::parseRow6100.0%
App\Security\GoogleApiTokenAuthenticator::findUser5.6733.3%
App\Controller\AgentStat\Create::__invoke5100.0%
App\Controller\AgentStat\Create::import5100.0%
App\Controller\System\LogviewController::parseLogEntries5100.0%
App\Dto\AgentStatInput::validateRanges5100.0%
App\Service\IngressStatsParser::createInput4.1877.8%
App\Service\IngressStatsParser::toColumns4100.0%
App\Service\AgentStatService::create3.1475.0%
App\Controller\System\LogviewController::closeEntry3.0483.3%
App\Security\FakeGoogleIdTokenVerifier::verify3.0287.5%
App\Controller\ProfileController::__invoke3100.0%
App\Controller\System\LogviewController::readLines3100.0%
App\Controller\User\Create::__invoke3100.0%
App\Controller\User\Update::__invoke3100.0%
App\Enum\UserRole::cssClass3100.0%
App\Enum\UserRole::label3100.0%
App\Security\DevGoogleIdTokenVerifier::verify3100.0%
App\Security\LoginFormAuthenticator::authenticate3100.0%
App\Service\IngressStatsParser::toValue3100.0%
App\Service\IngressStatsParser::cells3100.0%
App\Dto\AgentStatInput::getDateTime2.0675.0%
App\Controller\Api\AgentStatCreate::__invoke2100.0%
App\Controller\Security\GitHubController::connect20.0%
App\Controller\Security\GitHubController::connectCheck20.0%
App\Controller\Security\GoogleController::connect20.0%
App\Controller\Security\GoogleController::connectCheck20.0%
App\Controller\Security\GoogleIdentityController::connectVerify20.0%
App\Controller\Security\Logout::__invoke20.0%
App\Controller\System\LogviewController::__invoke2100.0%
App\Controller\System\LogviewController::openEntry2100.0%
App\Controller\User\Delete::__invoke2100.0%
App\Entity\User::getParam2100.0%
App\Entity\User::getUserIdentifier2100.0%
App\Security\FakeGoogleIdTokenVerifier::token2100.0%
App\Security\GitHubAuthenticator::getUser2100.0%
App\Security\GitHubAuthenticator::onAuthenticationSuccess2100.0%
App\Security\GoogleApiTokenAuthenticator::onAuthenticationFailure20.0%
App\Security\GoogleAuthenticator::getUser2100.0%
App\Security\GoogleAuthenticator::onAuthenticationSuccess2100.0%
App\Security\GoogleIdTokenVerifier::__construct20.0%
App\Security\GoogleIdentityAuthenticator::onAuthenticationSuccess2100.0%
App\Security\GoogleIdentityAuthenticator::getUser2100.0%
App\Security\LoginFormAuthenticator::onAuthenticationSuccess2100.0%
App\Security\Voter\AgentStatVoter::supports2100.0%
App\Security\Voter\AgentStatVoter::voteOnAttribute2100.0%
App\Service\IngressStatsParser::parse2100.0%
App\Command\UserAdminCommand::__construct1100.0%
App\Command\UserAdminCommand::getRoles1100.0%
App\Command\UserAdminCommand::setRole1100.0%
App\Controller\DefaultController::__invoke1100.0%
App\Controller\AgentStat\Index::__invoke1100.0%
App\Controller\AgentStat\Read::__invoke1100.0%
App\Controller\Api\AgentStatIndex::__invoke1100.0%
App\Controller\Security\LoginFormController::__invoke1100.0%
App\Controller\System\AboutController::__invoke1100.0%
App\Controller\User\Index::__invoke1100.0%
App\Controller\User\Read::__invoke1100.0%
App\Dto\AgentStatInput::__construct1100.0%
App\Entity\AgentStat::__construct1100.0%
App\Entity\AgentStat::getStats1100.0%
App\Entity\User::__serialize1100.0%
App\Entity\User::__unserialize1100.0%
App\Entity\User::getRoles1100.0%
App\Entity\User::getParams1100.0%
App\Entity\User::setParams1100.0%
App\Entity\User::getIdentifier1100.0%
App\Entity\User::setIdentifier1100.0%
App\Entity\User::getPassword1100.0%
App\Entity\User::getGoogleId1100.0%
App\Entity\User::setGoogleId1100.0%
App\Entity\User::getGitHubId1100.0%
App\Entity\User::setGitHubId1100.0%
App\Entity\User::getGitLabId1100.0%
App\Entity\User::setGitLabId1100.0%
App\Entity\User::setRole1100.0%
App\Entity\User::getRole1100.0%
App\Exception\InvalidStatsException::__construct1100.0%
App\Form\AgentStatImportType::buildForm1100.0%
App\Form\UserParamsType::buildForm1100.0%
App\Form\UserParamsType::configureOptions1100.0%
App\Form\UserType::buildForm1100.0%
App\Form\UserType::configureOptions1100.0%
App\Repository\AgentStatRepository::__construct1100.0%
App\Repository\AgentStatRepository::findByOwner1100.0%
App\Repository\AgentStatRepository::has1100.0%
App\Repository\UserRepository::__construct1100.0%
App\Repository\UserRepository::findUsers1100.0%
App\Security\DevGoogleIdTokenVerifier::__construct1100.0%
App\Security\GitHubAuthenticator::__construct1100.0%
App\Security\GitHubAuthenticator::supports1100.0%
App\Security\GitHubAuthenticator::authenticate1100.0%
App\Security\GitHubAuthenticator::getClient1100.0%
App\Security\GitHubAuthenticator::onAuthenticationFailure1100.0%
App\Security\GoogleApiTokenAuthenticator::__construct1100.0%
App\Security\GoogleApiTokenAuthenticator::supports1100.0%
App\Security\GoogleApiTokenAuthenticator::onAuthenticationSuccess1100.0%
App\Security\GoogleApiTokenAuthenticator::start1100.0%
App\Security\GoogleApiTokenAuthenticator::unauthorized1100.0%
App\Security\GoogleAuthenticator::__construct1100.0%
App\Security\GoogleAuthenticator::supports1100.0%
App\Security\GoogleAuthenticator::authenticate1100.0%
App\Security\GoogleAuthenticator::getGoogleClient1100.0%
App\Security\GoogleAuthenticator::onAuthenticationFailure1100.0%
App\Security\GoogleIdentityAuthenticator::__construct1100.0%
App\Security\GoogleIdentityAuthenticator::supports1100.0%
App\Security\GoogleIdentityAuthenticator::onAuthenticationFailure1100.0%
App\Security\LoginFormAuthenticator::__construct1100.0%
App\Security\LoginFormAuthenticator::getLoginUrl1100.0%
App\Service\AgentStatService::__construct1100.0%
App\Service\IngressStatsParser::__construct1100.0%