Browse code

Make integration tests to call the new start and create endpoints.

Signed-off-by: David Calavera <david.calavera@gmail.com>

David Calavera authored on 2015/04/10 08:29:31
Showing 2 changed files
... ...
@@ -422,14 +422,13 @@ func TestGet(t *testing.T) {
422 422
 
423 423
 func startEchoServerContainer(t *testing.T, proto string) (*daemon.Daemon, *daemon.Container, string) {
424 424
 	var (
425
-		err          error
426
-		id           string
427
-		outputBuffer = bytes.NewBuffer(nil)
428
-		strPort      string
429
-		eng          = NewTestEngine(t)
430
-		daemon       = mkDaemonFromEngine(eng, t)
431
-		port         = 5554
432
-		p            nat.Port
425
+		err     error
426
+		id      string
427
+		strPort string
428
+		eng     = NewTestEngine(t)
429
+		daemon  = mkDaemonFromEngine(eng, t)
430
+		port    = 5554
431
+		p       nat.Port
433 432
 	)
434 433
 	defer func() {
435 434
 		if err != nil {
... ...
@@ -452,16 +451,13 @@ func startEchoServerContainer(t *testing.T, proto string) (*daemon.Daemon, *daem
452 452
 		p = nat.Port(fmt.Sprintf("%s/%s", strPort, proto))
453 453
 		ep[p] = struct{}{}
454 454
 
455
-		jobCreate := eng.Job("create")
456
-		jobCreate.Setenv("Image", unitTestImageID)
457
-		jobCreate.SetenvList("Cmd", []string{"sh", "-c", cmd})
458
-		jobCreate.SetenvList("PortSpecs", []string{fmt.Sprintf("%s/%s", strPort, proto)})
459
-		jobCreate.SetenvJson("ExposedPorts", ep)
460
-		jobCreate.Stdout.Add(outputBuffer)
461
-		if err := jobCreate.Run(); err != nil {
462
-			t.Fatal(err)
463
-		}
464
-		id = engine.Tail(outputBuffer, 1)
455
+		env := new(engine.Env)
456
+		env.Set("Image", unitTestImageID)
457
+		env.SetList("Cmd", []string{"sh", "-c", cmd})
458
+		env.SetList("PortSpecs", []string{fmt.Sprintf("%s/%s", strPort, proto)})
459
+		env.SetJson("ExposedPorts", ep)
460
+
461
+		id, _, err = daemon.ContainerCreate(unitTestImageID, env)
465 462
 		// FIXME: this relies on the undocumented behavior of daemon.Create
466 463
 		// which will return a nil error AND container if the exposed ports
467 464
 		// are invalid. That behavior should be fixed!
... ...
@@ -472,15 +468,16 @@ func startEchoServerContainer(t *testing.T, proto string) (*daemon.Daemon, *daem
472 472
 
473 473
 	}
474 474
 
475
-	jobStart := eng.Job("start", id)
476 475
 	portBindings := make(map[nat.Port][]nat.PortBinding)
477 476
 	portBindings[p] = []nat.PortBinding{
478 477
 		{},
479 478
 	}
480
-	if err := jobStart.SetenvJson("PortsBindings", portBindings); err != nil {
479
+
480
+	env := new(engine.Env)
481
+	if err := env.SetJson("PortsBindings", portBindings); err != nil {
481 482
 		t.Fatal(err)
482 483
 	}
483
-	if err := jobStart.Run(); err != nil {
484
+	if err := daemon.ContainerStart(id, env); err != nil {
484 485
 		t.Fatal(err)
485 486
 	}
486 487
 
... ...
@@ -731,20 +728,20 @@ func TestContainerNameValidation(t *testing.T) {
731 731
 			t.Fatal(err)
732 732
 		}
733 733
 
734
-		var outputBuffer = bytes.NewBuffer(nil)
735
-		job := eng.Job("create", test.Name)
736
-		if err := job.ImportEnv(config); err != nil {
734
+		env := new(engine.Env)
735
+		if err := env.Import(config); err != nil {
737 736
 			t.Fatal(err)
738 737
 		}
739
-		job.Stdout.Add(outputBuffer)
740
-		if err := job.Run(); err != nil {
738
+
739
+		containerId, _, err := daemon.ContainerCreate(test.Name, env)
740
+		if err != nil {
741 741
 			if !test.Valid {
742 742
 				continue
743 743
 			}
744 744
 			t.Fatal(err)
745 745
 		}
746 746
 
747
-		container, err := daemon.Get(engine.Tail(outputBuffer, 1))
747
+		container, err := daemon.Get(containerId)
748 748
 		if err != nil {
749 749
 			t.Fatal(err)
750 750
 		}
... ...
@@ -759,7 +756,6 @@ func TestContainerNameValidation(t *testing.T) {
759 759
 			t.Fatalf("Container /%s has ID %s instead of %s", test.Name, c.ID, container.ID)
760 760
 		}
761 761
 	}
762
-
763 762
 }
764 763
 
765 764
 func TestLinkChildContainer(t *testing.T) {
... ...
@@ -44,16 +44,15 @@ func mkDaemon(f Fataler) *daemon.Daemon {
44 44
 }
45 45
 
46 46
 func createNamedTestContainer(eng *engine.Engine, config *runconfig.Config, f Fataler, name string) (shortId string) {
47
-	job := eng.Job("create", name)
48
-	if err := job.ImportEnv(config); err != nil {
47
+	env := new(engine.Env)
48
+	if err := env.Import(config); err != nil {
49 49
 		f.Fatal(err)
50 50
 	}
51
-	var outputBuffer = bytes.NewBuffer(nil)
52
-	job.Stdout.Add(outputBuffer)
53
-	if err := job.Run(); err != nil {
51
+	containerId, _, err := getDaemon(eng).ContainerCreate(name, env)
52
+	if err != nil {
54 53
 		f.Fatal(err)
55 54
 	}
56
-	return engine.Tail(outputBuffer, 1)
55
+	return containerId
57 56
 }
58 57
 
59 58
 func createTestContainer(eng *engine.Engine, config *runconfig.Config, f Fataler) (shortId string) {
... ...
@@ -61,8 +60,8 @@ func createTestContainer(eng *engine.Engine, config *runconfig.Config, f Fataler
61 61
 }
62 62
 
63 63
 func startContainer(eng *engine.Engine, id string, t Fataler) {
64
-	job := eng.Job("start", id)
65
-	if err := job.Run(); err != nil {
64
+	env := new(engine.Env)
65
+	if err := getDaemon(eng).ContainerStart(id, env); err != nil {
66 66
 		t.Fatal(err)
67 67
 	}
68 68
 }