Commit 1424b137 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Wip

mise en place des tests unitaires
parent 6d322737
Loading
Loading
Loading
Loading
Loading

bin/tests

0 → 100755
+14 −0
Original line number Diff line number Diff line
#!/usr/bin/env php
<?php

// Lancement de PHPUnit

$dir = dirname(__DIR__);

$vendor = dirname(dirname($dir));

$phpUnitExec = $vendor.'/bin/phpunit';

$command = 'clear;'.$phpUnitExec.' '.$dir.' --color=always';

passthru( $command);
+4 −2
Original line number Diff line number Diff line
{
    "name"        : "unicaen/bddadmin",
    "description" : "Module administrer des bases de données Postgresql et Oracle",
    "description" : "Module pour administrer des bases de données Postgresql et Oracle",
    "repositories": [
        {
            "type": "composer",
@@ -8,10 +8,12 @@
        }
    ],
    "require": {
        "php": ">=8.2",
    },
    "autoload"    : {
        "psr-4"   : {
            "Unicaen\\BddAdmin\\"    : "src/"
            "Unicaen\\BddAdmin\\"    : "src/",
            "Unicaen\\BddAdmin\\Tests"    : "tests/"
        },
        "classmap": [
            "./Module.php"

phpunit.xml

0 → 100644
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="tests/bootstrap.php" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
  <coverage processUncoveredFiles="true">
    <include>
      <directory suffix=".php">./src</directory>
    </include>
  </coverage>
  <testsuites>
    <testsuite name="unit">
      <directory>./tests</directory>
    </testsuite>
  </testsuites>
  <!--<php>-->
  <!--&lt;!&ndash; Integration Test Variables &ndash;&gt;-->
  <!--<const name="HOST" value="localhost"/>-->
  <!--<const name="PORT" value="4444"/>-->
  <!--<const name="BROWSER_URL" value="http://localhost/snortlog/"/> &lt;!&ndash; '/' requis à la fin! &ndash;&gt;-->
  <!--<const name="CAS_URL" value="https://cas.unicaen.fr/"/> &lt;!&ndash; '/' requis à la fin! &ndash;&gt;-->
  <!--<const name="USERNAME" value="21009539"/>-->
  <!--<const name="PASSWORD" value="UCBN2010"/>-->
  <!--</php>-->
</phpunit>
+47 −42
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ use Unicaen\BddAdmin\Manager\TriggerManagerInterface;
use Unicaen\BddAdmin\Manager\UniqueConstraintManagerInterface;
use Unicaen\BddAdmin\Manager\ViewManagerInterface;
use \Exception;
use Unicaen\BddAdmin\Manager\VoidManager;

class Bdd
{
@@ -58,47 +59,47 @@ class Bdd

    private array $changements = [
        Ddl::SCHEMA . '.create'             => 'Création des schémas',
//        Ddl::SEQUENCE . '.rename'           => 'Renomage des séquences',
//        Ddl::TABLE . '.rename'              => 'Renomage des tables',
//        Ddl::VIEW . '.rename'               => 'Renomage des vues',
//        Ddl::MATERIALIZED_VIEW . '.rename'  => 'Renomage des vues matérialisées',
//        Ddl::PACKAGE . '.rename'            => 'Renomage des packages',
//        Ddl::INDEX . '.rename'              => 'Renomage des indexes',
//        Ddl::TRIGGER . '.rename'            => 'Renomage des triggers',
//        Ddl::PRIMARY_CONSTRAINT . '.rename' => 'Renomage des clés primaires',
//        Ddl::REF_CONSTRAINT . '.rename'     => 'Renomage des clés étrangères',
//        Ddl::UNIQUE_CONSTRAINT . '.rename'  => 'Renomage des contraintes d\'unicité',
//        Ddl::TRIGGER . '.drop'              => 'Suppression des triggers',
//        Ddl::SEQUENCE . '.drop'             => 'Suppression des séquences',
//        Ddl::VIEW . '.drop'                 => 'Suppression des vues',
//        Ddl::MATERIALIZED_VIEW . '.drop'    => 'Suppression des vues matérialisées',
//        Ddl::PACKAGE . '.drop'              => 'Suppression des packages',
//        Ddl::REF_CONSTRAINT . '.drop'       => 'Suppression des clés étrangères',
//        Ddl::PRIMARY_CONSTRAINT . '.drop'   => 'Suppression des clés primaires',
//        Ddl::UNIQUE_CONSTRAINT . '.drop'    => 'Suppression des contraintes d\'unicité',
//        Ddl::INDEX . '.drop'                => 'Suppression des indexes',
//        Ddl::SEQUENCE . '.create'           => 'Création des séquences',
//        Ddl::TABLE . '.create'              => 'Création des tables',
//        Ddl::TABLE . '.alter'               => 'Modification des tables',
//        Ddl::VIEW . '.create'               => 'Création des vues',
//        Ddl::PACKAGE . '.create'            => 'Création des packages',
//        Ddl::SEQUENCE . '.alter'            => 'Modification des séquences',
//        Ddl::PACKAGE . '.alter'             => 'Modification des packages',
//        Ddl::VIEW . '.alter'                => 'Modification des vues',
//        Ddl::MATERIALIZED_VIEW . '.create'  => 'Création des vues matérialisées',
//        Ddl::MATERIALIZED_VIEW . '.alter'   => 'Modification des vues matérialisées',
//        Ddl::PRIMARY_CONSTRAINT . '.alter'  => 'Modification des clés primaires',
//        Ddl::REF_CONSTRAINT . '.alter'      => 'Modification des clés étrangères',
//        Ddl::UNIQUE_CONSTRAINT . '.alter'   => 'Modification des contraintes d\'unicité',
//        Ddl::TRIGGER . '.alter'             => 'Modification des triggers',
//        Ddl::INDEX . '.alter'               => 'Modification des indexes',
//        Ddl::INDEX . '.create'              => 'Création des indexes',
//        Ddl::PRIMARY_CONSTRAINT . '.create' => 'Création des clés primaires',
//        Ddl::REF_CONSTRAINT . '.create'     => 'Création des clés étrangères',
//        Ddl::UNIQUE_CONSTRAINT . '.create'  => 'Création des contraintes d\'unicité',
//        Ddl::TRIGGER . '.create'            => 'Création des triggers',
//        Ddl::TABLE . '.drop'                => 'Suppression des tables',
//        Ddl::SCHEMA . '.drop'               => 'Suppression des schémas',
        Ddl::SEQUENCE . '.rename'           => 'Renomage des séquences',
        Ddl::TABLE . '.rename'              => 'Renomage des tables',
        Ddl::VIEW . '.rename'               => 'Renomage des vues',
        Ddl::MATERIALIZED_VIEW . '.rename'  => 'Renomage des vues matérialisées',
        Ddl::PACKAGE . '.rename'            => 'Renomage des packages',
        Ddl::INDEX . '.rename'              => 'Renomage des indexes',
        Ddl::TRIGGER . '.rename'            => 'Renomage des triggers',
        Ddl::PRIMARY_CONSTRAINT . '.rename' => 'Renomage des clés primaires',
        Ddl::REF_CONSTRAINT . '.rename'     => 'Renomage des clés étrangères',
        Ddl::UNIQUE_CONSTRAINT . '.rename'  => 'Renomage des contraintes d\'unicité',
        Ddl::TRIGGER . '.drop'              => 'Suppression des triggers',
        Ddl::SEQUENCE . '.drop'             => 'Suppression des séquences',
        Ddl::VIEW . '.drop'                 => 'Suppression des vues',
        Ddl::MATERIALIZED_VIEW . '.drop'    => 'Suppression des vues matérialisées',
        Ddl::PACKAGE . '.drop'              => 'Suppression des packages',
        Ddl::REF_CONSTRAINT . '.drop'       => 'Suppression des clés étrangères',
        Ddl::PRIMARY_CONSTRAINT . '.drop'   => 'Suppression des clés primaires',
        Ddl::UNIQUE_CONSTRAINT . '.drop'    => 'Suppression des contraintes d\'unicité',
        Ddl::INDEX . '.drop'                => 'Suppression des indexes',
        Ddl::SEQUENCE . '.create'           => 'Création des séquences',
        Ddl::TABLE . '.create'              => 'Création des tables',
        Ddl::TABLE . '.alter'               => 'Modification des tables',
        Ddl::VIEW . '.create'               => 'Création des vues',
        Ddl::PACKAGE . '.create'            => 'Création des packages',
        Ddl::SEQUENCE . '.alter'            => 'Modification des séquences',
        Ddl::PACKAGE . '.alter'             => 'Modification des packages',
        Ddl::VIEW . '.alter'                => 'Modification des vues',
        Ddl::MATERIALIZED_VIEW . '.create'  => 'Création des vues matérialisées',
        Ddl::MATERIALIZED_VIEW . '.alter'   => 'Modification des vues matérialisées',
        Ddl::PRIMARY_CONSTRAINT . '.alter'  => 'Modification des clés primaires',
        Ddl::REF_CONSTRAINT . '.alter'      => 'Modification des clés étrangères',
        Ddl::UNIQUE_CONSTRAINT . '.alter'   => 'Modification des contraintes d\'unicité',
        Ddl::TRIGGER . '.alter'             => 'Modification des triggers',
        Ddl::INDEX . '.alter'               => 'Modification des indexes',
        Ddl::INDEX . '.create'              => 'Création des indexes',
        Ddl::PRIMARY_CONSTRAINT . '.create' => 'Création des clés primaires',
        Ddl::REF_CONSTRAINT . '.create'     => 'Création des clés étrangères',
        Ddl::UNIQUE_CONSTRAINT . '.create'  => 'Création des contraintes d\'unicité',
        Ddl::TRIGGER . '.create'            => 'Création des triggers',
        Ddl::TABLE . '.drop'                => 'Suppression des tables',
        Ddl::SCHEMA . '.drop'               => 'Suppression des schémas',
    ];

    /**
@@ -312,7 +313,7 @@ class Bdd
            $this->driver->disconnect();
        }
        $driverClass = isset($config['driver']) ? $config['driver'] : 'Oracle';
        $driverClass = "\BddAdmin\Driver\\$driverClass\Driver";
        $driverClass = "Unicaen\BddAdmin\Driver\\$driverClass\Driver";
        $this->driver = new $driverClass($this);
        $this->driver->connect();

@@ -323,7 +324,11 @@ class Bdd

    public function manager(string $name): ManagerInterface
    {
        try {
            $ddlClass = $this->driver->getDdlClass($name);
        }catch(\Exception $e){
            $ddlClass = VoidManager::class;
        }

        if (!is_subclass_of($ddlClass, ManagerInterface::class)) {
            throw new \Exception($ddlClass . ' n\'est pas un objet DDL valide!!');
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ abstract class AbstractManagerDdlConstraint extends AbstractManager



    abstract public function makeCreate(array $data): void;
    abstract public function makeCreate(array $data): string;



Loading