2020-10-30 14:18:59 +07:00
|
|
|
import { logger } from "@coder/logger"
|
|
|
|
import * as assert from "assert"
|
2020-10-30 14:26:30 +07:00
|
|
|
import { describe } from "mocha"
|
|
|
|
import * as path from "path"
|
|
|
|
import { PluginAPI } from "../src/node/plugin"
|
2020-10-30 14:18:59 +07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Use $LOG_LEVEL=debug to see debug logs.
|
|
|
|
*/
|
|
|
|
describe("plugin", () => {
|
|
|
|
it("loads", async () => {
|
|
|
|
const papi = new PluginAPI(logger, path.resolve(__dirname, "test-plugin") + ":meow")
|
|
|
|
await papi.loadPlugins()
|
|
|
|
|
2020-11-04 04:24:06 +07:00
|
|
|
const apps = await papi.applications()
|
2020-10-30 14:18:59 +07:00
|
|
|
|
2020-10-30 14:26:30 +07:00
|
|
|
assert.deepEqual(
|
|
|
|
[
|
|
|
|
{
|
2020-11-04 09:14:19 +07:00
|
|
|
name: "Test App",
|
2020-10-30 14:26:30 +07:00
|
|
|
version: "4.0.0",
|
2020-11-04 09:11:14 +07:00
|
|
|
|
2020-11-04 09:14:19 +07:00
|
|
|
description: "This app does XYZ.",
|
2020-11-04 09:42:21 +07:00
|
|
|
iconPath: "/test-plugin/test-app/icon.svg",
|
2020-11-04 09:45:25 +07:00
|
|
|
homepageURL: "https://example.com",
|
2020-11-04 09:42:21 +07:00
|
|
|
path: "/test-plugin/test-app",
|
2020-11-04 09:11:14 +07:00
|
|
|
|
2020-10-30 14:26:30 +07:00
|
|
|
plugin: {
|
|
|
|
name: "test-plugin",
|
|
|
|
version: "1.0.0",
|
2020-10-30 14:37:42 +07:00
|
|
|
modulePath: path.join(__dirname, "test-plugin"),
|
2020-11-04 09:11:14 +07:00
|
|
|
|
|
|
|
displayName: "Test Plugin",
|
2020-11-04 09:14:19 +07:00
|
|
|
description: "Plugin used in code-server tests.",
|
2020-11-04 09:42:21 +07:00
|
|
|
routerPath: "/test-plugin",
|
2020-11-04 09:45:25 +07:00
|
|
|
homepageURL: "https://example.com",
|
2020-10-30 14:26:30 +07:00
|
|
|
},
|
2020-10-30 14:18:59 +07:00
|
|
|
},
|
2020-10-30 14:26:30 +07:00
|
|
|
],
|
|
|
|
apps,
|
|
|
|
)
|
2020-10-30 14:18:59 +07:00
|
|
|
})
|
|
|
|
})
|