@@ -157,31 +157,7 @@ func TestSyncEnabled(t *testing.T) {
157157
158158 imgPng := newImgPng (t )
159159 r := setupRobot (tc .cloudConnectionErr , map [resource.Name ]resource.Resource {
160- camera .Named ("c1" ): & inject.Camera {
161- ImageFunc : func (
162- ctx context.Context ,
163- mimeType string ,
164- extra map [string ]interface {},
165- ) ([]byte , camera.ImageMetadata , error ) {
166- t .Fatalf ("ImageFunc should not be called" )
167- return nil , camera.ImageMetadata {}, nil
168- },
169- ImagesFunc : func (
170- ctx context.Context ,
171- filterSourceNames []string ,
172- extra map [string ]interface {},
173- ) ([]camera.NamedImage , resource.ResponseMetadata , error ) {
174- imgBytes , metadata , err := newImageBytesResp (ctx , imgPng , "image/jpeg" )
175- if err != nil {
176- return nil , resource.ResponseMetadata {}, err
177- }
178- namedImg , err := camera .NamedImageFromBytes (imgBytes , "" , metadata .MimeType )
179- if err != nil {
180- return nil , resource.ResponseMetadata {}, err
181- }
182- return []camera.NamedImage {namedImg }, resource.ResponseMetadata {CapturedAt : time .Now ()}, nil
183- },
184- },
160+ camera .Named ("c1" ): newMockCameraWithImages (t , imgPng ),
185161 })
186162
187163 config , deps := setupConfig (t , r , enabledBinaryCollectorConfigPath )
@@ -382,31 +358,7 @@ func TestDataCaptureUploadIntegration(t *testing.T) {
382358 config , deps = setupConfig (t , r , enabledTabularCollectorConfigPath )
383359 } else {
384360 r := setupRobot (tc .cloudConnectionErr , map [resource.Name ]resource.Resource {
385- camera .Named ("c1" ): & inject.Camera {
386- ImageFunc : func (
387- ctx context.Context ,
388- mimeType string ,
389- extra map [string ]interface {},
390- ) ([]byte , camera.ImageMetadata , error ) {
391- t .Fatalf ("ImageFunc should not be called" )
392- return nil , camera.ImageMetadata {}, nil
393- },
394- ImagesFunc : func (
395- ctx context.Context ,
396- filterSourceNames []string ,
397- extra map [string ]interface {},
398- ) ([]camera.NamedImage , resource.ResponseMetadata , error ) {
399- imgBytes , metadata , err := newImageBytesResp (ctx , imgPng , "image/jpeg" )
400- if err != nil {
401- return nil , resource.ResponseMetadata {}, err
402- }
403- namedImg , err := camera .NamedImageFromBytes (imgBytes , "" , metadata .MimeType )
404- if err != nil {
405- return nil , resource.ResponseMetadata {}, err
406- }
407- return []camera.NamedImage {namedImg }, resource.ResponseMetadata {CapturedAt : time .Now ()}, nil
408- },
409- },
361+ camera .Named ("c1" ): newMockCameraWithImages (t , imgPng ),
410362 })
411363 config , deps = setupConfig (t , r , enabledBinaryCollectorConfigPath )
412364 }
@@ -867,31 +819,7 @@ func TestStreamingDCUpload(t *testing.T) {
867819 // Set up data manager.
868820 imgPng := newImgPng (t )
869821 r := setupRobot (nil , map [resource.Name ]resource.Resource {
870- camera .Named ("c1" ): & inject.Camera {
871- ImageFunc : func (
872- ctx context.Context ,
873- mimeType string ,
874- extra map [string ]interface {},
875- ) ([]byte , camera.ImageMetadata , error ) {
876- t .Fatalf ("ImageFunc should not be called" )
877- return nil , camera.ImageMetadata {}, nil
878- },
879- ImagesFunc : func (
880- ctx context.Context ,
881- filterSourceNames []string ,
882- extra map [string ]interface {},
883- ) ([]camera.NamedImage , resource.ResponseMetadata , error ) {
884- imgBytes , metadata , err := newImageBytesResp (ctx , imgPng , "image/jpeg" )
885- if err != nil {
886- return nil , resource.ResponseMetadata {}, err
887- }
888- namedImg , err := camera .NamedImageFromBytes (imgBytes , "" , metadata .MimeType )
889- if err != nil {
890- return nil , resource.ResponseMetadata {}, err
891- }
892- return []camera.NamedImage {namedImg }, resource.ResponseMetadata {CapturedAt : time .Now ()}, nil
893- },
894- },
822+ camera .Named ("c1" ): newMockCameraWithImages (t , imgPng ),
895823 })
896824 config , deps := setupConfig (t , r , enabledBinaryCollectorConfigPath )
897825 c := config .ConvertedAttributes .(* Config )
@@ -1124,31 +1052,7 @@ func TestSyncConfigUpdateBehavior(t *testing.T) {
11241052
11251053 imgPng := newImgPng (t )
11261054 r := setupRobot (nil , map [resource.Name ]resource.Resource {
1127- camera .Named ("c1" ): & inject.Camera {
1128- ImageFunc : func (
1129- ctx context.Context ,
1130- mimeType string ,
1131- extra map [string ]interface {},
1132- ) ([]byte , camera.ImageMetadata , error ) {
1133- t .Fatalf ("ImageFunc should not be called" )
1134- return nil , camera.ImageMetadata {}, nil
1135- },
1136- ImagesFunc : func (
1137- ctx context.Context ,
1138- filterSourceNames []string ,
1139- extra map [string ]interface {},
1140- ) ([]camera.NamedImage , resource.ResponseMetadata , error ) {
1141- imgBytes , metadata , err := newImageBytesResp (ctx , imgPng , "image/jpeg" )
1142- if err != nil {
1143- return nil , resource.ResponseMetadata {}, err
1144- }
1145- namedImg , err := camera .NamedImageFromBytes (imgBytes , "" , metadata .MimeType )
1146- if err != nil {
1147- return nil , resource.ResponseMetadata {}, err
1148- }
1149- return []camera.NamedImage {namedImg }, resource.ResponseMetadata {CapturedAt : time .Now ()}, nil
1150- },
1151- },
1055+ camera .Named ("c1" ): newMockCameraWithImages (t , imgPng ),
11521056 })
11531057 config , deps := setupConfig (t , r , enabledBinaryCollectorConfigPath )
11541058 c := config .ConvertedAttributes .(* Config )
@@ -1308,6 +1212,37 @@ func newImageBytesResp(ctx context.Context, img image.Image, mimeType string) ([
13081212 return outBytes , camera.ImageMetadata {MimeType : mimeType }, nil
13091213}
13101214
1215+ // newMockCameraWithImages creates a mock camera that implements both ImageFunc and ImagesFunc
1216+ // ImageFunc will fail the test if called, ImagesFunc returns a single JPEG image.
1217+ func newMockCameraWithImages (t * testing.T , imgPng image.Image ) * inject.Camera {
1218+ return & inject.Camera {
1219+ ImageFunc : func (
1220+ ctx context.Context ,
1221+ mimeType string ,
1222+ extra map [string ]interface {},
1223+ ) ([]byte , camera.ImageMetadata , error ) {
1224+ // TODO(RSDK-11726): Remove once GetImage is removed
1225+ t .Fatalf ("ImageFunc should not be called" )
1226+ return nil , camera.ImageMetadata {}, nil
1227+ },
1228+ ImagesFunc : func (
1229+ ctx context.Context ,
1230+ filterSourceNames []string ,
1231+ extra map [string ]interface {},
1232+ ) ([]camera.NamedImage , resource.ResponseMetadata , error ) {
1233+ imgBytes , metadata , err := newImageBytesResp (ctx , imgPng , "image/jpeg" )
1234+ if err != nil {
1235+ return nil , resource.ResponseMetadata {}, err
1236+ }
1237+ namedImg , err := camera .NamedImageFromBytes (imgBytes , "" , metadata .MimeType )
1238+ if err != nil {
1239+ return nil , resource.ResponseMetadata {}, err
1240+ }
1241+ return []camera.NamedImage {namedImg }, resource.ResponseMetadata {CapturedAt : time .Now ()}, nil
1242+ },
1243+ }
1244+ }
1245+
13111246func newImgPng (t * testing.T ) image.Image {
13121247 img := image .NewNRGBA (image .Rect (0 , 0 , 4 , 4 ))
13131248 var imgBuf bytes.Buffer
0 commit comments