Skip to content

Commit

Permalink
test: enhance overall
Browse files Browse the repository at this point in the history
  • Loading branch information
fraxken committed Jun 2, 2020
1 parent 395cc63 commit 3a0f02c
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 217 deletions.
214 changes: 41 additions & 173 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,20 @@
"@commitlint/cli": "^8.3.5",
"@commitlint/config-conventional": "^8.3.4",
"@escommunity/minami": "^1.0.0",
"@slimio/async-cli-spinner": "^0.5.2",
"@slimio/eslint-config": "^4.1.0",
"@slimio/is": "^1.5.1",
"@slimio/psp": "^0.11.1",
"codecov": "^3.7.0",
"cross-env": "^7.0.2",
"del": "^5.1.0",
"cross-spawn": "^7.0.3",
"dotenv": "^8.2.0",
"eslint": "^7.0.0",
"husky": "^4.2.5",
"isomorphic-git": "^0.78.3",
"japa": "^3.0.1",
"jsdoc": "^3.6.4",
"make-promises-safe": "^5.1.0",
"nyc": "^15.0.1",
"ora": "^4.0.3",
"pkg-ok": "^2.3.1"
Expand Down
56 changes: 13 additions & 43 deletions test/test.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
require("make-promises-safe");
require("dotenv").config();

// Require Node.js dependencies
const fs = require("fs");
const { writeFile, readFile, access } = fs.promises;
const { writeFile, readFile, rmdir } = fs.promises;
const { join } = require("path");
const { spawn } = require("child_process");
const { sync: spawnSync } = require("cross-spawn");

// Require Third-Party dependencies
const japa = require("japa");
const git = require("isomorphic-git");
const del = require("del");
const ora = require("ora");
const Spinner = require("@slimio/async-cli-spinner");
const is = require("@slimio/is");

// Internal dependencies
Expand All @@ -22,64 +23,33 @@ let cp = null;

// CONSTANTS
const REG_DIR = join(__dirname, "registry");
const EXEC_SUFFIX = process.platform === "win32";

japa.group("Registry SDK", (group) => {
let accessToken;
group.before(async() => {
const spin1 = ora("Deleting ./registry").start();
try {
await access(REG_DIR);
await del([REG_DIR]);
spin1.succeed();
}
catch (err) {
// ignore
spin1.fail(err.message);
}
await rmdir(REG_DIR, { recursive: true });

// Clone registry
const spinClone = ora("Cloning Registry from Github").start();
const spinClone = new Spinner({ text: "Cloning Registry from Github" }).start();
await git.clone({
dir: REG_DIR,
url: "https://github.com/SlimIO/Registry.git"
});
spinClone.succeed();

// Install node_modules
const spinInstall = ora("Installing Registry dependencies").start();
await new Promise((resolve, reject) => {
const TTYStream = spawn(`npm${EXEC_SUFFIX ? ".cmd" : ""}`, ["install", "--production"], {
cwd: REG_DIR
});
TTYStream.once("close", () => {
spinInstall.succeed();
resolve();
});
TTYStream.once("error", (err) => {
spinInstall.fail(err.message);
reject(err);
});
});
console.log("Installing Registry dependencies");
spawnSync(`npm`, ["ci", "--only=production"], { cwd: REG_DIR, stdio: "inherit" });

// Create .env file
const buf = await readFile(join(__dirname, "envdata.txt"), "utf-8");
await writeFile(join(REG_DIR, ".env"), buf.concat(`GIT_TOKEN=${process.env.GIT_TOKEN}`));

const hydrateSpin = ora("Hydrate SQLite database").start();
await new Promise((resolve, reject) => {
const TTYStream = spawn(process.argv[0], ["scripts/hydrate.js"], {
cwd: REG_DIR, stdio: "ignore"
});
TTYStream.once("close", () => {
hydrateSpin.succeed();
resolve();
});
TTYStream.once("error", (err) => {
hydrateSpin.fail(err.message);
reject(err);
});
const hydrateSpin = new Spinner({ text: "Hydrate SQLite database" }).start();
spawnSync(process.argv[0], ["scripts/hydrate.js"], {
cwd: REG_DIR, stdio: "ignore"
});
hydrateSpin.succeed();

// Npm start
cp = spawn(process.argv[0], ["index.js"], {
Expand All @@ -94,7 +64,7 @@ japa.group("Registry SDK", (group) => {
group.after(async() => {
cp.kill();
await new Promise((resolve) => setTimeout(resolve, 1000));
await del([REG_DIR]);
await rmdir(REG_DIR, { recursive: true });
});

japa("Check exported members", (assert) => {
Expand Down

0 comments on commit 3a0f02c

Please sign in to comment.