mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Test that we set the right arguments for git cloning depending on the transport.
Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
9fb7204a41
commit
3117bf3ef5
1 changed files with 56 additions and 0 deletions
56
builder/job_test.go
Normal file
56
builder/job_test.go
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
package builder
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
|
"net/url"
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestCloneArgsSmartHttp(t *testing.T) {
|
||||||
|
mux := http.NewServeMux()
|
||||||
|
server := httptest.NewServer(mux)
|
||||||
|
serverURL, _ := url.Parse(server.URL)
|
||||||
|
|
||||||
|
serverURL.Path = "/repo.git"
|
||||||
|
gitURL := serverURL.String()
|
||||||
|
|
||||||
|
mux.HandleFunc("/repo.git/info/refs", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
q := r.URL.Query().Get("service")
|
||||||
|
w.Header().Set("Content-Type", fmt.Sprintf("application/x-%s-advertisement", q))
|
||||||
|
})
|
||||||
|
|
||||||
|
args := cloneArgs(gitURL, "/tmp")
|
||||||
|
exp := []string{"clone", "--recursive", "--depth", "1", gitURL, "/tmp"}
|
||||||
|
if !reflect.DeepEqual(args, exp) {
|
||||||
|
t.Fatalf("Expected %v, got %v", exp, args)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCloneArgsDumbHttp(t *testing.T) {
|
||||||
|
mux := http.NewServeMux()
|
||||||
|
server := httptest.NewServer(mux)
|
||||||
|
serverURL, _ := url.Parse(server.URL)
|
||||||
|
|
||||||
|
serverURL.Path = "/repo.git"
|
||||||
|
gitURL := serverURL.String()
|
||||||
|
|
||||||
|
mux.HandleFunc("/repo.git/info/refs", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Header().Set("Content-Type", "text/plain")
|
||||||
|
})
|
||||||
|
|
||||||
|
args := cloneArgs(gitURL, "/tmp")
|
||||||
|
exp := []string{"clone", "--recursive", gitURL, "/tmp"}
|
||||||
|
if !reflect.DeepEqual(args, exp) {
|
||||||
|
t.Fatalf("Expected %v, got %v", exp, args)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func TestCloneArgsGit(t *testing.T) {
|
||||||
|
args := cloneArgs("git://github.com/docker/docker", "/tmp")
|
||||||
|
exp := []string{"clone", "--recursive", "--depth", "1", "git://github.com/docker/docker", "/tmp"}
|
||||||
|
if !reflect.DeepEqual(args, exp) {
|
||||||
|
t.Fatalf("Expected %v, got %v", exp, args)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue