mirror of
https://github.com/Drop-OSS/droplet.git
synced 2025-11-09 20:12:18 +10:00
feat: script backend, fixes
This commit is contained in:
@ -93,3 +93,47 @@ test.skip("performance test", async (t) => {
|
|||||||
|
|
||||||
fs.rmSync(dirName, { recursive: true });
|
fs.rmSync(dirName, { recursive: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("special characters", async (t) => {
|
||||||
|
// Setup test dir
|
||||||
|
const dirName = "./.test/sc";
|
||||||
|
if (fs.existsSync(dirName)) fs.rmSync(dirName, { recursive: true });
|
||||||
|
fs.mkdirSync(dirName, { recursive: true });
|
||||||
|
|
||||||
|
// Config
|
||||||
|
const fileNames = ["Technická podpora.rtf", "Servicio técnico.rtf"];
|
||||||
|
|
||||||
|
for (let i = 0; i < fileNames.length; i++) {
|
||||||
|
const fileName = path.join(dirName, fileNames[i]);
|
||||||
|
fs.writeFileSync(fileName, i.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
const dropletHandler = new DropletHandler();
|
||||||
|
|
||||||
|
const manifest = JSON.parse(
|
||||||
|
await new Promise((r, e) =>
|
||||||
|
generateManifest(
|
||||||
|
dropletHandler,
|
||||||
|
dirName,
|
||||||
|
(_, __) => {},
|
||||||
|
(_, __) => {},
|
||||||
|
(err, manifest) => (err ? e(err) : r(manifest))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Check the first few checksums
|
||||||
|
const checksums = [
|
||||||
|
"cfcd208495d565ef66e7dff9f98764da",
|
||||||
|
"c4ca4238a0b923820dcc509a6f75849b",
|
||||||
|
];
|
||||||
|
for (let index in checksums) {
|
||||||
|
const entry = manifest[fileNames[index]];
|
||||||
|
if (!entry) return t.fail(`manifest missing file ${index}`);
|
||||||
|
|
||||||
|
const checksum = entry.checksums[0];
|
||||||
|
t.is(checksum, checksums[index], `checksums do not match for ${index}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.rmSync(dirName, { recursive: true });
|
||||||
|
});
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@drop-oss/droplet",
|
"name": "@drop-oss/droplet",
|
||||||
"version": "2.3.1",
|
"version": "3.0.0",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"napi": {
|
"napi": {
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
#![deny(clippy::panic)]
|
#![deny(clippy::panic)]
|
||||||
#![feature(trait_alias)]
|
#![feature(trait_alias)]
|
||||||
|
|
||||||
use std::{any, io};
|
|
||||||
|
|
||||||
pub mod manifest;
|
pub mod manifest;
|
||||||
pub mod script;
|
pub mod script;
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use napi::Error;
|
|
||||||
use rcgen::{
|
use rcgen::{
|
||||||
CertificateParams, DistinguishedName, IsCa, KeyPair, KeyUsagePurpose, PublicKeyData,
|
CertificateParams, DistinguishedName, IsCa, KeyPair, KeyUsagePurpose, PublicKeyData,
|
||||||
SubjectPublicKeyInfo,
|
SubjectPublicKeyInfo,
|
||||||
|
|||||||
Reference in New Issue
Block a user