Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 5 additions & 14 deletions packages/client/src/__tests__/core/embedded-package.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,7 @@ describe("Embedded package", () => {
},
});

if (!result.ok) fail(result.error);
expect(result.value).toBeTruthy();
expect(typeof result.value).toBe("number");
expect(result.value).toEqual(2);
expect(result).toStrictEqual(ResultOk(2));
});

it("can get a file from wrapper", async () => {
Expand Down Expand Up @@ -154,26 +151,20 @@ const testEmbeddedPackageWithFile = async (
const receivedManifestResult = await client.getFile(wrapperUri, {
path: "wrap.info",
});
if (!receivedManifestResult.ok) fail(receivedManifestResult.error);
const receivedManifest = receivedManifestResult.value as Uint8Array;
expect(receivedManifest).toEqual(expectedManifest);
expect(receivedManifestResult).toEqual(ResultOk(expectedManifest))

const expectedWasmModule = await fs.promises.readFile(
`${wrapperPath}/wrap.wasm`
);
const receivedWasmModuleResult = await client.getFile(wrapperUri, {
path: "wrap.wasm",
});
if (!receivedWasmModuleResult.ok) fail(receivedWasmModuleResult.error);
const receivedWasmModule = receivedWasmModuleResult.value as Uint8Array;
expect(receivedWasmModule).toEqual(expectedWasmModule);
expect(receivedWasmModuleResult).toEqual(ResultOk(expectedWasmModule))


const receivedHelloFileResult = await client.getFile(wrapperUri, {
path: filePath,
encoding: "utf-8",
});
if (!receivedHelloFileResult.ok) fail(receivedHelloFileResult.error);
const receivedHelloFile = receivedHelloFileResult.value as Uint8Array;

expect(receivedHelloFile).toEqual(fileText);
expect(receivedHelloFileResult).toEqual(ResultOk(fileText))
};
55 changes: 28 additions & 27 deletions packages/client/src/__tests__/core/embedded-wrapper.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@ const simpleWrapperUri = `fs/${wrapperPath}`;

describe("Embedded wrapper", () => {
it("can invoke an embedded wrapper", async () => {
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"))
const wasmModuleBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.wasm"))
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"));
const wasmModuleBuffer = fs.readFileSync(
path.join(wrapperPath, "wrap.wasm")
);

let wrapper: Wrapper = await WasmWrapper.from(
manifestBuffer,
Expand All @@ -33,19 +35,18 @@ describe("Embedded wrapper", () => {
method: "add",
args: {
a: 1,
b: 1
b: 1,
},
});

if (!result.ok) fail(result.error);
expect(result.value).toBeTruthy();
expect(typeof result.value).toBe("number");
expect(result.value).toEqual(2);
expect(result).toStrictEqual(ResultOk(2));
});

it("can get a file from wrapper", async () => {
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"))
const wasmModuleBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.wasm"))
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"));
const wasmModuleBuffer = fs.readFileSync(
path.join(wrapperPath, "wrap.wasm")
);
const testFilePath = "hello.txt";
const testFileText = "Hello Test!";

Expand All @@ -63,8 +64,10 @@ describe("Embedded wrapper", () => {
});

it("can add embedded wrapper through file reader", async () => {
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"))
const wasmModuleBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.wasm"))
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"));
const wasmModuleBuffer = fs.readFileSync(
path.join(wrapperPath, "wrap.wasm")
);
const testFilePath = "hello.txt";
const testFileText = "Hello Test!";

Expand All @@ -86,8 +89,10 @@ describe("Embedded wrapper", () => {
});

it("can add embedded wrapper with async wrap manifest", async () => {
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"))
const wasmModuleBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.wasm"))
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"));
const wasmModuleBuffer = fs.readFileSync(
path.join(wrapperPath, "wrap.wasm")
);
const testFilePath = "hello.txt";
const testFileText = "Hello Test!";

Expand All @@ -109,8 +114,10 @@ describe("Embedded wrapper", () => {
});

it("can add embedded wrapper with async wasm module", async () => {
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"))
const wasmModuleBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.wasm"))
const manifestBuffer = fs.readFileSync(path.join(wrapperPath, "wrap.info"));
const wasmModuleBuffer = fs.readFileSync(
path.join(wrapperPath, "wrap.wasm")
);
const testFilePath = "hello.txt";
const testFileText = "Hello Test!";

Expand Down Expand Up @@ -148,25 +155,19 @@ const testEmbeddedWrapperWithFile = async (
const receivedManifestResult = await client.getFile(simpleWrapperUri, {
path: "wrap.info",
});
if (!receivedManifestResult.ok) fail(receivedManifestResult.error);
const receivedManifest = receivedManifestResult.value as Uint8Array;
expect(receivedManifest).toEqual(expectedManifest);
expect(receivedManifestResult).toEqual(ResultOk(expectedManifest));

const expectedWasmModule =
await fs.promises.readFile(`${wrapperPath}/wrap.wasm`);
const expectedWasmModule = await fs.promises.readFile(
`${wrapperPath}/wrap.wasm`
);
const receivedWasmModuleResult = await client.getFile(simpleWrapperUri, {
path: "wrap.wasm",
});
if (!receivedWasmModuleResult.ok) fail(receivedWasmModuleResult.error);
const receivedWasmModule = receivedWasmModuleResult.value as Uint8Array;
expect(receivedWasmModule).toEqual(expectedWasmModule);
expect(receivedWasmModuleResult).toEqual(ResultOk(expectedWasmModule));

const receivedHelloFileResult = await client.getFile(simpleWrapperUri, {
path: filePath,
encoding: "utf-8",
});
if (!receivedHelloFileResult.ok) fail(receivedHelloFileResult.error);
const receivedHelloFile = receivedHelloFileResult.value as Uint8Array;

expect(receivedHelloFile).toEqual(fileText);
expect(receivedHelloFileResult).toEqual(ResultOk(fileText));
};
59 changes: 25 additions & 34 deletions packages/client/src/__tests__/core/plugin-wrapper.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import { IWrapPackage, Uri } from "@polywrap/core-js";
import { WrapManifest } from "@polywrap/wrap-manifest-types-js";
import { PluginPackage, PluginModule } from "@polywrap/plugin-js";
import { UriResolver } from "@polywrap/uri-resolvers-js";
import * as SysBundle from "@polywrap/sys-config-bundle-js"
import * as SysBundle from "@polywrap/sys-config-bundle-js";
import { ResultOk } from "@polywrap/result";

jest.setTimeout(200000);

Expand Down Expand Up @@ -40,26 +41,21 @@ describe("plugin-wrapper", () => {
test("plugin map types", async () => {
const implementationUri = Uri.from("wrap://ens/some-implementation.eth");
const mockPlugin = mockMapPlugin();
const client = new PolywrapClient(
{
resolver: UriResolver.from([
{
uri: implementationUri,
package: mockPlugin,
},
]),
}
);
const client = new PolywrapClient({
resolver: UriResolver.from([
{
uri: implementationUri,
package: mockPlugin,
},
]),
});

const getResult = await client.invoke({
uri: implementationUri,
method: "getMap",
});

if (!getResult.ok) fail(getResult.error);
expect(getResult.value).toBeTruthy();
expect(getResult.value).toMatchObject(
new Map<string, number>().set("a", 1).set("b", 2)
expect(getResult).toStrictEqual(
ResultOk(new Map<string, number>().set("a", 1).set("b", 2))
);

const updateResult = await client.invoke({
Expand All @@ -69,28 +65,23 @@ describe("plugin-wrapper", () => {
map: new Map<string, number>().set("b", 1).set("c", 5),
},
});

if (!updateResult.ok) fail(updateResult.error);
expect(updateResult.value).toBeTruthy();
expect(updateResult.value).toMatchObject(
new Map<string, number>().set("a", 1).set("b", 3).set("c", 5)
expect(updateResult).toStrictEqual(
ResultOk(new Map<string, number>().set("a", 1).set("b", 3).set("c", 5))
);
});

test("get manifest should fetch wrap manifest from plugin", async () => {
const client = new PolywrapClient(
{
resolver: UriResolver.from([
{
uri: Uri.from(SysBundle.bundle.http.uri),
package: SysBundle.bundle.http.package as IWrapPackage
},
]),
}
const client = new PolywrapClient({
resolver: UriResolver.from([
{
uri: Uri.from(SysBundle.bundle.http.uri),
package: SysBundle.bundle.http.package as IWrapPackage,
},
]),
});
const manifestResult = await client.getManifest(SysBundle.bundle.http.uri);
expect(manifestResult).toMatchObject(
ResultOk({ type: "plugin", name: "Http" })
);
const manifest = await client.getManifest(SysBundle.bundle.http.uri);
if (!manifest.ok) fail(manifest.error);
expect(manifest.value.type).toEqual("plugin");
expect(manifest.value.name).toEqual("Http");
});
});
Loading