@andrewheberle/serverles-sh-ca-测试
运行 无服务器的 SSH CA 最终测试 客户,例如 ssh-ca-客户端。 。 。 .
CA可以运行在:
node:Node.js,使用包的Node.js辅助器件有内膜node:sqlite数据库workerd: Cloudflare工人运行时间,使用Wrangler测试带 带有本地 D1 数据库和保密存储器wrangler dev将
跑步之间没有一丝不挂.
此软件包随 @andrewheberle/serverless-ssh-ca 和用途
无论哪个版本的软件包安装在旁边。 测试客户端
对一个未释放的 CA 版本,安装一个从 npm pack 内
其所处所.
所需资源
节点.js 24或后.
使用量
npm install --save-dev @andrewheberle/serverless-ssh-ca @andrewheberle/serverless-ssh-ca-testing
npx serverless-ssh-ca-test-server [--runtime node|workerd] config.json
运行时间默认为 node从另一端启动服务器的客户端
语言可以运行 node node_modules/@andrewheberle/serverless-ssh-ca-testing/dist/cli.js, (中文(简体) ),
避免平台特定的 shims in node_modules/.bin。 。 。 .
服务器在标准输入关闭时退出, 因此不会超过寿命 开始的测试。 如果无法启动,它会写出原因 标准出错并退出状态 1.
配置
配置文件为 JSON 对象 :
| 财产 | 说明 |
|---|---|
private_key | OpenSSH 格式的 CA 私钥 |
bindings | CA 配置, 作为 Workers vars (环境变量) |
port_file | CA 正在监听时, 端口会被写入路径 127.0.0.1 |
log_file | 从 CA 日志输出的路径和被附加到 JSON 线上 |
绑定是CA所记录的,每个值都作为字符串.
下 workerd,Wrangler的工作文件被写入目录
包含配置文件.
日志文件
日志文件的每行都是至少带有 JSON 对象 level 财务报告和审定财务报表
messageCA所记录的行是按原样写成的,并增加了绳子
线条 message 开始于 harness数字 :
{"level":"info","message":"harness request","method":...,"url":...,"status":...}每一个请求,在哪里url是路径和查询。 何时status为 400 或超过,body持有响应机构, 所以测试可以检查 为什么请求 被拒绝.{"level":"error","message":"harness ...",...}因为一个错误,意味着CA 或使用失败而不是拒绝请求。 有些缺点,例如: 无法记录签发的证书,仅在日志中可见,所以 如果出现这些行中的任何一行,试验就应失败。 CA 日志行 表示一个错误,然后是一条与消息相通的行harness fault和原始行键入line。 。 。 .
下 workerd,CA的输出每100ms复制到日志文件,所以
在收到答复后不久,即可登录请求.
程序使用
import { startTestServer } from "@andrewheberle/serverless-ssh-ca-testing"
const server = await startTestServer("node", "config.json")
// make requests to http://127.0.0.1:${server.port}
await server.close()
下 node 加州大学 console 输出重定向到日志文件直到
服务器已关闭 .