summaryrefslogtreecommitdiff
path: root/integration/api_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'integration/api_test.go')
-rw-r--r--integration/api_test.go165
1 files changed, 45 insertions, 120 deletions
diff --git a/integration/api_test.go b/integration/api_test.go
index cb92d89858..26441a2668 100644
--- a/integration/api_test.go
+++ b/integration/api_test.go
@@ -5,13 +5,6 @@ import (
"bytes"
"encoding/json"
"fmt"
- "github.com/dotcloud/docker"
- "github.com/dotcloud/docker/api"
- "github.com/dotcloud/docker/dockerversion"
- "github.com/dotcloud/docker/engine"
- "github.com/dotcloud/docker/runconfig"
- "github.com/dotcloud/docker/utils"
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io"
"io/ioutil"
"net"
@@ -20,84 +13,16 @@ import (
"strings"
"testing"
"time"
-)
-
-func TestGetVersion(t *testing.T) {
- eng := NewTestEngine(t)
- defer mkRuntimeFromEngine(eng, t).Nuke()
-
- var err error
- r := httptest.NewRecorder()
-
- req, err := http.NewRequest("GET", "/version", nil)
- if err != nil {
- t.Fatal(err)
- }
- // FIXME getting the version should require an actual running Server
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
- t.Fatal(err)
- }
- assertHttpNotError(r, t)
-
- out := engine.NewOutput()
- v, err := out.AddEnv()
- if err != nil {
- t.Fatal(err)
- }
- if _, err := io.Copy(out, r.Body); err != nil {
- t.Fatal(err)
- }
- out.Close()
- expected := dockerversion.VERSION
- if result := v.Get("Version"); result != expected {
- t.Errorf("Expected version %s, %s found", expected, result)
- }
- expected = "application/json"
- if result := r.HeaderMap.Get("Content-Type"); result != expected {
- t.Errorf("Expected Content-Type %s, %s found", expected, result)
- }
-}
-
-func TestGetInfo(t *testing.T) {
- eng := NewTestEngine(t)
- defer mkRuntimeFromEngine(eng, t).Nuke()
- job := eng.Job("images")
- initialImages, err := job.Stdout.AddListTable()
- if err != nil {
- t.Fatal(err)
- }
- if err := job.Run(); err != nil {
- t.Fatal(err)
- }
- req, err := http.NewRequest("GET", "/info", nil)
- if err != nil {
- t.Fatal(err)
- }
- r := httptest.NewRecorder()
-
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
- t.Fatal(err)
- }
- assertHttpNotError(r, t)
-
- out := engine.NewOutput()
- i, err := out.AddEnv()
- if err != nil {
- t.Fatal(err)
- }
- if _, err := io.Copy(out, r.Body); err != nil {
- t.Fatal(err)
- }
- out.Close()
- if images := i.GetInt("Images"); images != initialImages.Len() {
- t.Errorf("Expected images: %d, %d found", initialImages.Len(), images)
- }
- expected := "application/json"
- if result := r.HeaderMap.Get("Content-Type"); result != expected {
- t.Errorf("Expected Content-Type %s, %s found", expected, result)
- }
-}
+ "github.com/dotcloud/docker/api"
+ "github.com/dotcloud/docker/api/server"
+ "github.com/dotcloud/docker/engine"
+ "github.com/dotcloud/docker/image"
+ "github.com/dotcloud/docker/runconfig"
+ "github.com/dotcloud/docker/runtime"
+ "github.com/dotcloud/docker/utils"
+ "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
+)
func TestGetEvents(t *testing.T) {
eng := NewTestEngine(t)
@@ -124,7 +49,7 @@ func TestGetEvents(t *testing.T) {
r := httptest.NewRecorder()
setTimeout(t, "", 500*time.Millisecond, func() {
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -165,7 +90,7 @@ func TestGetImagesJSON(t *testing.T) {
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -200,7 +125,7 @@ func TestGetImagesJSON(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r2, req2); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r2, req2); err != nil {
t.Fatal(err)
}
assertHttpNotError(r2, t)
@@ -233,7 +158,7 @@ func TestGetImagesJSON(t *testing.T) {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r3, req3); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r3, req3); err != nil {
t.Fatal(err)
}
assertHttpNotError(r3, t)
@@ -258,7 +183,7 @@ func TestGetImagesHistory(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -282,12 +207,12 @@ func TestGetImagesByName(t *testing.T) {
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
- img := &docker.Image{}
+ img := &image.Image{}
if err := json.Unmarshal(r.Body.Bytes(), img); err != nil {
t.Fatal(err)
}
@@ -326,7 +251,7 @@ func TestGetContainersJSON(t *testing.T) {
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -362,7 +287,7 @@ func TestGetContainersExport(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -400,7 +325,7 @@ func TestSaveImageAndThenLoad(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusOK {
@@ -414,7 +339,7 @@ func TestSaveImageAndThenLoad(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusOK {
@@ -427,7 +352,7 @@ func TestSaveImageAndThenLoad(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusNotFound {
@@ -440,7 +365,7 @@ func TestSaveImageAndThenLoad(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusOK {
@@ -453,7 +378,7 @@ func TestSaveImageAndThenLoad(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusOK {
@@ -480,7 +405,7 @@ func TestGetContainersChanges(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -547,7 +472,7 @@ func TestGetContainersTop(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -595,11 +520,11 @@ func TestGetContainersByName(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
- outContainer := &docker.Container{}
+ outContainer := &runtime.Container{}
if err := json.Unmarshal(r.Body.Bytes(), outContainer); err != nil {
t.Fatal(err)
}
@@ -630,7 +555,7 @@ func TestPostCommit(t *testing.T) {
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -666,7 +591,7 @@ func TestPostContainersCreate(t *testing.T) {
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -715,7 +640,7 @@ func TestPostContainersKill(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -754,7 +679,7 @@ func TestPostContainersRestart(t *testing.T) {
t.Fatal(err)
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -796,7 +721,7 @@ func TestPostContainersStart(t *testing.T) {
req.Header.Set("Content-Type", "application/json")
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -813,7 +738,7 @@ func TestPostContainersStart(t *testing.T) {
}
r = httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
// Starting an already started container should return an error
@@ -851,7 +776,7 @@ func TestRunErrorBindMountRootSource(t *testing.T) {
req.Header.Set("Content-Type", "application/json")
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusInternalServerError {
@@ -888,7 +813,7 @@ func TestPostContainersStop(t *testing.T) {
t.Fatal(err)
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -920,7 +845,7 @@ func TestPostContainersWait(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -978,7 +903,7 @@ func TestPostContainersAttach(t *testing.T) {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r.ResponseRecorder, t)
@@ -1056,7 +981,7 @@ func TestPostContainersAttachStderr(t *testing.T) {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r.ResponseRecorder, t)
@@ -1113,7 +1038,7 @@ func TestDeleteContainers(t *testing.T) {
t.Fatal(err)
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -1132,7 +1057,7 @@ func TestOptionsRoute(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -1151,7 +1076,7 @@ func TestGetEnabledCors(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -1198,7 +1123,7 @@ func TestDeleteImages(t *testing.T) {
}
r := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusConflict {
@@ -1211,7 +1136,7 @@ func TestDeleteImages(t *testing.T) {
}
r2 := httptest.NewRecorder()
- if err := api.ServeRequest(eng, api.APIVERSION, r2, req2); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r2, req2); err != nil {
t.Fatal(err)
}
assertHttpNotError(r2, t)
@@ -1263,7 +1188,7 @@ func TestPostContainersCopy(t *testing.T) {
t.Fatal(err)
}
req.Header.Add("Content-Type", "application/json")
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
assertHttpNotError(r, t)
@@ -1311,7 +1236,7 @@ func TestPostContainersCopyWhenContainerNotFound(t *testing.T) {
t.Fatal(err)
}
req.Header.Add("Content-Type", "application/json")
- if err := api.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
+ if err := server.ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
if r.Code != http.StatusNotFound {