Fix undefined property error

This commit is contained in:
Thibaud Fabre
2015-10-12 16:40:05 +02:00
parent 2c26a511e3
commit 49ec3e0c95
3 changed files with 29 additions and 17 deletions

View File

@@ -42,7 +42,12 @@ class ManipulatorServiceProvider implements ServiceProviderInterface
}); });
$app['manipulator.token'] = $app->share(function ($app) { $app['manipulator.token'] = $app->share(function ($app) {
return new TokenManipulator($app['orm.em'], $app['random.medium'], $app['repo.tokens']); return new TokenManipulator(
$app['orm.em'],
$app['random.medium'],
$app['repo.tokens'],
$app['tmp.download.path']
);
}); });
$app['manipulator.preset'] = $app->share(function ($app) { $app['manipulator.preset'] = $app->share(function ($app) {

View File

@@ -39,11 +39,18 @@ class TokenManipulator implements ManipulatorInterface
private $random; private $random;
private $repository; private $repository;
public function __construct(ObjectManager $om, Generator $random, TokenRepository $repository) private $temporaryDownloadPath;
public function __construct(
ObjectManager $om,
Generator $random,
TokenRepository $repository,
$temporaryDownloadPath)
{ {
$this->om = $om; $this->om = $om;
$this->random = $random; $this->random = $random;
$this->repository = $repository; $this->repository = $repository;
$this->temporaryDownloadPath = $temporaryDownloadPath;
} }
/** /**
@@ -205,7 +212,7 @@ class TokenManipulator implements ManipulatorInterface
switch ($token->getType()) { switch ($token->getType()) {
case 'download': case 'download':
case 'email': case 'email':
$file = $this->app['tmp.download.path'].'/' . $token->getValue() . '.zip'; $file = $this->temporaryDownloadPath . '/' . $token->getValue() . '.zip';
if (is_file($file)) { if (is_file($file)) {
unlink($file); unlink($file);
} }

View File

@@ -18,7 +18,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
{ {
$user = $user ? self::$DI['user'] : null; $user = $user ? self::$DI['user'] : null;
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->create($user, $type, $expiration, $data); $token = $manipulator->create($user, $type, $expiration, $data);
$this->assertSame($user, $token->getUser()); $this->assertSame($user, $token->getUser());
@@ -41,7 +41,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateBasketValidationToken() public function testCreateBasketValidationToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createBasketValidationToken(self::$DI['basket_4'], self::$DI['user_1']); $token = $manipulator->createBasketValidationToken(self::$DI['basket_4'], self::$DI['user_1']);
$this->assertSame(self::$DI['basket_4']->getId(), $token->getData()); $this->assertSame(self::$DI['basket_4']->getId(), $token->getData());
@@ -52,7 +52,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateBasketValidationTokenWithoutUser() public function testCreateBasketValidationTokenWithoutUser()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createBasketValidationToken(self::$DI['basket_4']); $token = $manipulator->createBasketValidationToken(self::$DI['basket_4']);
$this->assertSame(self::$DI['basket_4']->getId(), $token->getData()); $this->assertSame(self::$DI['basket_4']->getId(), $token->getData());
@@ -63,14 +63,14 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateBasketValidationTokenWithInvalidBasket() public function testCreateBasketValidationTokenWithInvalidBasket()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$this->setExpectedException('InvalidArgumentException', 'A validation token requires a validation basket.'); $this->setExpectedException('InvalidArgumentException', 'A validation token requires a validation basket.');
$manipulator->createBasketValidationToken(self::$DI['basket_1']); $manipulator->createBasketValidationToken(self::$DI['basket_1']);
} }
public function testCreateBasketAccessToken() public function testCreateBasketAccessToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createBasketAccessToken(self::$DI['basket_4'], self::$DI['user']); $token = $manipulator->createBasketAccessToken(self::$DI['basket_4'], self::$DI['user']);
$this->assertSame(self::$DI['basket_4']->getId(), $token->getData()); $this->assertSame(self::$DI['basket_4']->getId(), $token->getData());
@@ -81,7 +81,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateFeedEntryToken() public function testCreateFeedEntryToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createFeedEntryToken(self::$DI['user'], self::$DI['feed_public_entry']); $token = $manipulator->createFeedEntryToken(self::$DI['user'], self::$DI['feed_public_entry']);
$this->assertSame(self::$DI['feed_public_entry']->getId(), $token->getData()); $this->assertSame(self::$DI['feed_public_entry']->getId(), $token->getData());
@@ -93,7 +93,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateDownloadToken() public function testCreateDownloadToken()
{ {
$data = serialize(['some' => 'data']); $data = serialize(['some' => 'data']);
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createDownloadToken(self::$DI['user'], $data); $token = $manipulator->createDownloadToken(self::$DI['user'], $data);
$this->assertSame($data, $token->getData()); $this->assertSame($data, $token->getData());
@@ -105,7 +105,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateEmailExportToken() public function testCreateEmailExportToken()
{ {
$data = serialize(['some' => 'data']); $data = serialize(['some' => 'data']);
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createEmailExportToken($data); $token = $manipulator->createEmailExportToken($data);
$this->assertSame($data, $token->getData()); $this->assertSame($data, $token->getData());
@@ -116,7 +116,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateResetEmailToken() public function testCreateResetEmailToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createResetEmailToken(self::$DI['user'], 'newemail@phraseanet.com'); $token = $manipulator->createResetEmailToken(self::$DI['user'], 'newemail@phraseanet.com');
$this->assertSame('newemail@phraseanet.com', $token->getData()); $this->assertSame('newemail@phraseanet.com', $token->getData());
@@ -127,7 +127,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateAccountUnlockToken() public function testCreateAccountUnlockToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createAccountUnlockToken(self::$DI['user']); $token = $manipulator->createAccountUnlockToken(self::$DI['user']);
$this->assertNull($token->getData()); $this->assertNull($token->getData());
@@ -138,7 +138,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
public function testCreateResetPasswordToken() public function testCreateResetPasswordToken()
{ {
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$token = $manipulator->createResetPasswordToken(self::$DI['user']); $token = $manipulator->createResetPasswordToken(self::$DI['user']);
$this->assertNull($token->getData()); $this->assertNull($token->getData());
@@ -158,7 +158,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
$em->expects($this->once()) $em->expects($this->once())
->method('flush'); ->method('flush');
$manipulator = new TokenManipulator($em, self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator($em, self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$manipulator->update($token); $manipulator->update($token);
} }
@@ -173,7 +173,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
$em->expects($this->once()) $em->expects($this->once())
->method('flush'); ->method('flush');
$manipulator = new TokenManipulator($em, self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator($em, self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path']);
$manipulator->delete($token); $manipulator->delete($token);
} }
@@ -181,7 +181,7 @@ class TokenManipulatorTest extends \PhraseanetTestCase
{ {
$this->assertCount(4, self::$DI['app']['repo.tokens']->findAll()); $this->assertCount(4, self::$DI['app']['repo.tokens']->findAll());
$manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens']); $manipulator = new TokenManipulator(self::$DI['app']['orm.em'], self::$DI['app']['random.low'], self::$DI['app']['repo.tokens'], self::$DI['app']['tmp.download.path'], self::$DI['app']['tmp.download.path']);
$manipulator->removeExpiredTokens(); $manipulator->removeExpiredTokens();
$this->assertCount(3, self::$DI['app']['repo.tokens']->findAll()); $this->assertCount(3, self::$DI['app']['repo.tokens']->findAll());