npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@thorolf/simple-mock

v1.1.3

Published

Ce module a pour but d'offrir la possibilite de mettre en place des mocks facilement et rapidement. Il offre la possibilite de définir des mocks via des fichiers json ou a partir d'un fichier de log reseau provenant de Google Chrome (fichiers HAR).

Downloads

3

Readme

SimpleMocks

Ce module a pour but d'offrir la possibilite de mettre en place des mocks facilement et rapidement.
Il offre la possibilite de définir des mocks via des fichiers json ou a partir d'un fichier de log reseau provenant de Google Chrome (fichiers HAR).
Les moficittions des fichiers mocks sont rechargées a chaud.

Utilisation

Standalone

npm install
node .

As dependency

npm install -D git+ssh://[email protected]:raphael.hue/SimpleMocks.git

Editez le fichier package.json de votre projet comme suit :

{
    "scripts" : {
        "mocks" : "node_modules/.bin/mocks"
    }
}

Lancez le server de mock avec la commande :

npm run mocks

Configuration

La configuration par défaut peut etre surchargée mocks.json a la racine du projet
La synthaxe est la même que le fichier config.json

Configuration

Fichier config.json

config.json

{
    "port": 8080,
    "mocks_dir": "./mocks",
    "log_level": "DEBUG"
}
  • port : port utilisé
  • mocks_dir : chemin relatif vers le dossier de mocks
  • log_level : niveau de log DEBUG|INFO|WARN|ERROR

Fichiers mocks

Configuration du groupe

{
    "name": "exemple",
    "baseUrl": "exemple/rest",
    "enable": true,
    "cors" : {
        "Access-Control-Allow-Headers" : "*",
        "Access-Control-Expose-Headers" : "*",
        "Access-Control-Allow-Origin" : "*"
    },
    "mock": [],
    "har" : []
}
  • name : nom du groupe de mock
  • baseUrl : base de l'url pour ce groupe de mock
  • enable : groupe de mock activé ou non
  • cors : liste des valeurs CORS renvoyées en tant que headers dans chaque réponse
  • mock : liste des mocks
  • har : liste des fichiers HAR a charger

Mock

La priorité des réponse suit l'ordre de définition. Si la requete satisfait les criteres d'un mock, la réponse est renvoyée. Sinon, les mocks continuent d'etre testés jusqu'a la fin de la liste. Si la requete ne satisfait les criteres d'aucun mocks, une response 501 : Not Implemented est renvoyé.

{
    "url": "path",
    "method": "string",
    "headers": {
        "name" : "*"|"string"
    },
    "queryParams" : {
        "name" : "*"|"string"
    },
    "pathParams" : {
        "name" : "*"|"string"
    },
    "response": {
        "code": 200,
        "headers" : {
            "header_name" : "sting"
        },
        "body": null|"string"|{object}
    }    
}
  • url : url du WS. la syntaxe :path_params_name peut etre utilisée comme wildcard. l'url finale du mock est <host>:<port>/<baseurl>/<url>
  • method : methode http get|post|put|delete|patch...
  • headers : facultatif liste de headers a verifier. * peut etre utlisé comme wildcard, la présence du chaps est alors vérifiée, sans controle de sa valeur.
  • queryParams : facultatif identique a headers pour les queryParams
  • pathParams : facultatif identique a headers pour les paths params
  • response : réponse a renvoyer si le requete correspond aux criteres
    • code : code http
    • headers : facultatif liste des headers
    • body : facultatif corps de la réponse. renseigner null ou omettre pour une reponse vide. Peut etre une chaine de carateres ou un objet. Si la valeur est un chaine de carateres commencant par file://, renvoi le contenu du fichier spécifié (chemin relatif)

Har

Permet de generer des mocks a partir d'un fichier *.har issu de Google Chrome.
Utile pour rejouer un cas test.
Le domaine présent dans les url du fichier HAR sera supprimé et remplacé par la baseUrl du fichier de configuration.
Les entrées du fichier HAR sont prise en compte dans l'ordre inverse : du plus recent au plus ancient.

{
    "filePath" : "string",
    "options" : {
        "filter" : ["string"]|"string",
        "queryParams" :{
            "ignore" : ["string"]
        }
    }
}
  • filePath : chemin relatif vers le fichier HAR
  • options : facultatif options pour le parsing du fichier
    • filter : facultatif filtre sur les urls presentes dans le fichier HAR. les valeur sont gérées comme des expressions régulières. Si l'url valide un seul filtre, elle est inclut dans le mock
    • queryParams : facultatif option sur les query params
      • ignore : liste des query params a ignorer. Par défaut, tous les query params devront etres identique pour que l'appel match le mock. Si il y a des query params avec a date courante ou une valeur aleatoire, il peut etre utile de les ignorer

Pour generer le fichier har :

  • Ouvrir la console debug de Chrome
  • Se placer dans l'onglet 'Network'
  • Cocher la case 'Preserve log'
  • Se Placer dans l'etat de debut du scenario de test (avant connexion/intialisation)
  • Clic sur le bouton 'Clear'
  • Jouer un scenario
  • Une fois fini, faire un clic droit sur l'une des lignes du log network et cliquer sur 'Save as HAR with content'