Skip to content

reseau-constellation/utils-tests

Repository files navigation

Logo Constellation

Utils-tests Constellation

Fonctions de test utilitaires pour Constellation

tests couverture

Installation

$ pnpm add --save-dev @constl/utils-tests

Cette librairie fournie des fonctions utilitaires pour tester Constellation et les autres librairies basées sur celle-ci.

Utilisation

Constellation

Création d'instances éphémères Constellation pour les tests.

import { créerConstellation } from "@constl/ipa";
import { créerConstellationsTest } from "@constl/utils-tests"

const { constls, fermer } = créerConstellationsTest({
  n: 2,
  créerConstellation
});

// Ici les Constellations sont déjà connectées l'une à l'autre.

const idBd = await constls[0].bds.créerBd({ licence: "ODbl-1_0" });
await constls[1].bds.suivreNoms({ idBd });

// Fermera les Constellations et effacera toutes leurs données du système
await fermer();

Orbite et Hélia

Création d'instances éphémères d'OrbitDB et de Hélia pour les tests.

Pour Hélia:

import { créerHéliasTest } from "@constl/utils-tests"

const { hélias, fermer } = créerHéliasTest({
  n: 2,
});

await fermer();

Pour OrbitDB:

import { créerOrbitesTest } from "@constl/utils-tests"

const { orbites, fermer } = créerOrbitesTest({
  n: 2,
});


// Ici les instances d'OrbitDB sont déjà connectées l'une à l'autre.

const bd = await orbites[0].open("données tests", { type: "keyvalue" });
await bd.set("a", 1)

const bdSurLAutreOrbite = await orbites[1].open(bd.address);
await bd.get("a") // => 1

await fermer()  // Effacera toutes les données

Compilation

Plusieurs fonctions utilitaires de compilation sont incluses.

import { obtConfigEsbuild, générerConfigÆgir } from "@constl/utils-tests"

// Génère une configuration esbuild pour compiler Constellation sur navigateur
const config = await obtConfigEsbuild();


// Génère une configuration à mettre dans `.aegir.js` pour tester des projets avec Ægir (https://github.com/ipfs/aegir). Gère automatiquement la création d'un relai si nécessaire pour vos tests.
const configÆgir = await générerConfigÆgir();

Relai

Lance un relai local qui permet de connecter des instances de Constellation dans les tests sur navigateur.

// Dans un fichier qui sera exécuté dans un processus séparé des tests (p. ex., `.aegir.js`, voir https://github.com/ipfs/aegir);
import { lancerRelai } from "@constl/utils-tests"

await lancerRelai();

Dossiers

Fonction utilitaire pour créer des dossiers temporaires pour les tests.

import { dossierTempo } from "@constl/utils-tests"

const { dossier, effacer } = await dossierTempo();

// `dossier` existe

effacer();
// Le dossier n'existe plus

Attente

Fonctions utilitaires pour attendre des résultats.

import { attendreFichierExiste, attendreFichierModifié } from "@constl/utils-tests"

await attendreFichierExiste({ fichier: "./un/fichier.txt" });
// Maintenant le fichier existe

await attendreFichierModifié({ fichier: "./un/fichier.txt" });
// Le fichier a été modifié depuis l'appel à `attendreFichierModifié`

// Attendra que la condition retourne `true`
await que(()=>true)

About

Fonctions utilitaires pour les tests Constellation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors