コード例 #1
0
ファイル: BackendTest.php プロジェクト: bmdevel/bav
 /**
  * @return DataBackend[]
  */
 public function provideInstallationBackends()
 {
     $backends = array();
     $backends[] = new PDODataBackend(PDOFactory::makePDO(), "bavtest_");
     $fileUtil = new FileUtil();
     $backends[] = new FileDataBackend(tempnam($fileUtil->getTempDirectory(), "bavtest"));
     $conn = array("driver" => "pdo_sqlite", "path" => ":memory:");
     $doctrineContainer = DoctrineBackendContainer::buildByConnection($conn, true);
     $backends[] = new DoctrineDataBackend($doctrineContainer->getEntityManager());
     foreach ($backends as &$backend) {
         if ($backend->isInstalled()) {
             $backend->uninstall();
         }
         self::$freeableDatabackends[] = $backend;
         $backend = array($backend);
     }
     return $backends;
 }
コード例 #2
0
ファイル: DataConstraintTest.php プロジェクト: bmdevel/bav
 public static function setUpBeforeClass()
 {
     self::$pdo = PDOFactory::makePDO();
     self::$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
     self::$pdo->exec("DROP TABLE IF EXISTS bank");
     self::$pdo->exec("CREATE TEMPORARY TABLE bank (\n                id int primary key,\n                blz char(8),\n                isMain tinyint(1),\n                name varchar(58),\n                plz varchar(5),\n                city varchar(35),\n                shortterm varchar(27),\n                pan char(5),\n                bic varchar(11),\n                validator char(2),\n                index(blz),\n                index(name),\n                index(shortterm),\n                index(pan),\n                index(bic)\n            ) engine=MEMORY");
     $fp = fopen(__DIR__ . '/../../data/banklist.txt', 'r');
     if (!is_resource($fp)) {
         throw new RuntimeException('I/O-Error');
     }
     $insert = self::$pdo->prepare("INSERT INTO bank\n                   ( id,  blz,  isMain,  name,  plz,  city,  shortterm,  pan,  bic,  validator)\n            VALUES (:id, :blz, :isMain, :name, :plz, :city, :shortTerm, :pan, :bic, :validator)");
     $insert->bindParam(':id', $id);
     $insert->bindParam(':blz', $blz);
     $insert->bindParam(':isMain', $isMain);
     $insert->bindParam(':name', $name);
     $insert->bindParam(':plz', $plz);
     $insert->bindParam(':city', $city);
     $insert->bindParam(':shortTerm', $shortTerm);
     $insert->bindParam(':pan', $pan);
     $insert->bindParam(':bic', $bic);
     $insert->bindParam(':validator', $validator);
     while ($line = fgets($fp)) {
         $blz = substr($line, 0, 8);
         $isMain = $line[8] === '1' ? 1 : 0;
         $name = trim(substr($line, 9, 58));
         $plz = trim(substr($line, 67, 5));
         $city = trim(substr($line, 72, 35));
         $shortTerm = trim(substr($line, 107, 27));
         $pan = trim(substr($line, 134, 5));
         $bic = trim(substr($line, 139, 11));
         $validator = substr($line, 150, 2);
         $id = substr($line, 152, 6);
         $insert->execute();
     }
     fclose($fp);
 }
コード例 #3
0
ファイル: test-install.php プロジェクト: bmdevel/bav
#!/bin/env php
<?php 
/**
 * Installs the test environment
 *
 * @author Markus Malkusch <*****@*****.**>
 * @license WTFPL
 */
namespace malkusch\bav;

require_once __DIR__ . "/../bootstrap.php";
try {
    ConfigurationRegistry::getConfiguration()->setAutomaticInstallation(false);
    $databack = ConfigurationRegistry::getConfiguration()->getDatabackendContainer()->getDataBackend();
    // install file
    $databack->install();
    echo "Bundesbank file downloaded.\n";
    // install PDO
    $pdoContainer = new PDODataBackendContainer(PDOFactory::makePDO());
    $pdoContainer->getDataBackend()->install();
    echo "PDO installed.\n";
} catch (DataBackendException $error) {
    die("Installation failed: {$error->getMessage()}\n");
}
コード例 #4
0
 public function setUp()
 {
     $this->statementContainer = new StatementContainer(PDOFactory::makePDO());
 }
コード例 #5
0
ファイル: CrossProjectTest.php プロジェクト: bmdevel/bav
 /**
  * @return Bank[][]
  */
 public function provideBanks()
 {
     $nodeNumber = getenv(self::ENV_NODE_NUMBER);
     if ($nodeNumber) {
         self::$nodeNumber = (int) $nodeNumber;
     }
     $nodeCount = getenv(self::ENV_NODE_COUNT);
     if ($nodeCount) {
         self::$nodeCount = (int) $nodeCount;
     }
     self::assertGreaterThan(self::$nodeNumber, self::$nodeCount);
     $banks = array();
     $backend = new PDODataBackend(PDOFactory::makePDO());
     $i = 0;
     foreach ($backend->getAllBanks() as $bank) {
         // only pick banks for this node.
         if ($i % self::$nodeCount == self::$nodeNumber) {
             $banks[] = array($bank);
         }
         $i++;
     }
     return $banks;
 }
コード例 #6
0
ファイル: AgencyQueryTest.php プロジェクト: bmdevel/bav
 /**
  * @return SQLDataBackend[][]
  */
 public function provideBackends()
 {
     $conn = array("pdo" => PDOFactory::makePDO());
     $doctrineContainer = DoctrineBackendContainer::buildByConnection($conn, true);
     return array(array(new PDODataBackend(PDOFactory::makePDO())), array($doctrineContainer->getDataBackend()));
 }