@@ -349,6 +349,85 @@ func TestSidecarTask_MergeIntoTask(t *testing.T) {
349
349
require .Exactly (t , expected , task )
350
350
}
351
351
352
+ func TestSidecarTask_Equals (t * testing.T ) {
353
+ t .Parallel ()
354
+
355
+ original := & SidecarTask {
356
+ Name : "sidecar-task-1" ,
357
+ Driver : "docker" ,
358
+ User : "nobody" ,
359
+ Config : map [string ]interface {}{"foo" : 1 },
360
+ Env : map [string ]string {"color" : "blue" },
361
+ Resources : & Resources {MemoryMB : 300 },
362
+ Meta : map [string ]string {"index" : "1" },
363
+ KillTimeout : helper .TimeToPtr (2 * time .Second ),
364
+ LogConfig : & LogConfig {
365
+ MaxFiles : 2 ,
366
+ MaxFileSizeMB : 300 ,
367
+ },
368
+ ShutdownDelay : helper .TimeToPtr (10 * time .Second ),
369
+ KillSignal : "SIGTERM" ,
370
+ }
371
+
372
+ t .Run ("unmodified" , func (t * testing.T ) {
373
+ duplicate := original .Copy ()
374
+ require .True (t , duplicate .Equals (original ))
375
+ })
376
+
377
+ type st = SidecarTask
378
+ type tweaker = func (task * st )
379
+
380
+ try := func (t * testing.T , tweak tweaker ) {
381
+ modified := original .Copy ()
382
+ tweak (modified )
383
+ require .NotEqual (t , original , modified )
384
+ }
385
+
386
+ t .Run ("mod name" , func (t * testing.T ) {
387
+ try (t , func (s * st ) { s .Name = "sidecar-task-2" })
388
+ })
389
+
390
+ t .Run ("mod driver" , func (t * testing.T ) {
391
+ try (t , func (s * st ) { s .Driver = "exec" })
392
+ })
393
+
394
+ t .Run ("mod user" , func (t * testing.T ) {
395
+ try (t , func (s * st ) { s .User = "root" })
396
+ })
397
+
398
+ t .Run ("mod config" , func (t * testing.T ) {
399
+ try (t , func (s * st ) { s .Config = map [string ]interface {}{"foo" : 2 } })
400
+ })
401
+
402
+ t .Run ("mod env" , func (t * testing.T ) {
403
+ try (t , func (s * st ) { s .Env = map [string ]string {"color" : "red" } })
404
+ })
405
+
406
+ t .Run ("mod resources" , func (t * testing.T ) {
407
+ try (t , func (s * st ) { s .Resources = & Resources {MemoryMB : 200 } })
408
+ })
409
+
410
+ t .Run ("mod meta" , func (t * testing.T ) {
411
+ try (t , func (s * st ) { s .Meta = map [string ]string {"index" : "2" } })
412
+ })
413
+
414
+ t .Run ("mod kill timeout" , func (t * testing.T ) {
415
+ try (t , func (s * st ) { s .KillTimeout = helper .TimeToPtr (3 * time .Second ) })
416
+ })
417
+
418
+ t .Run ("mod log config" , func (t * testing.T ) {
419
+ try (t , func (s * st ) { s .LogConfig = & LogConfig {MaxFiles : 3 } })
420
+ })
421
+
422
+ t .Run ("mod shutdown delay" , func (t * testing.T ) {
423
+ try (t , func (s * st ) { s .ShutdownDelay = helper .TimeToPtr (20 * time .Second ) })
424
+ })
425
+
426
+ t .Run ("mod kill signal" , func (t * testing.T ) {
427
+ try (t , func (s * st ) { s .KillSignal = "SIGHUP" })
428
+ })
429
+ }
430
+
352
431
func TestConsulUpstream_upstreamEquals (t * testing.T ) {
353
432
t .Parallel ()
354
433
0 commit comments