Skip to content
This repository was archived by the owner on Dec 14, 2021. It is now read-only.

Commit dad4e57

Browse files
authored
Merge pull request #1533 from ojs/travis-elastic-bugfix
travis elastic problem parallel admin user creation probably 🐛 fix
2 parents 8ca91c7 + 26a8e37 commit dad4e57

2 files changed

Lines changed: 40 additions & 1 deletion

File tree

src/Ojs/CoreBundle/Service/SampleObjectLoader.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,4 +507,25 @@ public function loadUser()
507507

508508
return $objects['user']->getId();
509509
}
510+
511+
/**
512+
* @return User
513+
*/
514+
public function loadAdminUser()
515+
{
516+
$entity = new User();
517+
$entity
518+
->setUsername('admin'.rand(0, 9999))
519+
->setPassword('$2y$13$f7YsOYlVTlvauEhV.wTnUO1Q76CuZjcg1Ukf5tLHC8j8IlQ1V4p5S')
520+
->setFirstName('admin '.rand(0,10))
521+
->setLastName('admin last'.rand(0,10))
522+
->setEmail('admin.email.'.rand(0,9999).'@test.com')
523+
->setEnabled(true)
524+
->addRole('ROLE_SUPER_ADMIN')
525+
;
526+
$this->em->persist($entity);
527+
$this->em->flush();
528+
529+
return $entity;
530+
}
510531
}

src/Ojs/CoreBundle/Tests/BaseTestSetup.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Liip\FunctionalTestBundle\Test\WebTestCase;
66
use Ojs\CoreBundle\Service\SampleObjectLoader;
7+
use Ojs\UserBundle\Entity\User;
78
use Symfony\Bundle\FrameworkBundle\Console\Application;
89
use Symfony\Bundle\FrameworkBundle\Client;
910
use Doctrine\ORM\EntityManager;
@@ -53,6 +54,11 @@ abstract class BaseTestSetup extends WebTestCase
5354
*/
5455
protected static $isFirstTest = true;
5556

57+
/**
58+
* @var bool | User
59+
*/
60+
protected static $testAdminUser = false;
61+
5662
protected function setUp()
5763
{
5864
static::$kernel = static::createKernel();
@@ -153,8 +159,20 @@ protected function runConsole($command, Array $options = array())
153159
return $this->app->run(new ArrayInput($options));
154160
}
155161

156-
protected function logIn($username = 'admin', $password = 'admin')
162+
protected function logIn($username = null, $password = 'admin')
157163
{
164+
if($username === null && self::$testAdminUser === false){
165+
self::$testAdminUser = $this->sampleObjectLoader->loadAdminUser();
166+
$username = self::$testAdminUser->getUsername();
167+
168+
echo 'Created Admin User -> username -> '. $username."\n";
169+
}elseif(self::$testAdminUser instanceof User){
170+
171+
$username = self::$testAdminUser->getUsername();
172+
}else{
173+
$username = 'admin';
174+
}
175+
158176
$this->client->setServerParameter('PHP_AUTH_USER', $username);
159177
$this->client->setServerParameter('PHP_AUTH_PW', $password);
160178
}

0 commit comments

Comments
 (0)