remove redundant context and ignore coverage output

pull/674/head
Simon Aronsson 4 years ago
parent 75c62a90e4
commit 870f49bdc9
No known key found for this signature in database
GPG Key ID: 8DA57A5FD341605B

1
.gitignore vendored

@ -5,3 +5,4 @@ dist
.idea
.DS_Store
/site
coverage.out

@ -294,7 +294,7 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e
log.WithFields(fields).Debugf("Checking if pull is needed")
if match, err := digest.CompareDigest(ctx, container, opts.RegistryAuth); err != nil {
if match, err := digest.CompareDigest(container, opts.RegistryAuth); err != nil {
log.Info("Could not do a head request, falling back to regulara pull.")
log.Debugf("Reason: %s", err.Error())
} else if match {

@ -1,7 +1,6 @@
package auth
import (
"context"
"encoding/json"
"errors"
"fmt"
@ -11,7 +10,7 @@ import (
"github.com/sirupsen/logrus"
"io/ioutil"
"net/http"
url2 "net/url"
"net/url"
"strings"
)
@ -19,17 +18,17 @@ import (
const ChallengeHeader = "WWW-Authenticate"
// GetToken fetches a token for the registry hosting the provided image
func GetToken(ctx context.Context, container types.Container, registryAuth string) (string, error) {
func GetToken(container types.Container, registryAuth string) (string, error) {
var err error
var URL url.URL
var url url2.URL
if url, err = GetChallengeURL(container.ImageName()); err != nil {
if URL, err = GetChallengeURL(container.ImageName()); err != nil {
return "", err
}
logrus.WithField("url", url.String()).Debug("Building challenge URL")
logrus.WithField("URL", URL.String()).Debug("Building challenge URL")
var req *http.Request
if req, err = GetChallengeRequest(url); err != nil {
if req, err = GetChallengeRequest(URL); err != nil {
return "", err
}
@ -55,15 +54,15 @@ func GetToken(ctx context.Context, container types.Container, registryAuth strin
return fmt.Sprintf("Basic %s", registryAuth), nil
}
if strings.HasPrefix(challenge, "bearer") {
return GetBearerHeader(ctx, challenge, container.ImageName(), err, registryAuth)
return GetBearerHeader(challenge, container.ImageName(), err, registryAuth)
}
return "", errors.New("unsupported challenge type from registry")
}
// GetChallengeRequest creates a request for getting challenge instructions
func GetChallengeRequest(url url2.URL) (*http.Request, error) {
req, err := http.NewRequest("GET", url.String(), nil)
func GetChallengeRequest(URL url.URL) (*http.Request, error) {
req, err := http.NewRequest("GET", URL.String(), nil)
if err != nil {
return nil, err
}
@ -73,7 +72,7 @@ func GetChallengeRequest(url url2.URL) (*http.Request, error) {
}
// GetBearerHeader tries to fetch a bearer token from the registry based on the challenge instructions
func GetBearerHeader(ctx context.Context, challenge string, img string, err error, registryAuth string) (string, error) {
func GetBearerHeader(challenge string, img string, err error, registryAuth string) (string, error) {
client := http.Client{}
if strings.Contains(img, ":") {
img = strings.Split(img, ":")[0]
@ -113,7 +112,7 @@ func GetBearerHeader(ctx context.Context, challenge string, img string, err erro
}
// GetAuthURL from the instructions in the challenge
func GetAuthURL(challenge string, img string) (*url2.URL, error) {
func GetAuthURL(challenge string, img string) (*url.URL, error) {
loweredChallenge := strings.ToLower(challenge)
raw := strings.TrimPrefix(loweredChallenge, "bearer")
@ -136,7 +135,7 @@ func GetAuthURL(challenge string, img string) (*url2.URL, error) {
return nil, fmt.Errorf("challenge header did not include all values needed to construct an auth url")
}
authURL, _ := url2.Parse(fmt.Sprintf("%s", values["realm"]))
authURL, _ := url.Parse(fmt.Sprintf("%s", values["realm"]))
q := authURL.Query()
q.Add("service", values["service"])
scopeImage := strings.TrimPrefix(img, values["service"])
@ -152,18 +151,18 @@ func GetAuthURL(challenge string, img string) (*url2.URL, error) {
}
// GetChallengeURL creates a URL object based on the image info
func GetChallengeURL(img string) (url2.URL, error) {
func GetChallengeURL(img string) (url.URL, error) {
normalizedNamed, _ := reference.ParseNormalizedNamed(img)
host, err := helpers.NormalizeRegistry(normalizedNamed.String())
if err != nil {
return url2.URL{}, err
return url.URL{}, err
}
url := url2.URL{
URL := url.URL{
Scheme: "https",
Host: host,
Path: "/v2/",
}
return url, nil
return URL, nil
}

@ -1,7 +1,6 @@
package auth_test
import (
"context"
"fmt"
"github.com/containrrr/watchtower/internal/actions/mocks"
"github.com/containrrr/watchtower/pkg/registry/auth"
@ -56,7 +55,7 @@ var _ = Describe("the auth module", func() {
It("should parse the token from the response",
SkipIfCredentialsEmpty(GHCRCredentials, func() {
creds := fmt.Sprintf("%s:%s", GHCRCredentials.Username, GHCRCredentials.Password)
token, err := auth.GetToken(context.Background(), mockContainer, creds)
token, err := auth.GetToken(mockContainer, creds)
Expect(err).NotTo(HaveOccurred())
Expect(token).NotTo(Equal(""))
}),

@ -1,7 +1,6 @@
package digest
import (
"context"
"crypto/tls"
"encoding/base64"
"encoding/json"
@ -19,11 +18,11 @@ import (
const ContentDigestHeader = "Docker-Content-Digest"
// CompareDigest ...
func CompareDigest(ctx context.Context, container types.Container, registryAuth string) (bool, error) {
func CompareDigest(container types.Container, registryAuth string) (bool, error) {
var digest string
registryAuth = TransformAuth(registryAuth)
token, err := auth.GetToken(ctx, container, registryAuth)
token, err := auth.GetToken(container, registryAuth)
if err != nil {
return false, err
}

@ -1,7 +1,6 @@
package digest_test
import (
"context"
"fmt"
"github.com/containrrr/watchtower/internal/actions/mocks"
"github.com/containrrr/watchtower/pkg/registry/digest"
@ -60,7 +59,7 @@ var _ = Describe("Digests", func() {
It("should return true if digests match",
SkipIfCredentialsEmpty(GHCRCredentials, func() {
creds := fmt.Sprintf("%s:%s", GHCRCredentials.Username, GHCRCredentials.Password)
matches, err := digest.CompareDigest(context.Background(), mockContainer, creds)
matches, err := digest.CompareDigest(mockContainer, creds)
Expect(err).NotTo(HaveOccurred())
Expect(matches).To(Equal(true))
}),

Loading…
Cancel
Save