Skip to content

Commit

Permalink
fix: tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Kodylow committed Mar 21, 2024
1 parent fad3ff4 commit ed42933
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 31 deletions.
3 changes: 3 additions & 0 deletions JUSTFILE
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ dev:
mprocs:
./scripts/mprocs-nix.sh dev-fed mprocs-new.yaml

test-ts:
bun run wrappers/fedimint-ts/test.ts

alias b := build
alias c := check
alias t := test
Expand Down
78 changes: 47 additions & 31 deletions wrappers/fedimint-ts/test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@ import dotenv from "dotenv";

dotenv.config();

const logMethodInputAndOutput = (method: string, input: any, output: any) => {
const logMethod = (method: string) => {
console.log("--------------------");
console.log(`Method: ${method}`);
console.log(`\nMethod: ${method}`);
};

const logInputAndOutput = (input: any, output: any) => {
console.log("Input: ", input);
console.log("Output: ", output);
console.log("--------------------\n\n");
};

async function buildTestClient() {
const baseUrl = process.env.BASE_URL || "http://localhost:3333";
const baseUrl = process.env.BASE_URL || "http://127.0.0.1:3333";
const password = process.env.PASSWORD || "password";
const builder = new FedimintClientBuilder();
builder.setBaseUrl(baseUrl).setPassword(password).setActiveFederationId(
Expand All @@ -28,82 +31,95 @@ async function main() {

// ADMIN METHODS
// `/v2/admin/config`
logMethod("/v2/admin/config");
let data = await fedimintClient.config();
logMethodInputAndOutput("/admin/config", {}, data);
logInputAndOutput({}, data);
// `/v2/admin/discover-version`
logMethod("/v2/admin/discover-version");
data = await fedimintClient.discoverVersion();
logMethodInputAndOutput("/admin/discover-version", {}, data);
logInputAndOutput({}, data);
// `/v2/admin/federation-ids
logMethod("/v2/admin/federation-ids");
const { federationIds } = await fedimintClient.federationIds();
logMethodInputAndOutput("/admin/federation-ids", {}, federationIds);
logInputAndOutput({}, federationIds);
// `/v2/admin/info`
logMethod("/v2/admin/info");
data = await fedimintClient.info();
logMethodInputAndOutput("/admin/info", {}, data);
logInputAndOutput({}, data);
// `/v2/admin/join`
let inviteCode =
process.env.INVITE_CODE ||
"fed11qgqrgvnhwden5te0v9k8q6rp9ekh2arfdeukuet595cr2ttpd3jhq6rzve6zuer9wchxvetyd938gcewvdhk6tcqqysptkuvknc7erjgf4em3zfh90kffqf9srujn6q53d6r056e4apze5cw27h75";
logMethod("/v2/admin/join");
data = await fedimintClient.join(inviteCode);
logMethodInputAndOutput("/admin/join", { inviteCode }, data);
logInputAndOutput({ inviteCode }, data);
// `/v2/admin/list-operations`
logMethod("/v2/admin/list-operations");
data = await fedimintClient.listOperations(10);
logMethodInputAndOutput("/admin/list-operations", { limit: 10 }, data);
logInputAndOutput({ limit: 10 }, data);

// LIGHTNING METHODS
// `/v2/ln/list-gateways`
logMethod("/v2/ln/list-gateways");
data = await fedimintClient.ln.listGateways();
logMethodInputAndOutput("/ln/list-gateways", {}, data);
logInputAndOutput({}, data);
// `/v2/ln/invoice`
logMethod("/v2/ln/invoice");
let { operationId, invoice } = await fedimintClient.ln.createInvoice(
10000,
"test"
);
logMethodInputAndOutput(
"/ln/invoice",
logInputAndOutput(
{ amountMsat: 10000, description: "test" },
{ operationId, invoice }
);
// `/v2/ln/pay`
logMethod("/v2/ln/pay");
let payResponse = await fedimintClient.ln.pay(invoice);
logMethodInputAndOutput("/ln/pay", { paymentInfo: invoice }, payResponse);
logInputAndOutput({ paymentInfo: invoice }, payResponse);
// `/v2/ln/await-invoice`
logMethod("/v2/ln/await-invoice");
data = await fedimintClient.ln.awaitInvoice(operationId);
logMethodInputAndOutput("/ln/await-invoice", { operationId }, data);
logInputAndOutput({ operationId }, data);

// MINT METHODS
// `/v2/mint/spend`
logMethod("/v2/mint/spend");
let mintData = await fedimintClient.mint.spend(3000, true, 1000);
logMethodInputAndOutput(
"/mint/spend",
logInputAndOutput(
{ amountMsat: 3000, allowOverpay: true, timeout: 1000 },
data
);
// `/v2/mint/validate`
logMethod("/v2/mint/validate");
data = await fedimintClient.mint.validate(mintData.notes);
logMethodInputAndOutput("/mint/validate", { notes: mintData.notes }, data);
logInputAndOutput({ notes: mintData.notes }, data);
// `/v2/mint/reissue`
logMethod("/v2/mint/reissue");
data = await fedimintClient.mint.reissue(mintData.notes);
logMethodInputAndOutput("/mint/reissue", { notes: mintData.notes }, data);
logInputAndOutput({ notes: mintData.notes }, data);
// `/v2/mint/split`
logMethod("/v2/mint/split");
data = await fedimintClient.mint.split(mintData.notes);
logMethodInputAndOutput("/mint/split", { notes: mintData.notes }, data);
logInputAndOutput({ notes: mintData.notes }, data);
// `/v2/mint/combine`
logMethod("/v2/mint/combine");
const notesVec = Object.values(data.notes) as string[];
data = await fedimintClient.mint.combine(notesVec);
logMethodInputAndOutput("/mint/combine", { notesVec }, data);
logInputAndOutput({ notesVec }, data);

// ONCHAIN METHODS
// `/v2/onchain/deposit-address`
data = await fedimintClient.onchain.createDepositAddress(1000);
logMethodInputAndOutput("/onchain/deposit-address", { timeout: 1000 }, data);
// `/v2/onchain/await-deposit`
data = await fedimintClient.onchain.awaitDeposit(data.operationId);
logMethodInputAndOutput(
"/onchain/await-deposit",
{ operationId: data.operationId },
data
);
// `/v2/onchain/withdraw`
// // `/v2/onchain/deposit-address`
// logMethod("/v2/onchain/deposit-address");
// data = await fedimintClient.onchain.createDepositAddress(1000);
// logInputAndOutput({ timeout: 1000 }, data);
// // `/v2/onchain/await-deposit`
// logMethod("/v2/onchain/await-deposit");
// data = await fedimintClient.onchain.awaitDeposit(data.operationId);
// logInputAndOutput({ operationId: data.operationId }, data);
// // `/v2/onchain/withdraw`
// logMethod("/v2/onchain/withdraw");
// data = await fedimintClient.
}

main().catch(console.error);

0 comments on commit ed42933

Please sign in to comment.