import { assert, it } from "@effect/vitest";import * as ConfigProvider from "effect/ConfigProvider";import * as Effect from "effect/Effect"; import { makeCloudCliOAuthConfig, makeRelayUrlConfig } from "./publicConfig.ts"; const provideEnv = (env: Readonly<Record<string, string>>) => Effect.provide(ConfigProvider.layer(ConfigProvider.fromEnv({ env }))); it.effect("uses the statically injected relay URL when no runtime override exists", () => Effect.gen(function* () { const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test///").pipe( provideEnv({}), ); assert.equal(relayUrl, "https://embedded.example.test"); }),); it.effect("prefers a runtime relay URL override over the statically injected value", () => Effect.gen(function* () { const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test").pipe( provideEnv({ T3CODE_RELAY_URL: "https://runtime.example.test///" }), ); assert.equal(relayUrl, "https://runtime.example.test"); }),); it.effect("requires a relay URL when the server bundle has no injected value", () => makeRelayUrlConfig("").pipe(provideEnv({}), Effect.flip),); it.effect("rejects an insecure runtime relay URL override", () => makeRelayUrlConfig("https://embedded.example.test").pipe( provideEnv({ T3CODE_RELAY_URL: "http://runtime.example.test" }), Effect.flip, ),); it.effect("rejects an injected relay URL with a non-origin path", () => makeRelayUrlConfig("https://embedded.example.test/path").pipe(provideEnv({}), Effect.flip),); it.effect("derives direct Clerk OAuth endpoints from statically injected public config", () => Effect.gen(function* () { const config = yield* makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "pk_test_Y2xlcmsuZXhhbXBsZS50ZXN0JA==", clerkCliOAuthClientIdFallback: "oauth_client_embedded", }).pipe(provideEnv({})); assert.deepEqual(config, { authorizationEndpoint: "https://clerk.example.test/oauth/authorize", tokenEndpoint: "https://clerk.example.test/oauth/token", clientId: "oauth_client_embedded", redirectUri: "http://127.0.0.1:34338/callback", scopes: ["openid", "profile", "email"], }); }),); it.effect("prefers runtime Clerk OAuth config overrides over statically injected values", () => Effect.gen(function* () { const config = yield* makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "pk_test_ZW1iZWRkZWQuZXhhbXBsZS50ZXN0JA==", clerkCliOAuthClientIdFallback: "oauth_client_embedded", }).pipe( provideEnv({ T3CODE_CLERK_PUBLISHABLE_KEY: "pk_test_cnVudGltZS5leGFtcGxlLnRlc3Qk", T3CODE_CLERK_CLI_OAUTH_CLIENT_ID: "oauth_client_runtime", }), ); assert.equal(config.authorizationEndpoint, "https://runtime.example.test/oauth/authorize"); assert.equal(config.tokenEndpoint, "https://runtime.example.test/oauth/token"); assert.equal(config.clientId, "oauth_client_runtime"); }),); it.effect("requires Clerk OAuth config when the server bundle has no injected values", () => makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "", clerkCliOAuthClientIdFallback: "", }).pipe(provideEnv({}), Effect.flip),);
import { assert, it } from "@effect/vitest";
import * as ConfigProvider from "effect/ConfigProvider";
import * as Effect from "effect/Effect";
import { makeCloudCliOAuthConfig, makeRelayUrlConfig } from "./publicConfig.ts";
const provideEnv = (env: Readonly<Record<string, string>>) =>
Effect.provide(ConfigProvider.layer(ConfigProvider.fromEnv({ env })));
it.effect("uses the statically injected relay URL when no runtime override exists", () =>
Effect.gen(function* () {
const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test///").pipe(
provideEnv({}),
);
assert.equal(relayUrl, "https://embedded.example.test");
}),
);
it.effect("prefers a runtime relay URL override over the statically injected value", () =>
Effect.gen(function* () {
const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test").pipe(
provideEnv({ T3CODE_RELAY_URL: "https://runtime.example.test///" }),
);
assert.equal(relayUrl, "https://runtime.example.test");
}),
);
it.effect("requires a relay URL when the server bundle has no injected value", () =>
makeRelayUrlConfig("").pipe(provideEnv({}), Effect.flip),
);
it.effect("rejects an insecure runtime relay URL override", () =>
makeRelayUrlConfig("https://embedded.example.test").pipe(
provideEnv({ T3CODE_RELAY_URL: "http://runtime.example.test" }),
Effect.flip,
),
);
it.effect("rejects an injected relay URL with a non-origin path", () =>
makeRelayUrlConfig("https://embedded.example.test/path").pipe(provideEnv({}), Effect.flip),
);
it.effect("derives direct Clerk OAuth endpoints from statically injected public config", () =>
Effect.gen(function* () {
const config = yield* makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "pk_test_Y2xlcmsuZXhhbXBsZS50ZXN0JA==",
clerkCliOAuthClientIdFallback: "oauth_client_embedded",
}).pipe(provideEnv({}));
assert.deepEqual(config, {
authorizationEndpoint: "https://clerk.example.test/oauth/authorize",
tokenEndpoint: "https://clerk.example.test/oauth/token",
clientId: "oauth_client_embedded",
redirectUri: "http://127.0.0.1:34338/callback",
scopes: ["openid", "profile", "email"],
});
}),
);
it.effect("prefers runtime Clerk OAuth config overrides over statically injected values", () =>
Effect.gen(function* () {
const config = yield* makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "pk_test_ZW1iZWRkZWQuZXhhbXBsZS50ZXN0JA==",
clerkCliOAuthClientIdFallback: "oauth_client_embedded",
}).pipe(
provideEnv({
T3CODE_CLERK_PUBLISHABLE_KEY: "pk_test_cnVudGltZS5leGFtcGxlLnRlc3Qk",
T3CODE_CLERK_CLI_OAUTH_CLIENT_ID: "oauth_client_runtime",
}),
);
assert.equal(config.authorizationEndpoint, "https://runtime.example.test/oauth/authorize");
assert.equal(config.tokenEndpoint, "https://runtime.example.test/oauth/token");
assert.equal(config.clientId, "oauth_client_runtime");
}),
);
it.effect("requires Clerk OAuth config when the server bundle has no injected values", () =>
makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "",
clerkCliOAuthClientIdFallback: "",
}).pipe(provideEnv({}), Effect.flip),
);