@@ -12,6 +12,7 @@ import (
1212 "log/slog"
1313
1414 "github.com/onkernel/kernel-images/server/lib/devtoolsproxy"
15+ "github.com/onkernel/kernel-images/server/lib/nekoclient"
1516 oapi "github.com/onkernel/kernel-images/server/lib/oapi"
1617 "github.com/onkernel/kernel-images/server/lib/recorder"
1718 "github.com/onkernel/kernel-images/server/lib/scaletozero"
@@ -24,7 +25,7 @@ func TestApiService_StartRecording(t *testing.T) {
2425
2526 t .Run ("success" , func (t * testing.T ) {
2627 mgr := recorder .NewFFmpegManager ()
27- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
28+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
2829 require .NoError (t , err )
2930
3031 resp , err := svc .StartRecording (ctx , oapi.StartRecordingRequestObject {})
@@ -38,7 +39,7 @@ func TestApiService_StartRecording(t *testing.T) {
3839
3940 t .Run ("already recording" , func (t * testing.T ) {
4041 mgr := recorder .NewFFmpegManager ()
41- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
42+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
4243 require .NoError (t , err )
4344
4445 // First start should succeed
@@ -53,7 +54,7 @@ func TestApiService_StartRecording(t *testing.T) {
5354
5455 t .Run ("custom ids don't collide" , func (t * testing.T ) {
5556 mgr := recorder .NewFFmpegManager ()
56- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
57+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
5758 require .NoError (t , err )
5859
5960 for i := 0 ; i < 5 ; i ++ {
@@ -86,7 +87,7 @@ func TestApiService_StopRecording(t *testing.T) {
8687
8788 t .Run ("no active recording" , func (t * testing.T ) {
8889 mgr := recorder .NewFFmpegManager ()
89- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
90+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
9091 require .NoError (t , err )
9192
9293 resp , err := svc .StopRecording (ctx , oapi.StopRecordingRequestObject {})
@@ -99,7 +100,7 @@ func TestApiService_StopRecording(t *testing.T) {
99100 rec := & mockRecorder {id : "default" , isRecordingFlag : true }
100101 require .NoError (t , mgr .RegisterRecorder (ctx , rec ), "failed to register recorder" )
101102
102- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
103+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
103104 require .NoError (t , err )
104105 resp , err := svc .StopRecording (ctx , oapi.StopRecordingRequestObject {})
105106 require .NoError (t , err )
@@ -114,7 +115,7 @@ func TestApiService_StopRecording(t *testing.T) {
114115
115116 force := true
116117 req := oapi.StopRecordingRequestObject {Body : & oapi.StopRecordingJSONRequestBody {ForceStop : & force }}
117- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
118+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
118119 require .NoError (t , err )
119120 resp , err := svc .StopRecording (ctx , req )
120121 require .NoError (t , err )
@@ -128,7 +129,7 @@ func TestApiService_DownloadRecording(t *testing.T) {
128129
129130 t .Run ("not found" , func (t * testing.T ) {
130131 mgr := recorder .NewFFmpegManager ()
131- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
132+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
132133 require .NoError (t , err )
133134 resp , err := svc .DownloadRecording (ctx , oapi.DownloadRecordingRequestObject {})
134135 require .NoError (t , err )
@@ -148,7 +149,7 @@ func TestApiService_DownloadRecording(t *testing.T) {
148149 rec := & mockRecorder {id : "default" , isRecordingFlag : true , recordingData : randomBytes (minRecordingSizeInBytes - 1 )}
149150 require .NoError (t , mgr .RegisterRecorder (ctx , rec ), "failed to register recorder" )
150151
151- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
152+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
152153 require .NoError (t , err )
153154 // will return a 202 when the recording is too small
154155 resp , err := svc .DownloadRecording (ctx , oapi.DownloadRecordingRequestObject {})
@@ -178,7 +179,7 @@ func TestApiService_DownloadRecording(t *testing.T) {
178179 rec := & mockRecorder {id : "default" , recordingData : data }
179180 require .NoError (t , mgr .RegisterRecorder (ctx , rec ), "failed to register recorder" )
180181
181- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
182+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
182183 require .NoError (t , err )
183184 resp , err := svc .DownloadRecording (ctx , oapi.DownloadRecordingRequestObject {})
184185 require .NoError (t , err )
@@ -198,7 +199,7 @@ func TestApiService_Shutdown(t *testing.T) {
198199 rec := & mockRecorder {id : "default" , isRecordingFlag : true }
199200 require .NoError (t , mgr .RegisterRecorder (ctx , rec ), "failed to register recorder" )
200201
201- svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController ())
202+ svc , err := New (mgr , newMockFactory (), newTestUpstreamManager (), scaletozero .NewNoopController (), newMockNekoClient ( t ) )
202203 require .NoError (t , err )
203204
204205 require .NoError (t , svc .Shutdown (ctx ))
@@ -293,3 +294,11 @@ func newTestUpstreamManager() *devtoolsproxy.UpstreamManager {
293294 logger := slog .New (slog .NewTextHandler (io .Discard , nil ))
294295 return devtoolsproxy .NewUpstreamManager ("" , logger )
295296}
297+
298+ func newMockNekoClient (t * testing.T ) * nekoclient.AuthClient {
299+ // Create a mock client that won't actually connect to anything
300+ // We use a dummy URL since tests don't need real Neko connectivity
301+ client , err := nekoclient .NewAuthClient ("http://localhost:9999" , "admin" , "admin" )
302+ require .NoError (t , err )
303+ return client
304+ }
0 commit comments