mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Add configs support to client
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
This commit is contained in:
		
							parent
							
								
									7728557687
								
							
						
					
					
						commit
						102738101a
					
				
					 12 changed files with 463 additions and 0 deletions
				
			
		
							
								
								
									
										49
									
								
								client/config_update_test.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								client/config_update_test.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,49 @@
 | 
			
		|||
package client
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
 | 
			
		||||
	"github.com/docker/docker/api/types/swarm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestConfigUpdateError(t *testing.T) {
 | 
			
		||||
	client := &Client{
 | 
			
		||||
		client: newMockClient(errorMock(http.StatusInternalServerError, "Server error")),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err := client.ConfigUpdate(context.Background(), "config_id", swarm.Version{}, swarm.ConfigSpec{})
 | 
			
		||||
	if err == nil || err.Error() != "Error response from daemon: Server error" {
 | 
			
		||||
		t.Fatalf("expected a Server Error, got %v", err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestConfigUpdate(t *testing.T) {
 | 
			
		||||
	expectedURL := "/configs/config_id/update"
 | 
			
		||||
 | 
			
		||||
	client := &Client{
 | 
			
		||||
		client: newMockClient(func(req *http.Request) (*http.Response, error) {
 | 
			
		||||
			if !strings.HasPrefix(req.URL.Path, expectedURL) {
 | 
			
		||||
				return nil, fmt.Errorf("Expected URL '%s', got '%s'", expectedURL, req.URL)
 | 
			
		||||
			}
 | 
			
		||||
			if req.Method != "POST" {
 | 
			
		||||
				return nil, fmt.Errorf("expected POST method, got %s", req.Method)
 | 
			
		||||
			}
 | 
			
		||||
			return &http.Response{
 | 
			
		||||
				StatusCode: http.StatusOK,
 | 
			
		||||
				Body:       ioutil.NopCloser(bytes.NewReader([]byte("body"))),
 | 
			
		||||
			}, nil
 | 
			
		||||
		}),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err := client.ConfigUpdate(context.Background(), "config_id", swarm.Version{}, swarm.ConfigSpec{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue