Merge pull request #1362 from dotcloud/registry_test

* Registry: Registry unit tests + mock registry
This commit is contained in:
Guillaume J. Charmes 2013-08-07 15:30:07 -07:00
commit 3fdac42b99
3 changed files with 529 additions and 148 deletions

View file

@ -161,13 +161,14 @@ func (r *Registry) GetRemoteHistory(imgID, registry string, token []string) ([]s
// Check if an image exists in the Registry
func (r *Registry) LookupRemoteImage(imgID, registry string, token []string) bool {
rt := &http.Transport{Proxy: http.ProxyFromEnvironment}
req, err := r.reqFactory.NewRequest("GET", registry+"images/"+imgID+"/json", nil)
if err != nil {
return false
}
res, err := rt.RoundTrip(req)
req.Header.Set("Authorization", "Token "+strings.Join(token, ", "))
res, err := doWithCookies(r.client, req)
if err != nil {
return false
}
@ -214,6 +215,10 @@ func (r *Registry) GetRemoteImageLayer(imgID, registry string, token []string) (
if err != nil {
return nil, err
}
if res.StatusCode != 200 {
return nil, fmt.Errorf("Server error: Status %d while fetching image layer (%s)",
res.StatusCode, imgID)
}
return res.Body, nil
}