Loading src/Bdd.php +18 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Unicaen\BddAdmin\Ddl\DdlFilters; use Unicaen\BddAdmin\Driver\DriverInterface; use Unicaen\BddAdmin\Event\EventManagerAwareTrait; use Unicaen\BddAdmin\Exception\BddCompileException; use Unicaen\BddAdmin\Exception\BddException; use Unicaen\BddAdmin\Logger\DefaultLogger; use Unicaen\BddAdmin\Logger\LoggerAwareTrait; use Unicaen\BddAdmin\Manager\CompilableInterface; Loading Loading @@ -498,6 +499,23 @@ class Bdd public function normalizeObjectName(string|array $object): string { if (is_string($object)) { [$schema, $name] = Util::explodedFullObjectName($object); }else{ if (isset($object['name'])){ throw new BddException('Propriété d\'objet "name" non fournie'); } $schema = $object['schema'] ?? null; $name = $object['name']; } return Util::fullObjectName($schema, $name); } public function data(): DataManager { if (!isset($this->data)) { Loading src/Manager/AbstractManager.php +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Unicaen\BddAdmin\Manager; use Unicaen\BddAdmin\Bdd; use Unicaen\BddAdmin\Event\EventManagerAwareTrait; use Unicaen\BddAdmin\Exception\BddException; use Unicaen\BddAdmin\Util; abstract class AbstractManager implements ManagerInterface Loading Loading @@ -75,6 +77,7 @@ abstract class AbstractManager implements ManagerInterface public function exists(string $name): bool { $name = $this->bdd->normalizeObjectName($name); $list = $this->getList($name); return count($list) == 1 && in_array($name, $list); Loading tests/AbstractBddProtocoleTestCase.php +17 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ abstract class AbstractBddProtocoleTestCase extends AbstractBddTestCase $tested = true; } if (isset($action['expected'])) { $action['expected'] = $this->normalizeExpected($action['expected']); if (is_array($action['expected'])) { $this->assertArrayEquals($action['expected'], $result); } else { Loading @@ -56,6 +57,22 @@ abstract class AbstractBddProtocoleTestCase extends AbstractBddTestCase protected function normalizeExpected(array $expected): array { $res = []; foreach( $expected as $k => $v ){ if (is_int($k) && is_string($v)){ $res[$k] = $this->bdd->normalizeObjectName($v); }elseif(is_string($k)){ $res[$this->bdd->normalizeObjectName($k)] = $v; } } return $res; } public function testProtocole() { foreach ($this->protocole as $action) { Loading tests/PostgresqlTest.php +1 −3 Original line number Diff line number Diff line Loading @@ -8,8 +8,6 @@ final class PostgresqlTest extends AbstractBddProtocoleTestCase { parent::setUp(); $sql = "DROP SCHEMA IF EXISTS bddadmintests CASCADE"; $this->bdd->exec($sql); $this->bdd->drop(); } } tests/bootstrap.php +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ class BddAdminTest // Fichier présent dans le répertoire de config de l'application $filename = dirname(dirname(dirname(dirname(__DIR__)))) . '/config/autoload/bddadmin-tests.local.php'; var_dump($filename); //var_dump($filename); if (file_exists($filename)) { return require $filename; } Loading Loading
src/Bdd.php +18 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use Unicaen\BddAdmin\Ddl\DdlFilters; use Unicaen\BddAdmin\Driver\DriverInterface; use Unicaen\BddAdmin\Event\EventManagerAwareTrait; use Unicaen\BddAdmin\Exception\BddCompileException; use Unicaen\BddAdmin\Exception\BddException; use Unicaen\BddAdmin\Logger\DefaultLogger; use Unicaen\BddAdmin\Logger\LoggerAwareTrait; use Unicaen\BddAdmin\Manager\CompilableInterface; Loading Loading @@ -498,6 +499,23 @@ class Bdd public function normalizeObjectName(string|array $object): string { if (is_string($object)) { [$schema, $name] = Util::explodedFullObjectName($object); }else{ if (isset($object['name'])){ throw new BddException('Propriété d\'objet "name" non fournie'); } $schema = $object['schema'] ?? null; $name = $object['name']; } return Util::fullObjectName($schema, $name); } public function data(): DataManager { if (!isset($this->data)) { Loading
src/Manager/AbstractManager.php +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Unicaen\BddAdmin\Manager; use Unicaen\BddAdmin\Bdd; use Unicaen\BddAdmin\Event\EventManagerAwareTrait; use Unicaen\BddAdmin\Exception\BddException; use Unicaen\BddAdmin\Util; abstract class AbstractManager implements ManagerInterface Loading Loading @@ -75,6 +77,7 @@ abstract class AbstractManager implements ManagerInterface public function exists(string $name): bool { $name = $this->bdd->normalizeObjectName($name); $list = $this->getList($name); return count($list) == 1 && in_array($name, $list); Loading
tests/AbstractBddProtocoleTestCase.php +17 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ abstract class AbstractBddProtocoleTestCase extends AbstractBddTestCase $tested = true; } if (isset($action['expected'])) { $action['expected'] = $this->normalizeExpected($action['expected']); if (is_array($action['expected'])) { $this->assertArrayEquals($action['expected'], $result); } else { Loading @@ -56,6 +57,22 @@ abstract class AbstractBddProtocoleTestCase extends AbstractBddTestCase protected function normalizeExpected(array $expected): array { $res = []; foreach( $expected as $k => $v ){ if (is_int($k) && is_string($v)){ $res[$k] = $this->bdd->normalizeObjectName($v); }elseif(is_string($k)){ $res[$this->bdd->normalizeObjectName($k)] = $v; } } return $res; } public function testProtocole() { foreach ($this->protocole as $action) { Loading
tests/PostgresqlTest.php +1 −3 Original line number Diff line number Diff line Loading @@ -8,8 +8,6 @@ final class PostgresqlTest extends AbstractBddProtocoleTestCase { parent::setUp(); $sql = "DROP SCHEMA IF EXISTS bddadmintests CASCADE"; $this->bdd->exec($sql); $this->bdd->drop(); } }
tests/bootstrap.php +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ class BddAdminTest // Fichier présent dans le répertoire de config de l'application $filename = dirname(dirname(dirname(dirname(__DIR__)))) . '/config/autoload/bddadmin-tests.local.php'; var_dump($filename); //var_dump($filename); if (file_exists($filename)) { return require $filename; } Loading