mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
add functions/vendor files
This commit is contained in:
200
vendor/github.com/fsouza/go-dockerclient/swarm_test.go
generated
vendored
Normal file
200
vendor/github.com/fsouza/go-dockerclient/swarm_test.go
generated
vendored
Normal file
@@ -0,0 +1,200 @@
|
||||
// Copyright 2016 go-dockerclient authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package docker
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/api/types/swarm"
|
||||
)
|
||||
|
||||
func TestInitSwarm(t *testing.T) {
|
||||
fakeRT := &FakeRoundTripper{message: `"body"`, status: http.StatusOK}
|
||||
client := newTestClient(fakeRT)
|
||||
response, err := client.InitSwarm(InitSwarmOptions{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
req := fakeRT.requests[0]
|
||||
expectedMethod := "POST"
|
||||
if req.Method != expectedMethod {
|
||||
t.Errorf("InitSwarm: Wrong HTTP method. Want %s. Got %s.", expectedMethod, req.Method)
|
||||
}
|
||||
u, _ := url.Parse(client.getURL("/swarm/init"))
|
||||
if req.URL.Path != u.Path {
|
||||
t.Errorf("InitSwarm: Wrong request path. Want %q. Got %q.", u.Path, req.URL.Path)
|
||||
}
|
||||
expected := "body"
|
||||
if response != expected {
|
||||
t.Errorf("InitSwarm: Wrong response. Want %q. Got %q.", expected, response)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInitSwarmAlreadyInSwarm(t *testing.T) {
|
||||
client := newTestClient(&FakeRoundTripper{message: "", status: http.StatusNotAcceptable})
|
||||
_, err := client.InitSwarm(InitSwarmOptions{})
|
||||
if err != ErrNodeAlreadyInSwarm {
|
||||
t.Errorf("InitSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeAlreadyInSwarm, err)
|
||||
}
|
||||
client = newTestClient(&FakeRoundTripper{message: "", status: http.StatusServiceUnavailable})
|
||||
_, err = client.InitSwarm(InitSwarmOptions{})
|
||||
if err != ErrNodeAlreadyInSwarm {
|
||||
t.Errorf("InitSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeAlreadyInSwarm, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestJoinSwarm(t *testing.T) {
|
||||
fakeRT := &FakeRoundTripper{message: "", status: http.StatusOK}
|
||||
client := newTestClient(fakeRT)
|
||||
err := client.JoinSwarm(JoinSwarmOptions{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
req := fakeRT.requests[0]
|
||||
expectedMethod := "POST"
|
||||
if req.Method != expectedMethod {
|
||||
t.Errorf("JoinSwarm: Wrong HTTP method. Want %s. Got %s.", expectedMethod, req.Method)
|
||||
}
|
||||
u, _ := url.Parse(client.getURL("/swarm/join"))
|
||||
if req.URL.Path != u.Path {
|
||||
t.Errorf("JoinSwarm: Wrong request path. Want %q. Got %q.", u.Path, req.URL.Path)
|
||||
}
|
||||
}
|
||||
|
||||
func TestJoinSwarmAlreadyInSwarm(t *testing.T) {
|
||||
client := newTestClient(&FakeRoundTripper{message: "", status: http.StatusNotAcceptable})
|
||||
err := client.JoinSwarm(JoinSwarmOptions{})
|
||||
if err != ErrNodeAlreadyInSwarm {
|
||||
t.Errorf("JoinSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeAlreadyInSwarm, err)
|
||||
}
|
||||
client = newTestClient(&FakeRoundTripper{message: "", status: http.StatusServiceUnavailable})
|
||||
err = client.JoinSwarm(JoinSwarmOptions{})
|
||||
if err != ErrNodeAlreadyInSwarm {
|
||||
t.Errorf("JoinSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeAlreadyInSwarm, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLeaveSwarm(t *testing.T) {
|
||||
fakeRT := &FakeRoundTripper{message: "", status: http.StatusOK}
|
||||
client := newTestClient(fakeRT)
|
||||
var testData = []struct {
|
||||
force bool
|
||||
expectedURI string
|
||||
}{
|
||||
{false, "/swarm/leave?force=false"},
|
||||
{true, "/swarm/leave?force=true"},
|
||||
}
|
||||
for i, tt := range testData {
|
||||
err := client.LeaveSwarm(LeaveSwarmOptions{Force: tt.force})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
expectedMethod := "POST"
|
||||
req := fakeRT.requests[i]
|
||||
if req.Method != expectedMethod {
|
||||
t.Errorf("LeaveSwarm: Wrong HTTP method. Want %s. Got %s.", expectedMethod, req.Method)
|
||||
}
|
||||
expected, _ := url.Parse(client.getURL(tt.expectedURI))
|
||||
if req.URL.String() != expected.String() {
|
||||
t.Errorf("LeaveSwarm: Wrong request string. Want %q. Got %q.", expected.String(), req.URL.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestLeaveSwarmNotInSwarm(t *testing.T) {
|
||||
client := newTestClient(&FakeRoundTripper{message: "", status: http.StatusNotAcceptable})
|
||||
err := client.LeaveSwarm(LeaveSwarmOptions{})
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("LeaveSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
client = newTestClient(&FakeRoundTripper{message: "", status: http.StatusServiceUnavailable})
|
||||
err = client.LeaveSwarm(LeaveSwarmOptions{})
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("LeaveSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUpdateSwarm(t *testing.T) {
|
||||
fakeRT := &FakeRoundTripper{message: "", status: http.StatusOK}
|
||||
client := newTestClient(fakeRT)
|
||||
opts := UpdateSwarmOptions{
|
||||
Version: 10,
|
||||
RotateManagerToken: true,
|
||||
RotateWorkerToken: false,
|
||||
}
|
||||
err := client.UpdateSwarm(opts)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
req := fakeRT.requests[0]
|
||||
expectedMethod := "POST"
|
||||
if req.Method != expectedMethod {
|
||||
t.Errorf("UpdateSwarm: Wrong HTTP method. Want %s. Got %s.", expectedMethod, req.Method)
|
||||
}
|
||||
expectedPath := "/swarm/update"
|
||||
if req.URL.Path != expectedPath {
|
||||
t.Errorf("UpdateSwarm: Wrong request path. Want %q. Got %q.", expectedPath, req.URL.Path)
|
||||
}
|
||||
expected := map[string][]string{
|
||||
"version": {"10"},
|
||||
"rotateManagerToken": {"true"},
|
||||
"rotateWorkerToken": {"false"},
|
||||
}
|
||||
got := map[string][]string(req.URL.Query())
|
||||
if !reflect.DeepEqual(got, expected) {
|
||||
t.Errorf("UpdateSwarm: Wrong request query. Want %v. Got %v", expected, got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUpdateSwarmNotInSwarm(t *testing.T) {
|
||||
client := newTestClient(&FakeRoundTripper{message: "", status: http.StatusNotAcceptable})
|
||||
err := client.UpdateSwarm(UpdateSwarmOptions{})
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("UpdateSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
client = newTestClient(&FakeRoundTripper{message: "", status: http.StatusServiceUnavailable})
|
||||
err = client.UpdateSwarm(UpdateSwarmOptions{})
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("UpdateSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInspectSwarm(t *testing.T) {
|
||||
fakeRT := &FakeRoundTripper{message: `{"ID": "123"}`, status: http.StatusOK}
|
||||
client := newTestClient(fakeRT)
|
||||
response, err := client.InspectSwarm(nil)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
req := fakeRT.requests[0]
|
||||
expectedMethod := "GET"
|
||||
if req.Method != expectedMethod {
|
||||
t.Errorf("InspectSwarm: Wrong HTTP method. Want %s. Got %s.", expectedMethod, req.Method)
|
||||
}
|
||||
u, _ := url.Parse(client.getURL("/swarm"))
|
||||
if req.URL.Path != u.Path {
|
||||
t.Errorf("InspectSwarm: Wrong request path. Want %q. Got %q.", u.Path, req.URL.Path)
|
||||
}
|
||||
expected := swarm.Swarm{ClusterInfo: swarm.ClusterInfo{ID: "123"}}
|
||||
if !reflect.DeepEqual(expected, response) {
|
||||
t.Errorf("InspectSwarm: Wrong response. Want %#v. Got %#v.", expected, response)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInspectSwarmNotInSwarm(t *testing.T) {
|
||||
client := newTestClient(&FakeRoundTripper{message: "", status: http.StatusNotAcceptable})
|
||||
_, err := client.InspectSwarm(nil)
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("InspectSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
client = newTestClient(&FakeRoundTripper{message: "", status: http.StatusServiceUnavailable})
|
||||
_, err = client.InspectSwarm(nil)
|
||||
if err != ErrNodeNotInSwarm {
|
||||
t.Errorf("InspectSwarm: Wrong error type. Want %#v. Got %#v", ErrNodeNotInSwarm, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user