diff --git a/apps/server/src/main.test.ts b/apps/server/src/main.test.ts index 6f1e45bcca136419f1531aded13a9350febe5372..0890be8addc9e3938b95235e196b49f7cc582a9a 100644 --- a/apps/server/src/main.test.ts +++ b/apps/server/src/main.test.ts @@ -28,7 +28,7 @@ const testLayer = Layer.mergeAll( } satisfies CliConfigShape), Layer.succeed(Server, { createServer, - stopSignal: Effect.never, + stopSignal: Effect.void, } satisfies ServerShape), Layer.succeed(Open, { openBrowser: (_target: string) => Effect.void, @@ -114,4 +114,15 @@ it.layer(testLayer)("server cli", (it) => { assert.equal(options?.host, "127.0.0.1"); }), ); + + it.effect("does not start server for out-of-range --port values", () => + Effect.gen(function* () { + yield* runCli(["--port", "70000"]); + + // effect/unstable/cli renders help/errors for parse failures and returns success. + assert.equal(createServer.mock.calls.length, 0); + assert.equal(start.mock.calls.length, 0); + assert.equal(stop.mock.calls.length, 0); + }), + ); }); diff --git a/apps/server/src/provider/Layers/CodexAdapter.test.ts b/apps/server/src/provider/Layers/CodexAdapter.test.ts index f6a9a108a2528525a8e844ee1b399ce28673bc67..87f33fad57fc19c21311a84dadac73f512a2a9f9 100644 --- a/apps/server/src/provider/Layers/CodexAdapter.test.ts +++ b/apps/server/src/provider/Layers/CodexAdapter.test.ts @@ -220,38 +220,6 @@ lifecycleLayer("CodexAdapterLive lifecycle", (it) => { assert.equal(firstEvent.value.turnId, "turn-1"); }), ); - - it.effect("emits canonical events on stream and supports consumer interruption", () => - Effect.gen(function* () { - const adapter = yield* CodexAdapter; - const onEvent = vi.fn(() => undefined); - const consumer = yield* Stream.runForEach(adapter.streamEvents, () => - Effect.sync(() => { - onEvent(); - }), - ).pipe(Effect.forkChild); - - const event: ProviderEvent = { - id: asEventId("evt-1"), - kind: "notification", - provider: "codex", - sessionId: asSessionId("sess-1"), - createdAt: new Date().toISOString(), - method: "turn/started", - turnId: asTurnId("turn-1"), - }; - - lifecycleManager.emit("event", event); - yield* Effect.promise(() => new Promise((resolve) => setTimeout(resolve, 0))); - assert.equal(onEvent.mock.calls.length, 1); - - yield* Fiber.interrupt(consumer); - lifecycleManager.emit("event", event); - yield* Effect.promise(() => new Promise((resolve) => setTimeout(resolve, 0))); - assert.equal(onEvent.mock.calls.length, 1); - assert.equal(lifecycleManager.stopAllImpl.mock.calls.length, 0); - }), - ); }); afterAll(() => {