forked from wallabag/wallabag
Adding more tests to cover different scenario
This commit is contained in:
@ -5,19 +5,38 @@ namespace Wallabag\CoreBundle\DataFixtures\ORM;
|
||||
use Doctrine\Common\DataFixtures\AbstractFixture;
|
||||
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
use Wallabag\CoreBundle\Entity\SiteCredential;
|
||||
|
||||
class LoadSiteCredentialData extends AbstractFixture implements OrderedFixtureInterface
|
||||
class LoadSiteCredentialData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface
|
||||
{
|
||||
/**
|
||||
* @var ContainerInterface
|
||||
*/
|
||||
private $container;
|
||||
|
||||
public function setContainer(ContainerInterface $container = null)
|
||||
{
|
||||
$this->container = $container;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function load(ObjectManager $manager)
|
||||
{
|
||||
$credential = new SiteCredential($this->getReference('admin-user'));
|
||||
$credential->setHost('example.com');
|
||||
$credential->setUsername('foo');
|
||||
$credential->setPassword('bar');
|
||||
$credential->setHost('.super.com');
|
||||
$credential->setUsername($this->container->get('wallabag_core.helper.crypto_proxy')->crypt('.super'));
|
||||
$credential->setPassword($this->container->get('wallabag_core.helper.crypto_proxy')->crypt('bar'));
|
||||
|
||||
$manager->persist($credential);
|
||||
|
||||
$credential = new SiteCredential($this->getReference('admin-user'));
|
||||
$credential->setHost('paywall.example.com');
|
||||
$credential->setUsername($this->container->get('wallabag_core.helper.crypto_proxy')->crypt('paywall.example'));
|
||||
$credential->setPassword($this->container->get('wallabag_core.helper.crypto_proxy')->crypt('bar'));
|
||||
|
||||
$manager->persist($credential);
|
||||
|
||||
|
||||
@ -62,21 +62,24 @@ class GrabySiteConfigBuilder implements SiteConfigBuilder
|
||||
$host = substr($host, 4);
|
||||
}
|
||||
|
||||
$credentials = null;
|
||||
if ($this->currentUser) {
|
||||
$hosts = [$host];
|
||||
// will try to see for a host without the first subdomain (fr.example.org & .example.org)
|
||||
$split = explode('.', $host);
|
||||
if (!$this->currentUser) {
|
||||
$this->logger->debug('Auth: no current user defined.');
|
||||
|
||||
if (\count($split) > 1) {
|
||||
// remove first subdomain
|
||||
array_shift($split);
|
||||
$hosts[] = '.' . implode('.', $split);
|
||||
}
|
||||
|
||||
$credentials = $this->credentialRepository->findOneByHostsAndUser($hosts, $this->currentUser->getId());
|
||||
return false;
|
||||
}
|
||||
|
||||
$hosts = [$host];
|
||||
// will try to see for a host without the first subdomain (fr.example.org & .example.org)
|
||||
$split = explode('.', $host);
|
||||
|
||||
if (\count($split) > 1) {
|
||||
// remove first subdomain
|
||||
array_shift($split);
|
||||
$hosts[] = '.' . implode('.', $split);
|
||||
}
|
||||
|
||||
$credentials = $this->credentialRepository->findOneByHostsAndUser($hosts, $this->currentUser->getId());
|
||||
|
||||
if (null === $credentials) {
|
||||
$this->logger->debug('Auth: no credentials available for host.', ['host' => $host]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user