History

test(server): consolidate agent activity opt-in coverage (#9988)

Julius Marminge committed 2 months ago

Commit 94d1fa71 parent 9867eb14 files · +7 −21Browse files

Unified · Split

4 files
  1. apps/server/src/cli/connect.test.ts +0 −8
  2. apps/server/src/cli/connect.ts +1 −5
  3. apps/server/src/relay/AgentAwarenessRelay.test.ts +5 −3
  4. apps/server/src/relay/AgentAwarenessRelay.ts +1 −5
apps/server/src/cli/connect.test.ts+0−8
@@ -14,7 +14,6 @@ import * as BootService from "../cloud/bootService.ts"; · 13 unmodified lines
14import {14import {
15 acquireRelayClientForLink,15 acquireRelayClientForLink,
16 headlessSessionConfig,16 headlessSessionConfig,
17 isPublishAgentActivityEnabledValue,
18 reportCloudDisconnectResults,17 reportCloudDisconnectResults,
19} from "./connect.ts";18} from "./connect.ts";
20import { recoverServiceOnboardingOffer } from "./service.ts";19import { recoverServiceOnboardingOffer } from "./service.ts";
@@ -190,10 +189,3 @@ it.effect("keeps disconnect causes in structured logs and out of console warning · 169 unmodified lines
190 ),189 ),
191 );190 );
192});191});
193
194it("treats only the literal 'true' as publish-enabled", () => {
195 assert.equal(isPublishAgentActivityEnabledValue("true"), true);
196 assert.equal(isPublishAgentActivityEnabledValue("false"), false);
197 assert.equal(isPublishAgentActivityEnabledValue(null), false);
198 assert.equal(isPublishAgentActivityEnabledValue("TRUE"), false);
199});
apps/server/src/cli/connect.ts+1−5
@@ -144,10 +144,6 @@ function stringToBytes(value: string): Uint8Array { · 143 unmodified lines
144 return new TextEncoder().encode(value);144 return new TextEncoder().encode(value);
145}145}
146 146
147export function isPublishAgentActivityEnabledValue(value: string | null): boolean {
148 return isAgentActivityPublishingEnabledValue(value);
149}
150
151interface CloudCliStatus {147interface CloudCliStatus {
152 readonly desired: boolean;148 readonly desired: boolean;
153 readonly authenticated: boolean;149 readonly authenticated: boolean;
@@ -573,7 +569,7 @@ const connectStatusCommand = Command.make("status", { · 419 unmodified lines
573 linked: Option.isSome(cloudUserId),569 linked: Option.isSome(cloudUserId),
574 cloudUserId: Option.isSome(cloudUserId) ? bytesToString(cloudUserId.value) : null,570 cloudUserId: Option.isSome(cloudUserId) ? bytesToString(cloudUserId.value) : null,
575 relayUrl: Option.isSome(relayUrl) ? bytesToString(relayUrl.value) : null,571 relayUrl: Option.isSome(relayUrl) ? bytesToString(relayUrl.value) : null,
576 publishAgentActivity: isPublishAgentActivityEnabledValue(572 publishAgentActivity: isAgentActivityPublishingEnabledValue(
577 Option.isSome(publishAgentActivity) ? bytesToString(publishAgentActivity.value) : null,573 Option.isSome(publishAgentActivity) ? bytesToString(publishAgentActivity.value) : null,
578 ),574 ),
579 relayClient: executable,575 relayClient: executable,
apps/server/src/relay/AgentAwarenessRelay.test.ts+5−3
@@ -39,6 +39,7 @@ import { · 38 unmodified lines
39 type ProjectionSnapshotQueryShape,39 type ProjectionSnapshotQueryShape,
40} from "../orchestration/Services/ProjectionSnapshotQuery.ts";40} from "../orchestration/Services/ProjectionSnapshotQuery.ts";
41import {41import {
42 isAgentActivityPublishingEnabledValue,
42 RELAY_ENVIRONMENT_CREDENTIAL_SECRET,43 RELAY_ENVIRONMENT_CREDENTIAL_SECRET,
43 RELAY_ISSUER_SECRET,44 RELAY_ISSUER_SECRET,
44 RELAY_URL_SECRET,45 RELAY_URL_SECRET,
@@ -220,9 +221,10 @@ describe.sequential("signRelayAgentActivityPublishProof", () => { · 175 unmodified lines
220 });221 });
221 222
222 it("requires an explicit opt-in before publishing agent activity", () => {223 it("requires an explicit opt-in before publishing agent activity", () => {
223 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled(null)).toBe(false);224 expect(isAgentActivityPublishingEnabledValue(null)).toBe(false);
224 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled("false")).toBe(false);225 expect(isAgentActivityPublishingEnabledValue("false")).toBe(false);
225 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled("true")).toBe(true);226 expect(isAgentActivityPublishingEnabledValue("TRUE")).toBe(false);
227 expect(isAgentActivityPublishingEnabledValue("true")).toBe(true);
226 });228 });
227 229
228 it("redacts failed activity details and caps other relay detail", () => {230 it("redacts failed activity details and caps other relay detail", () => {
apps/server/src/relay/AgentAwarenessRelay.ts+1−5
@@ -102,10 +102,6 @@ export function agentAwarenessPublishIdentity(state: RelayAgentActivityState | n · 101 unmodified lines
102 return JSON.stringify(meaningfulState);102 return JSON.stringify(meaningfulState);
103}103}
104 104
105export function isAgentActivityPublishingEnabled(value: string | null): boolean {
106 return isAgentActivityPublishingEnabledValue(value);
107}
108
109export function resolveAgentActivityPublishingStartupState(input: {105export function resolveAgentActivityPublishingStartupState(input: {
110 readonly relayConfigured: boolean;106 readonly relayConfigured: boolean;
111 readonly publishEnabled: boolean;107 readonly publishEnabled: boolean;
@@ -322,7 +318,7 @@ export const make = Effect.gen(function* () { · 210 unmodified lines
322 });318 });
323 319
324 const readPublishAgentActivityEnabled = readSecretString(PUBLISH_AGENT_ACTIVITY_SECRET).pipe(320 const readPublishAgentActivityEnabled = readSecretString(PUBLISH_AGENT_ACTIVITY_SECRET).pipe(
325 Effect.map(isAgentActivityPublishingEnabled),321 Effect.map(isAgentActivityPublishingEnabledValue),
326 );322 );
327 323
328 const makeRelayClient = (relayConfig: {324 const makeRelayClient = (relayConfig: {