Skip to content

Commit

Permalink
Update of integration tests (#13)
Browse files Browse the repository at this point in the history
* [test] apisManager ok

* [test] baseManager ok

* [test] line ok

* [test] resourceParameter ok

* [test] serviceAdministered ok

* [test] *Request ok

* [test] serverManager ok

* [test] serviceProcess en cours

* [test] resourceOperation ok

* [test] *parameter ok

* [test] apisManager ok

* [test] baseManager ok

* [test] line ok

* [test] resourceParameter ok

* [test] serviceAdministered ok

* [test] *Request ok

* [test] serverManager ok

* [test] serviceProcess en cours

* [test] resourceOperation ok

* [test] *parameter ok

* [sub] update r2gg commit

* fix(test) update json for pgr and valhalla source description

* [doc] fix test/functional/readme.md

Co-authored-by: jmkerloch <[email protected]>

Co-authored-by: jmkerloch <[email protected]>
Co-authored-by: jmkerloch <[email protected]>
  • Loading branch information
3 people authored Jan 11, 2023
1 parent 6e30149 commit 03af500
Show file tree
Hide file tree
Showing 57 changed files with 1,170 additions and 678 deletions.
158 changes: 9 additions & 149 deletions src/js/apis/apisManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,14 @@ module.exports = class apisManager {
*
* @function
* @name constructor
* @description Constructeur de la classe resourceManager
* @description Constructeur de la classe apisManager
* @param {string} apisDirectory - Dossier qui contient les APIs. Par défaut, il s'agit du dossier de ce projet contenant des APIs
*
*/
constructor() {
constructor(apisDirectory = "../apis/") {

// Dossier contenant les APIs du projet
this._apisDirectory = "../apis/";

// Prefix utilisé pour chaque route des APIS
this._prefix = "";
this._apisDirectory = apisDirectory;

// Liste des routes chargées par l'app Express
this._listOfRoutes = new Array();
Expand All @@ -33,50 +31,6 @@ module.exports = class apisManager {

}

/**
*
* @function
* @name get apisDirectory
* @description Récupérer le chemin du dossier qui contient les APIs
*
*/
get apisDirectory () {
return this._apisDirectory;
}

/**
*
* @function
* @name get prefix
* @description Récupérer le prefix utilisé par ce manager
*
*/
get prefix () {
return this._prefix;
}

/**
*
* @function
* @name get listOfRoutes
* @description Récupérer la liste des routes disponibles via ce manager
*
*/
get listOfRoutes () {
return this._listOfRoutes;
}

/**
*
* @function
* @name get apisCatalog
* @description Récupérer la liste des apis disponibles via ce manager
*
*/
get apisCatalog () {
return this._apisCatalog;
}

/**
*
* @function
Expand Down Expand Up @@ -121,6 +75,7 @@ module.exports = class apisManager {
availableAPI= fs.statSync(tmpPathName).isDirectory()
} catch(error) {
LOGGER.error("Mauvaise configuration: 'name' ne peut être évalué.");
LOGGER.error(error);
return false;
}

Expand Down Expand Up @@ -180,95 +135,6 @@ module.exports = class apisManager {

}

/**
*
* @function
* @name loadApiDirectory
* @description Fonction utilisée pour charger l'ensemble des APIs disponibles dans un dossier.
* @param {express} app - Objet créé par ExpressJS représentant l'application
*
*/

loadApiDirectory (app) {

LOGGER.info("Chargement des APIS...");

// Soit _apisDirectory est un chemin absolu qui pointe vers un autre repo d'APIs, soit c'est celui du repo officiel de Road2 (usage de __dirname)
let APIsDirectory = path.resolve(__dirname, this._apisDirectory);

// on lit le contenu du dossier
let APIsDirectoryTable = new Array();

try {
APIsDirectoryTable = fs.readdirSync(APIsDirectory);
} catch (error) {
LOGGER.error("Le dossier n'est pas lisible: " + APIsDirectory);
LOGGER.error(error);
return false;
}

// S'il est vide ce n'est pas normal
if (APIsDirectoryTable.length === 0) {
LOGGER.error("Le dossier des apis est vide.");
return false;
}

// Pour chaque sous-dossier on a potentiellement une api
for (let i = 0; i < APIsDirectoryTable.length; i++) {

let apiName = APIsDirectoryTable[i];

let APIDirectory = APIsDirectory + "/" + apiName;

if (fs.statSync(APIDirectory).isDirectory()) {
// c'est un dossier qui contient potentiellement une API

LOGGER.info("Nouvelle API: " + apiName);

let APIDirectoryTable = fs.readdirSync(APIDirectory);

if (APIDirectoryTable.length === 0) {
LOGGER.error("Le dossier de l'api est vide.");
return false;
}

for (let j = 0; j < APIDirectoryTable.length; j++) {

let apiVersion = APIDirectoryTable[j];

let APIDirectoryVersion = APIDirectory + "/" + apiVersion;

if (fs.statSync(APIDirectoryVersion).isDirectory()) {
// c'est un dossier qui contient potentiellement une version de l'API

LOGGER.info("Nouvelle version: " + apiVersion);

let configuration = {
name: apiName,
version: apiVersion
};

if (!this.loadApiConfiguration(app, configuration)) {
LOGGER.error("Impossible de charger l'API " + apiName + "/" + apiVersion);
}

} else {
// Si ce n'est pas un dossier, on ne fait rien
}

}

} else {
// Si ce n'est pas un dossier, on ne fait rien
}

}

LOGGER.info("APIS chargees.");
return true;

}

/**
*
* @function
Expand All @@ -293,16 +159,10 @@ module.exports = class apisManager {

// Gestion du router
// ------------------
let route;

if (this._prefix !== "") {
route = "/" + this._prefix + "/" + apiName + "/" + apiVersion;
} else {
route = "/"+ apiName + "/" + apiVersion;
}
let route = "/"+ apiName + "/" + apiVersion;

// On vérifie que la route n'existe pas déjà
if (this.verifyRouteExistanceById(route)) {
if (this._verifyRouteExistanceById(route)) {
// Si elle existe c'est un vrai problème donc on arrête le chargement
LOGGER.error("La route " + route + " existe deja. L'api n'est donc pas chargee.");
return false;
Expand Down Expand Up @@ -361,14 +221,14 @@ module.exports = class apisManager {
/**
*
* @function
* @name verifyRouteExistanceById
* @name _verifyRouteExistanceById
* @description Fonction utilisée pour vérifier que la route n'est pas déjà chargée
* @param {string} route - Route à tester
* @return {boolean} true si la route est déjà présente et false sinon
*
*/

verifyRouteExistanceById (route) {
_verifyRouteExistanceById (route) {

for (let i = 0; i < this._listOfRoutes.length; i++) {
if (this._listOfRoutes[i] === route) {
Expand Down
22 changes: 0 additions & 22 deletions src/js/base/baseManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,28 +37,6 @@ module.exports = class baseManager {

}

/**
*
* @function
* @name get loadedBaseConfiguration
* @description Récupérer la liste des configurations déjà chargées par ce manager
*
*/
get loadedBaseConfiguration() {
return this._loadedBaseConfiguration;
}

/**
*
* @function
* @name get baseCatalog
* @description Récupérer le catalogue des bases
*
*/
get baseCatalog() {
return this._baseCatalog;
}

/**
*
* @function
Expand Down
2 changes: 1 addition & 1 deletion src/js/geometry/line.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ module.exports = class Line extends Geometry {

super("line", projection);

// Géométrie de la polyline
// Géométrie de la Line
this._geom = geom;

// Format de géométrie (geojson, polyline...)
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/boolParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = class BoolParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// defaultValueContent
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/constraintParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ module.exports = class ConstraintParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// defaultValueContent
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/enumParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = class EnumParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// defaultValueContent
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/floatParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ module.exports = class FloatParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// defaultValueContent
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/intParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = class IntParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// defaultValueContent
Expand Down
2 changes: 1 addition & 1 deletion src/js/parameters/pointParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ module.exports = class PointParameter extends ResourceParameter {
*/
constructor(parameter) {

// id
// Paramètre de service
super(parameter);

// Bbox
Expand Down
22 changes: 11 additions & 11 deletions src/js/parameters/resourceParameter.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ module.exports = class ResourceParameter {
* @function
* @name constructor
* @description Constructeur de la classe ResourceParameter
* @param {object} parameter - Référence au paramètre de service
* @param {Parameter} parameter - Référence au paramètre de service, instance de la classe Parameter
*
*/
constructor(parameter) {

// id
// paramètre du service
this._serviceParameter = parameter;

}
Expand All @@ -49,7 +49,7 @@ module.exports = class ResourceParameter {
* @function
* @name load
* @description Charger la configuration
* @param {string} parameterConf - Configuration d'un paramètre
* @param {object} parameterConf - Configuration d'un paramètre
* @return {boolean}
*
*/
Expand Down Expand Up @@ -115,16 +115,12 @@ module.exports = class ResourceParameter {
userTable = userValue.split("|");

} else {
//TODO: ce n'est pas censé arriver, que fait-on ?
return errorManager.createErrorMessage("");
return errorManager.createErrorMessage("style non reconnu");
}

} else {

// on peut avoir simplement un float
// TODO: vérification du float ?
LOGGER.debug("user parameter is NOT a string");
userTable = userValue;
return errorManager.createErrorMessage("user parameter is NOT a string");

}

Expand Down Expand Up @@ -167,7 +163,9 @@ module.exports = class ResourceParameter {

LOGGER.debug("specificCheck()");
LOGGER.debug("user value : " + userValue);
LOGGER.debug("options: " + options.toString());
if (options) {
LOGGER.debug("options: " + options.toString());
}
return errorManager.createErrorMessage("");

}
Expand Down Expand Up @@ -230,7 +228,9 @@ module.exports = class ResourceParameter {

LOGGER.debug("specificConversion()");
LOGGER.debug("user value : " + userValue);
LOGGER.debug("options: " + options.toString());
if (options) {
LOGGER.debug("options: " + options.toString());
}
return null;

}
Expand Down
Loading

0 comments on commit 03af500

Please sign in to comment.