@@ -40,6 +40,23 @@ interface RemoteControlStatusWire {
4040
4141const RELAY_KEY = 'relay-key' ;
4242
43+ async function seedLoginToken ( homeDir : string ) : Promise < void > {
44+ const credDir = join ( homeDir , 'credentials' ) ;
45+ await mkdir ( credDir , { recursive : true } ) ;
46+ await writeFile (
47+ join ( credDir , 'pythinker-code.json' ) ,
48+ JSON . stringify ( {
49+ access_token : 'access-token' ,
50+ refresh_token : 'refresh-token' ,
51+ expires_at : Math . floor ( Date . now ( ) / 1000 ) + 3600 ,
52+ scope : 'openid' ,
53+ token_type : 'Bearer' ,
54+ expires_in : 3600 ,
55+ } ) ,
56+ ) ;
57+ }
58+
59+
4360describe ( 'agent-gateway /api/v1/remote-control' , ( ) => {
4461 let home : string | undefined ;
4562 let server : RunningServer | undefined ;
@@ -78,16 +95,17 @@ describe('agent-gateway /api/v1/remote-control', () => {
7895
7996 it ( 'starts and stops the tunnel at runtime, dedupes concurrent enables, and tracks relay-initiated shutdown' , async ( ) => {
8097 const relay = await startRegisterAckRelay ( ) ;
81- vi . stubEnv ( 'PYTHINKER_CODE_REMOTE_CONTROL_RELAY ' , `http://127.0.0.1:${ relay . port } ` ) ;
98+ vi . stubEnv ( 'PYTHINKER_CODE_REMOTE_CONTROL_RELAY_URL ' , `http://127.0.0.1:${ relay . port } ` ) ;
8299 vi . stubEnv ( 'PYTHINKER_CODE_REMOTE_CONTROL_RELAY_KEY' , RELAY_KEY ) ;
100+ await seedLoginToken ( home as string ) ;
83101
84102 const initial = await authedFetch ( server as RunningServer , base , '/api/v1/remote-control' ) ;
85103 const initialBody = ( await initial . json ( ) ) as Envelope < RemoteControlStatusWire > ;
86104 expect ( initialBody . code ) . toBe ( 0 ) ;
87105 expect ( initialBody . data . state ) . toBe ( 'off' ) ;
88106
89107 const [ first , second ] = await Promise . all ( [ postRemoteControl ( true ) , postRemoteControl ( true ) ] ) ;
90- expect ( first . code ) . toBe ( 0 ) ;
108+ expect ( first . code ) . toBe ( 0 ) ;
91109 expect ( second . code ) . toBe ( 0 ) ;
92110 expect ( first . data . state ) . toBe ( 'on' ) ;
93111 expect ( second . data . state ) . toBe ( 'on' ) ;
0 commit comments