Browse code

move TestImagesFilter to integration-cli

Signed-off-by: Brian Goff <cpuguy83@gmail.com>

Brian Goff authored on 2015/04/11 06:51:40
Showing 2 changed files
... ...
@@ -2,6 +2,7 @@ package main
2 2
 
3 3
 import (
4 4
 	"encoding/json"
5
+	"net/url"
5 6
 	"testing"
6 7
 
7 8
 	"github.com/docker/docker/api/types"
... ...
@@ -24,3 +25,45 @@ func TestLegacyImages(t *testing.T) {
24 24
 
25 25
 	logDone("images - checking legacy json")
26 26
 }
27
+
28
+func TestApiImagesFilter(t *testing.T) {
29
+	name := "utest:tag1"
30
+	name2 := "utest/docker:tag2"
31
+	name3 := "utest:5000/docker:tag3"
32
+	defer deleteImages(name, name2, name3)
33
+	dockerCmd(t, "tag", "busybox", name)
34
+	dockerCmd(t, "tag", "busybox", name2)
35
+	dockerCmd(t, "tag", "busybox", name3)
36
+
37
+	type image struct{ RepoTags []string }
38
+	getImages := func(filter string) []image {
39
+		v := url.Values{}
40
+		v.Set("filter", filter)
41
+		_, b, err := sockRequest("GET", "/images/json?"+v.Encode(), nil)
42
+		if err != nil {
43
+			t.Fatal(err)
44
+		}
45
+		var images []image
46
+		if err := json.Unmarshal(b, &images); err != nil {
47
+			t.Fatal(err)
48
+		}
49
+
50
+		return images
51
+	}
52
+
53
+	errMsg := "incorrect number of matches returned"
54
+	if images := getImages("utest*/*"); len(images[0].RepoTags) != 2 {
55
+		t.Fatal(errMsg)
56
+	}
57
+	if images := getImages("utest"); len(images[0].RepoTags) != 1 {
58
+		t.Fatal(errMsg)
59
+	}
60
+	if images := getImages("utest*"); len(images[0].RepoTags) != 1 {
61
+		t.Fatal(errMsg)
62
+	}
63
+	if images := getImages("*5000*/*"); len(images[0].RepoTags) != 1 {
64
+		t.Fatal(errMsg)
65
+	}
66
+
67
+	logDone("images - filter param is applied")
68
+}
27 69
deleted file mode 100644
... ...
@@ -1,44 +0,0 @@
1
-package docker
2
-
3
-import "testing"
4
-
5
-func TestImagesFilter(t *testing.T) {
6
-	eng := NewTestEngine(t)
7
-	defer nuke(mkDaemonFromEngine(eng, t))
8
-
9
-	if err := eng.Job("tag", unitTestImageName, "utest", "tag1").Run(); err != nil {
10
-		t.Fatal(err)
11
-	}
12
-
13
-	if err := eng.Job("tag", unitTestImageName, "utest/docker", "tag2").Run(); err != nil {
14
-		t.Fatal(err)
15
-	}
16
-
17
-	if err := eng.Job("tag", unitTestImageName, "utest:5000/docker", "tag3").Run(); err != nil {
18
-		t.Fatal(err)
19
-	}
20
-
21
-	images := getImages(eng, t, false, "utest*/*")
22
-
23
-	if len(images[0].RepoTags) != 2 {
24
-		t.Fatal("incorrect number of matches returned")
25
-	}
26
-
27
-	images = getImages(eng, t, false, "utest")
28
-
29
-	if len(images[0].RepoTags) != 1 {
30
-		t.Fatal("incorrect number of matches returned")
31
-	}
32
-
33
-	images = getImages(eng, t, false, "utest*")
34
-
35
-	if len(images[0].RepoTags) != 1 {
36
-		t.Fatal("incorrect number of matches returned")
37
-	}
38
-
39
-	images = getImages(eng, t, false, "*5000*/*")
40
-
41
-	if len(images[0].RepoTags) != 1 {
42
-		t.Fatal("incorrect number of matches returned")
43
-	}
44
-}