/**
  * Action permettant de créer un data set.
  *
  * @param sfWebRequest $request
  */
 public function execute($request)
 {
     $this->setLayout(false);
     $this->getResponse()->setContentType('application/json');
     try {
         // Création du tableau de résultats.
         $folders = array();
         /** @var EiProjetTable $tableProjet */
         $tableProjet = Doctrine_Core::getTable("EiProjet");
         $projetsListe = $tableProjet->findUserProjet($this->user->getGuardId());
         if ($projetsListe !== null) {
             /** @var EiProjet $projet */
             foreach ($projetsListe as $projet) {
                 if ($projet != null && $projet->needsReload($this->user->getGuardUser()->getUsername())) {
                     $xml = $projet->downloadKalFonctions($request);
                     if ($xml != null) {
                         $projet->transactionToLoadObjectsOfProject($xml);
                     }
                 }
                 /** @var EiNode $oRoot */
                 $oRoot = $projet->getRootFolder();
                 //Récupération du dossier root
                 /** @var EiNode[] $oChilds */
                 $oChilds = $oRoot->getStructure();
                 // Ajout du lien vers le scénario.
                 $oChilds = $this->throwStructureAndAddUrlToScenario($oChilds, $projet->getDefaultProfil());
                 $folders[] = $oChilds;
             }
         }
     } catch (Exception $e) {
         $folders = array();
     }
     return $this->renderText(json_encode(array("tree" => $folders)));
 }
 /**
  * Action permettant de créer un data set.
  *
  * @param sfWebRequest $request
  */
 public function execute($request)
 {
     $this->setLayout(false);
     $this->getResponse()->setContentType('application/json');
     try {
         // Création du tableau de résultats.
         $projets = array();
         /** @var EiProjetTable $tableProjet */
         $tableProjet = Doctrine_Core::getTable("EiProjet");
         $projetsListe = $tableProjet->findUserProjet($this->user->getGuardId());
         if ($projetsListe !== null) {
             /** @var EiProjet $projet */
             foreach ($projetsListe as $projet) {
                 $projets[] = array("ref" => $projet->getRefId(), "id" => $projet->getProjectId(), "nom" => $projet->getName());
             }
         }
     } catch (Exception $e) {
         $projets = array();
     }
     return $this->renderText(json_encode(array("projets" => $projets)));
 }
Example #3
0
 /**
  * Méthode permettant de générer le jeu de test.
  *
  * @param sfWebRequest $request
  * @return sfView
  */
 public function executeGenerateTestSet(sfWebRequest $request)
 {
     $this->getResponse()->setContentType('application/json');
     $this->setLayout(false);
     $chronometre1 = new Chronometre();
     $chronometre2 = new Chronometre();
     $chronometre3 = new Chronometre();
     $chronometre4 = new Chronometre();
     $chronometre5 = new Chronometre();
     $keyword = "PERFORMANCE JDT - ";
     // Début mesure.
     $chronometre1->lancerChrono($keyword . "LANCEMENT GENERATION DU JEU DE TEST");
     /** @var EiCampaignExecutionGraphTable $tableExecutionGraph */
     $tableExecutionGraph = Doctrine_Core::getTable("EiCampaignExecutionGraph");
     /** @var EiTestSetTable $tableTestSet */
     $tableTestSet = Doctrine_Core::getTable("EiTestSet");
     // Récupération des éléments relatifs à la campagne (si existe).
     $executionId = $request->getParameter("execution_id");
     $stepId = $request->getParameter("graph_id");
     try {
         $this->getUrlParameters($request);
         // Choix du navigateur.
         $deviceChoice = $request->getParameter("device");
         $testSet = new EiTestSet();
         $testSet->setEiScenarioId($this->ei_scenario->getId());
         $testSet->setEiVersionId($this->ei_version->getId());
         $testSet->setProfileId($this->profile_id);
         $testSet->setProfileRef($this->profile_ref);
         $testSet->setModeByIde($request->getParameter("exec_mode"));
         $testSet->setAuthorId($this->user->getGuardId());
         $testSet->setDevice($deviceChoice == null || !DevicesConst::isValid($deviceChoice) ? DevicesConst::SELENIUM_IDE : $deviceChoice);
         $testSet->setEiIteration($this->getRequestActiveIteration());
         if ($this->ei_data_set instanceof EiDataSet) {
             $testSet->setEiDataSetId($this->ei_data_set->getEiDataSetTemplate()->getEiDataSetRefId());
             // Début mesure.
             $chronometre2->lancerChrono($keyword . "COMPLETION JDD");
             // Complétion du jeu de données.
             $testSet->getEiDataSet()->completeDataSet();
             // Fin mesure
             $chronometre2->arreterEtAfficherChrono();
         }
         $testSet->save();
         $tableTestSet->searchRelatedEiExecutionStackAndTaggedIt($testSet, $this->ei_project);
         $this->getLogger()->info("-----   Jeu de données à créer.");
         //*******************************************************************//
         //**********     AFFECTATION TEST SET ID A LA CAMPAGNE     **********//
         //*******************************************************************//
         if ($executionId != null && $stepId != null && $executionId != 0 && $stepId != 0) {
             /** @var EiCampaignExecutionGraph $executionGraph */
             $executionGraph = $executionId != null ? $tableExecutionGraph->findOneByExecutionIdAndGraphId($executionId, $stepId) : null;
             // On vérifie que l'étape de l'exécution a bien été trouvée et que l'id du scénario correspond à l'ID
             // du scénario du JDT.
             if ($executionGraph != null && $executionGraph->getEiScenario()->getId() == $testSet->getEiScenarioId()) {
                 $executionGraph->setEiTestSetId($testSet->getId());
                 $executionGraph->save();
             }
         }
         // Génération du jeu de données pour le jeu de test.
         // Début mesure.
         $chronometre3->lancerChrono($keyword . "GENERATION JDD");
         $testSet->generateTestSetDataSet();
         // Fin mesure
         $chronometre3->arreterEtAfficherChrono();
         $this->getLogger()->info("-----   Jeu de données créé.");
         $this->getLogger()->info("-----   Paramètres de blocks à créer.");
         // Début mesure.
         $chronometre5->lancerChrono($keyword . "GENERATION PARAMS BLOCK");
         // Fin mesure
         $chronometre5->arreterEtAfficherChrono();
         $this->getLogger()->info("-----   Paramètres de blocks créés.");
         // Fin mesure.
         $chronometre1->arreterEtAfficherChrono();
         $JSONResponse['ei_test_set_id'] = $testSet->getId();
         $JSONResponse['ei_data_set_id'] = $testSet->getEiDataSetId() != "" ? $testSet->getEiDataSetId() : 0;
     } catch (Exception $e) {
         $JSONResponse['error'] = $e->getMessage();
     }
     return $this->renderText(json_encode($JSONResponse));
 }