summaryrefslogtreecommitdiff
path: root/src/cmd/goinstall/download_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/goinstall/download_test.go')
-rw-r--r--src/cmd/goinstall/download_test.go149
1 files changed, 0 insertions, 149 deletions
diff --git a/src/cmd/goinstall/download_test.go b/src/cmd/goinstall/download_test.go
deleted file mode 100644
index 2aa6f6184..000000000
--- a/src/cmd/goinstall/download_test.go
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2011 The Go 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 main
-
-import (
- "bytes"
- "errors"
- "io/ioutil"
- "net/http"
- "testing"
-)
-
-var FindPublicRepoTests = []struct {
- pkg string
- vcs, root, url string
- transport *testTransport
-}{
- {
- "code.google.com/p/repo/path/foo",
- "hg",
- "code.google.com/p/repo",
- "https://code.google.com/p/repo",
- &testTransport{
- "https://code.google.com/p/repo/source/checkout",
- `<tt id="checkoutcmd">hg clone https://...`,
- },
- },
- {
- "code.google.com/p/repo/path/foo",
- "svn",
- "code.google.com/p/repo",
- "http://repo.googlecode.com/svn",
- &testTransport{
- "https://code.google.com/p/repo/source/checkout",
- `<tt id="checkoutcmd">svn checkout https://...`,
- },
- },
- {
- "code.google.com/p/repo/path/foo",
- "git",
- "code.google.com/p/repo",
- "https://code.google.com/p/repo",
- &testTransport{
- "https://code.google.com/p/repo/source/checkout",
- `<tt id="checkoutcmd">git clone https://...`,
- },
- },
- {
- "code.google.com/p/repo.sub/path",
- "hg",
- "code.google.com/p/repo.sub",
- "https://code.google.com/p/repo.sub",
- &testTransport{
- "https://code.google.com/p/repo/source/checkout?repo=sub",
- `<tt id="checkoutcmd">hg clone https://...`,
- },
- },
- {
- "bitbucket.org/user/repo/path/foo",
- "hg",
- "bitbucket.org/user/repo",
- "http://bitbucket.org/user/repo",
- &testTransport{
- "https://api.bitbucket.org/1.0/repositories/user/repo",
- `{"scm": "hg"}`,
- },
- },
- {
- "bitbucket.org/user/repo/path/foo",
- "git",
- "bitbucket.org/user/repo",
- "http://bitbucket.org/user/repo.git",
- &testTransport{
- "https://api.bitbucket.org/1.0/repositories/user/repo",
- `{"scm": "git"}`,
- },
- },
- {
- "github.com/user/repo/path/foo",
- "git",
- "github.com/user/repo",
- "http://github.com/user/repo.git",
- nil,
- },
- {
- "launchpad.net/project/series/path",
- "bzr",
- "launchpad.net/project/series",
- "https://launchpad.net/project/series",
- nil,
- },
- {
- "launchpad.net/~user/project/branch/path",
- "bzr",
- "launchpad.net/~user/project/branch",
- "https://launchpad.net/~user/project/branch",
- nil,
- },
-}
-
-func TestFindPublicRepo(t *testing.T) {
- for _, test := range FindPublicRepoTests {
- client := http.DefaultClient
- if test.transport != nil {
- client = &http.Client{Transport: test.transport}
- }
- repo, err := findPublicRepo(test.pkg)
- if err != nil {
- t.Errorf("findPublicRepo(%s): error: %v", test.pkg, err)
- continue
- }
- if repo == nil {
- t.Errorf("%s: got nil match", test.pkg)
- continue
- }
- url, root, vcs, err := repo.Repo(client)
- if err != nil {
- t.Errorf("%s: repo.Repo error: %v", test.pkg, err)
- continue
- }
- if v := vcsMap[test.vcs]; vcs != v {
- t.Errorf("%s: got vcs=%v, want %v", test.pkg, vcs, v)
- }
- if root != test.root {
- t.Errorf("%s: got root=%v, want %v", test.pkg, root, test.root)
- }
- if url != test.url {
- t.Errorf("%s: got url=%v, want %v", test.pkg, url, test.url)
- }
- }
-}
-
-type testTransport struct {
- expectURL string
- responseBody string
-}
-
-func (t *testTransport) RoundTrip(req *http.Request) (*http.Response, error) {
- if g, e := req.URL.String(), t.expectURL; g != e {
- return nil, errors.New("want " + e)
- }
- body := ioutil.NopCloser(bytes.NewBufferString(t.responseBody))
- return &http.Response{
- StatusCode: http.StatusOK,
- Body: body,
- }, nil
-}