This commit is contained in:
Romain Neutron
2013-09-04 12:13:33 +02:00
parent dbd06e9091
commit b6a8a90197
11 changed files with 63 additions and 65 deletions

View File

@@ -25,7 +25,7 @@ class RegenerateSqliteDb extends Command
$source = __DIR__ . '/../../../../../tests/db-ref.sqlite'; $source = __DIR__ . '/../../../../../tests/db-ref.sqlite';
$target = __DIR__ . '/../../../../../tests/db-ref.sqlite.bkp'; $target = __DIR__ . '/../../../../../tests/db-ref.sqlite.bkp';
$renamed = false; $renamed = false;
if (is_file($source)) { if (is_file($source)) {
$renamed = true; $renamed = true;
$fs->rename($source, $target); $fs->rename($source, $target);

View File

@@ -762,7 +762,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
foreach ($repo->findByUser($this) as $provider) { foreach ($repo->findByUser($this) as $provider) {
$this->app['EM']->remove($provider); $this->app['EM']->remove($provider);
} }
$repo = $this->app['EM']->getRepository('Entities\FtpExport'); $repo = $this->app['EM']->getRepository('Entities\FtpExport');
foreach ($repo->findByUser($this) as $export) { foreach ($repo->findByUser($this) as $export) {
$this->app['EM']->remove($export); $this->app['EM']->remove($export);

View File

@@ -55,11 +55,11 @@ class patch_3906 implements patchInterface
$em = $app['EM']; $em = $app['EM'];
$em->getEventManager()->removeEventSubscriber(new TimestampableListener()); $em->getEventManager()->removeEventSubscriber(new TimestampableListener());
$sql = 'SELECT `id`, `crash`, `nbretry`, `mail`, `addr`, `ssl`, $sql = 'SELECT `id`, `crash`, `nbretry`, `mail`, `addr`, `ssl`,
`login`, `pwd`, `passif`, `login`, `pwd`, `passif`,
`destfolder`, `sendermail`, `text_mail_sender`, `destfolder`, `sendermail`, `text_mail_sender`,
`text_mail_receiver`, `usr_id`, `date`, `foldertocreate`, `text_mail_receiver`, `usr_id`, `date`, `foldertocreate`,
`logfile` `logfile`
FROM ftp_export'; FROM ftp_export';
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
@@ -67,12 +67,12 @@ class patch_3906 implements patchInterface
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC); $rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
$stmt->closeCursor(); $stmt->closeCursor();
$sql = 'SELECT base_id, record_id, subdef, filename, folder, error, $sql = 'SELECT base_id, record_id, subdef, filename, folder, error,
done, businessfields done, businessfields
FROM ftp_export_elements FROM ftp_export_elements
WHERE ftp_export_id = :export_id'; WHERE ftp_export_id = :export_id';
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
$n = 0; $n = 0;
foreach ($rs as $row) { foreach ($rs as $row) {
@@ -81,7 +81,7 @@ class patch_3906 implements patchInterface
} catch (\Exception $e) { } catch (\Exception $e) {
continue; continue;
} }
$export = new FtpExport(); $export = new FtpExport();
$export $export
->setAddr($row['addr']) ->setAddr($row['addr'])
@@ -106,7 +106,7 @@ class patch_3906 implements patchInterface
$stmt->execute(array('export_id' => $row['id'])); $stmt->execute(array('export_id' => $row['id']));
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC); $rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
foreach ($rs as $element) { foreach ($rs as $element) {
$element = new FtpExportElement(); $element = new FtpExportElement();
$element->setBaseId($row['base_id']) $element->setBaseId($row['base_id'])
@@ -120,7 +120,7 @@ class patch_3906 implements patchInterface
->setFolder($row['folder']) ->setFolder($row['folder'])
->setSubdef($row['subdef']) ->setSubdef($row['subdef'])
->setExport($export); ->setExport($export);
$export->addElement($element); $export->addElement($element);
$em->persist($element); $em->persist($element);
@@ -134,10 +134,10 @@ class patch_3906 implements patchInterface
} }
} }
$stmt->closeCursor(); $stmt->closeCursor();
$em->flush(); $em->flush();
$em->clear(); $em->clear();
$em->getEventManager()->addEventSubscriber(new TimestampableListener()); $em->getEventManager()->addEventSubscriber(new TimestampableListener());
} }
} }

View File

@@ -145,7 +145,7 @@ class recordutils_image extends recordutils
$stamp = $stampNodes->item($istamp); $stamp = $stampNodes->item($istamp);
$stamp_background = $xmlToColor($stamp->getAttribute('background'), array(255, 255, 255)); $stamp_background = $xmlToColor($stamp->getAttribute('background'), array(255, 255, 255));
$stamp_position = strtoupper(trim($stamp->getAttribute('position'))); $stamp_position = strtoupper(trim($stamp->getAttribute('position')));
if (!in_array($stamp_position, array('TOP', 'TOP-OVER', 'BOTTOM-OVER', 'BOTTOM'))) { if (!in_array($stamp_position, array('TOP', 'TOP-OVER', 'BOTTOM-OVER', 'BOTTOM'))) {
$stamp_position = 'BOTTOM'; $stamp_position = 'BOTTOM';

View File

@@ -264,7 +264,7 @@ class task_period_ftp extends task_appboxAbstract
$this->dependencyContainer['EM']->remove($export); $this->dependencyContainer['EM']->remove($export);
} }
$this->dependencyContainer['EM']->flush(); $this->dependencyContainer['EM']->flush();
return $this->dependencyContainer['EM'] return $this->dependencyContainer['EM']
->getRepository('Entities\FtpExport') ->getRepository('Entities\FtpExport')
->findDoableExports(); ->findDoableExports();
@@ -355,12 +355,12 @@ class task_period_ftp extends task_appboxAbstract
if ($exportElement->isDone()) { if ($exportElement->isDone()) {
continue; continue;
} }
$base_id = $exportElement->getBaseId(); $base_id = $exportElement->getBaseId();
$record_id = $exportElement->getRecordId(); $record_id = $exportElement->getRecordId();
$subdef = $exportElement->getSubdef(); $subdef = $exportElement->getSubdef();
$localfile = null; $localfile = null;
try { try {
$sbas_id = phrasea::sbasFromBas($this->dependencyContainer, $base_id); $sbas_id = phrasea::sbasFromBas($this->dependencyContainer, $base_id);
$record = new record_adapter($this->dependencyContainer, $sbas_id, $record_id); $record = new record_adapter($this->dependencyContainer, $sbas_id, $record_id);
@@ -480,7 +480,7 @@ class task_period_ftp extends task_appboxAbstract
unset($ftp_client); unset($ftp_client);
} }
$this->finalize($appbox, $export); $this->finalize($appbox, $export);
} }
@@ -496,12 +496,12 @@ class task_period_ftp extends task_appboxAbstract
return $this; return $this;
} }
$total = count($export->getElements()); $total = count($export->getElements());
$done = count($export->getElements()->filter(function (FtpExportElement $element) { $done = count($export->getElements()->filter(function (FtpExportElement $element) {
return $element->isDone(); return $element->isDone();
})); }));
$error = count($export->getElements()->filter(function (FtpExportElement $element) { $error = count($export->getElements()->filter(function (FtpExportElement $element) {
return $element->isError(); return $element->isError();
})); }));

View File

@@ -29,7 +29,7 @@ class LoadFiveBaskets extends \PhraseaFixture\AbstractWZ implements FixtureInter
public function load(ObjectManager $manager) public function load(ObjectManager $manager)
{ {
for ($i = 0; $i < 5; $i ++ ) { for ($i = 0; $i < 5; $i ++) {
$basket = new \Entities\Basket(); $basket = new \Entities\Basket();
$basket->setName('test ' . $i); $basket->setName('test ' . $i);

View File

@@ -6,6 +6,5 @@
use Alchemy\Phrasea\CLI; use Alchemy\Phrasea\CLI;
return call_user_func(function (CLI $cli) { return call_user_func(function (CLI $cli) {
return $cli; return $cli;
}, $cli); }, $cli);

View File

@@ -6,6 +6,5 @@
use Alchemy\Phrasea\Application; use Alchemy\Phrasea\Application;
return call_user_func(function (Application $app) { return call_user_func(function (Application $app) {
return $app; return $app;
}, $app); }, $app);

View File

@@ -446,6 +446,7 @@ class LazaretTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
$phpunit = $this; $phpunit = $this;
self::$DI['app']['phraseanet.logger'] = self::$DI['app']->protect(function () use (&$called, $phpunit) { self::$DI['app']['phraseanet.logger'] = self::$DI['app']->protect(function () use (&$called, $phpunit) {
$called = true; $called = true;
return $phpunit->getMockBuilder('\Session_Logger') return $phpunit->getMockBuilder('\Session_Logger')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();

View File

@@ -108,7 +108,6 @@ class UploadTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
} }
} }
/** /**
* @covers Alchemy\Phrasea\Controller\Prod\Upload::upload * @covers Alchemy\Phrasea\Controller\Prod\Upload::upload
* @covers Alchemy\Phrasea\Controller\Prod\Upload::getJsonResponse * @covers Alchemy\Phrasea\Controller\Prod\Upload::getJsonResponse

View File

@@ -16,47 +16,47 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setUser(self::$DI['user']) ->setUser(self::$DI['user'])
->setCrash(2) ->setCrash(2)
->setNbretry(2); ->setNbretry(2);
$failure2 = new FtpExport(); $failure2 = new FtpExport();
$failure2 $failure2
->setAddr('') ->setAddr('')
->setUser(self::$DI['user']) ->setUser(self::$DI['user'])
->setCrash(7) ->setCrash(7)
->setNbretry(5); ->setNbretry(5);
$good1 = new FtpExport(); $good1 = new FtpExport();
$good1 $good1
->setAddr('') ->setAddr('')
->setUser(self::$DI['user']) ->setUser(self::$DI['user'])
->setCrash(2) ->setCrash(2)
->setNbretry(3); ->setNbretry(3);
$good2 = new FtpExport(); $good2 = new FtpExport();
$good2 $good2
->setAddr('') ->setAddr('')
->setUser(self::$DI['user']) ->setUser(self::$DI['user'])
->setCrash(12) ->setCrash(12)
->setNbretry(23); ->setNbretry(23);
self::$DI['app']['EM']->persist($failure1); self::$DI['app']['EM']->persist($failure1);
self::$DI['app']['EM']->persist($failure2); self::$DI['app']['EM']->persist($failure2);
self::$DI['app']['EM']->persist($good1); self::$DI['app']['EM']->persist($good1);
self::$DI['app']['EM']->persist($good2); self::$DI['app']['EM']->persist($good2);
self::$DI['app']['EM']->flush(); self::$DI['app']['EM']->flush();
$crashed = self::$DI['app']['EM'] $crashed = self::$DI['app']['EM']
->getRepository('Entities\FtpExport') ->getRepository('Entities\FtpExport')
->findCrashedExports(); ->findCrashedExports();
$this->assertCount(2, $crashed); $this->assertCount(2, $crashed);
$this->assertContains($failure1, $crashed); $this->assertContains($failure1, $crashed);
$this->assertContains($failure2, $crashed); $this->assertContains($failure2, $crashed);
} }
public function testFindCrashedExportsWithDate() public function testFindCrashedExportsWithDate()
{ {
self::$DI['app']['EM']->getEventManager()->removeEventSubscriber(new TimestampableListener()); self::$DI['app']['EM']->getEventManager()->removeEventSubscriber(new TimestampableListener());
$failure1 = new FtpExport(); $failure1 = new FtpExport();
$failure1 $failure1
->setAddr('Failure 1') ->setAddr('Failure 1')
@@ -64,7 +64,7 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setCrash(2) ->setCrash(2)
->setNbretry(2) ->setNbretry(2)
->setCreated(new \DateTime('-6 days')); ->setCreated(new \DateTime('-6 days'));
$failure2 = new FtpExport(); $failure2 = new FtpExport();
$failure2 $failure2
->setAddr('Failure 2') ->setAddr('Failure 2')
@@ -72,7 +72,7 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setCrash(2) ->setCrash(2)
->setNbretry(2) ->setNbretry(2)
->setCreated(new \DateTime('-7 days')); ->setCreated(new \DateTime('-7 days'));
$good1 = new FtpExport(); $good1 = new FtpExport();
$good1 $good1
->setAddr('Good 1') ->setAddr('Good 1')
@@ -80,7 +80,7 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setCrash(7) ->setCrash(7)
->setNbretry(5) ->setNbretry(5)
->setCreated(new \DateTime('-5 days')); ->setCreated(new \DateTime('-5 days'));
$good2 = new FtpExport(); $good2 = new FtpExport();
$good2 $good2
->setAddr('Good 2') ->setAddr('Good 2')
@@ -88,7 +88,7 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setCrash(2) ->setCrash(2)
->setNbretry(3) ->setNbretry(3)
->setCreated(new \DateTime('-9 days')); ->setCreated(new \DateTime('-9 days'));
$good3 = new FtpExport(); $good3 = new FtpExport();
$good3 $good3
->setAddr('Good 3') ->setAddr('Good 3')
@@ -96,30 +96,30 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setCrash(12) ->setCrash(12)
->setNbretry(23) ->setNbretry(23)
->setCreated(new \DateTime('-6 days')); ->setCreated(new \DateTime('-6 days'));
self::$DI['app']['EM']->persist($failure1); self::$DI['app']['EM']->persist($failure1);
self::$DI['app']['EM']->persist($failure2); self::$DI['app']['EM']->persist($failure2);
self::$DI['app']['EM']->persist($good1); self::$DI['app']['EM']->persist($good1);
self::$DI['app']['EM']->persist($good2); self::$DI['app']['EM']->persist($good2);
self::$DI['app']['EM']->persist($good3); self::$DI['app']['EM']->persist($good3);
self::$DI['app']['EM']->flush(); self::$DI['app']['EM']->flush();
$crashed = self::$DI['app']['EM'] $crashed = self::$DI['app']['EM']
->getRepository('Entities\FtpExport') ->getRepository('Entities\FtpExport')
->findCrashedExports(new \DateTime('-6 days')); ->findCrashedExports(new \DateTime('-6 days'));
$this->assertCount(2, $crashed); $this->assertCount(2, $crashed);
$this->assertContains($failure1, $crashed); $this->assertContains($failure1, $crashed);
$this->assertContains($failure2, $crashed); $this->assertContains($failure2, $crashed);
} }
public function testFindDoableExports() public function testFindDoableExports()
{ {
$notDoable1 = new FtpExport(); $notDoable1 = new FtpExport();
$notDoable1 $notDoable1
->setAddr('Not Doable 1') ->setAddr('Not Doable 1')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$elem1 = new FtpExportElement(); $elem1 = new FtpExportElement();
$elem1 $elem1
->setSubdef('subdef') ->setSubdef('subdef')
@@ -127,20 +127,20 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setBaseId(self::$DI['record_1']->get_base_id()) ->setBaseId(self::$DI['record_1']->get_base_id())
->setRecordId(self::$DI['record_1']->get_record_id()) ->setRecordId(self::$DI['record_1']->get_record_id())
->setDone(true); ->setDone(true);
$elem1->setExport($notDoable1); $elem1->setExport($notDoable1);
$notDoable1->addElement($elem1); $notDoable1->addElement($elem1);
$notDoable2 = new FtpExport(); $notDoable2 = new FtpExport();
$notDoable2 $notDoable2
->setAddr('Not Doable 2') ->setAddr('Not Doable 2')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$doable1 = new FtpExport(); $doable1 = new FtpExport();
$doable1 $doable1
->setAddr('Doable 1') ->setAddr('Doable 1')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$elem2 = new FtpExportElement(); $elem2 = new FtpExportElement();
$elem2 $elem2
->setSubdef('subdef') ->setSubdef('subdef')
@@ -148,10 +148,10 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setBaseId(self::$DI['record_1']->get_base_id()) ->setBaseId(self::$DI['record_1']->get_base_id())
->setRecordId(self::$DI['record_1']->get_record_id()) ->setRecordId(self::$DI['record_1']->get_record_id())
->setDone(true); ->setDone(true);
$elem2->setExport($doable1); $elem2->setExport($doable1);
$doable1->addElement($elem2); $doable1->addElement($elem2);
$elem3 = new FtpExportElement(); $elem3 = new FtpExportElement();
$elem3 $elem3
->setSubdef('subdef') ->setSubdef('subdef')
@@ -159,15 +159,15 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setBaseId(self::$DI['record_2']->get_base_id()) ->setBaseId(self::$DI['record_2']->get_base_id())
->setRecordId(self::$DI['record_2']->get_record_id()) ->setRecordId(self::$DI['record_2']->get_record_id())
->setDone(false); ->setDone(false);
$elem3->setExport($doable1); $elem3->setExport($doable1);
$doable1->addElement($elem3); $doable1->addElement($elem3);
$doable2 = new FtpExport(); $doable2 = new FtpExport();
$doable2 $doable2
->setAddr('Doable 2') ->setAddr('Doable 2')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$elem4 = new FtpExportElement(); $elem4 = new FtpExportElement();
$elem4 $elem4
->setSubdef('subdef') ->setSubdef('subdef')
@@ -175,53 +175,53 @@ class FtpExportRepositoryTest extends \PhraseanetPHPUnitAbstract
->setBaseId(self::$DI['record_1']->get_base_id()) ->setBaseId(self::$DI['record_1']->get_base_id())
->setRecordId(self::$DI['record_1']->get_record_id()) ->setRecordId(self::$DI['record_1']->get_record_id())
->setDone(false); ->setDone(false);
$elem4->setExport($doable2); $elem4->setExport($doable2);
$doable2->addElement($elem4); $doable2->addElement($elem4);
self::$DI['app']['EM']->persist($notDoable1); self::$DI['app']['EM']->persist($notDoable1);
self::$DI['app']['EM']->persist($notDoable2); self::$DI['app']['EM']->persist($notDoable2);
self::$DI['app']['EM']->persist($doable1); self::$DI['app']['EM']->persist($doable1);
self::$DI['app']['EM']->persist($doable2); self::$DI['app']['EM']->persist($doable2);
self::$DI['app']['EM']->flush(); self::$DI['app']['EM']->flush();
$doables = self::$DI['app']['EM'] $doables = self::$DI['app']['EM']
->getRepository('Entities\FtpExport') ->getRepository('Entities\FtpExport')
->findDoableExports(); ->findDoableExports();
$this->assertCount(2, $doables); $this->assertCount(2, $doables);
$this->assertContains($doable1, $doables); $this->assertContains($doable1, $doables);
$this->assertContains($doable2, $doables); $this->assertContains($doable2, $doables);
} }
public function testFindByUser() public function testFindByUser()
{ {
$match1 = new FtpExport(); $match1 = new FtpExport();
$match1 $match1
->setAddr('Match 1') ->setAddr('Match 1')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$match2 = new FtpExport(); $match2 = new FtpExport();
$match2 $match2
->setAddr('Match 2') ->setAddr('Match 2')
->setUser(self::$DI['user']); ->setUser(self::$DI['user']);
$noMatch1 = new FtpExport(); $noMatch1 = new FtpExport();
$noMatch1 $noMatch1
->setAddr('No match 1') ->setAddr('No match 1')
->setUser(self::$DI['user_alt1']); ->setUser(self::$DI['user_alt1']);
self::$DI['app']['EM']->persist($match1); self::$DI['app']['EM']->persist($match1);
self::$DI['app']['EM']->persist($match2); self::$DI['app']['EM']->persist($match2);
self::$DI['app']['EM']->persist($noMatch1); self::$DI['app']['EM']->persist($noMatch1);
self::$DI['app']['EM']->flush(); self::$DI['app']['EM']->flush();
$exports = self::$DI['app']['EM'] $exports = self::$DI['app']['EM']
->getRepository('Entities\FtpExport') ->getRepository('Entities\FtpExport')
->findByUser(self::$DI['user']); ->findByUser(self::$DI['user']);
$this->assertCount(2, $exports); $this->assertCount(2, $exports);
$this->assertContains($match1, $exports); $this->assertContains($match1, $exports);
$this->assertContains($match2, $exports); $this->assertContains($match2, $exports);