Self-hosted multi-platform broadcast newsroom for activist collectives: publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style column wall with hostile-content-safe rendering, live control room with Auto Director, bridged chat governance with polls and quorum, distributed sandboxed transcode workers, encrypted content-addressed archive, monthly analytics. MIT licensed. See README.md and docs/.
27 lines
898 B
TypeScript
27 lines
898 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { createExampleConnector } from "./index.js";
|
|
import { connectorContractTests } from "@tactical-media-broadcast-hub/connector-sdk/testing";
|
|
import type { ConnectorConnection } from "@tactical-media-broadcast-hub/core";
|
|
|
|
const connection: ConnectorConnection = {
|
|
id: "conn-1",
|
|
workspaceId: "ws-1",
|
|
provider: "example",
|
|
channelId: "ch-1",
|
|
credentialId: { kind: "credential-ref", id: "cred-1" },
|
|
fields: {},
|
|
createdAt: new Date(),
|
|
};
|
|
|
|
connectorContractTests(createExampleConnector(), { connection });
|
|
|
|
describe("example connector specifics", () => {
|
|
it("refuses authorize honestly", async () => {
|
|
const connector = createExampleConnector();
|
|
await expect(connector.authorize({
|
|
redirectUri: "https://app.example/cb",
|
|
workspaceId: "ws-1",
|
|
state: "s",
|
|
})).rejects.toThrow("does not implement");
|
|
});
|
|
});
|