| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package resource_test
- import (
- "encoding/json"
- "os"
- "testing"
- "github.com/google/go-containerregistry/pkg/name"
- "github.com/google/go-containerregistry/pkg/v1/remote"
- . "github.com/onsi/ginkgo"
- . "github.com/onsi/gomega"
- "github.com/onsi/gomega/gexec"
- )
- var bins struct {
- In string `json:"in"`
- Out string `json:"out"`
- Check string `json:"check"`
- }
- var _ = SynchronizedBeforeSuite(func() []byte {
- var err error
- b := bins
- if _, err := os.Stat("/opt/resource/in"); err == nil {
- b.In = "/opt/resource/in"
- } else {
- b.In, err = gexec.Build("github.com/concourse/registry-image-resource/cmd/in")
- Expect(err).ToNot(HaveOccurred())
- }
- if _, err := os.Stat("/opt/resource/out"); err == nil {
- b.Out = "/opt/resource/out"
- } else {
- b.Out, err = gexec.Build("github.com/concourse/registry-image-resource/cmd/out")
- Expect(err).ToNot(HaveOccurred())
- }
- if _, err := os.Stat("/opt/resource/check"); err == nil {
- b.Check = "/opt/resource/check"
- } else {
- b.Check, err = gexec.Build("github.com/concourse/registry-image-resource/cmd/check")
- Expect(err).ToNot(HaveOccurred())
- }
- j, err := json.Marshal(b)
- Expect(err).ToNot(HaveOccurred())
- return j
- }, func(bp []byte) {
- err := json.Unmarshal(bp, &bins)
- Expect(err).ToNot(HaveOccurred())
- })
- var _ = AfterSuite(func() {
- gexec.CleanupBuildArtifacts()
- })
- func TestRegistryImageResource(t *testing.T) {
- RegisterFailHandler(Fail)
- RunSpecs(t, "RegistryImageResource Suite")
- }
- func latestDigest(ref string) string {
- n, err := name.ParseReference(ref, name.WeakValidation)
- Expect(err).ToNot(HaveOccurred())
- image, err := remote.Image(n)
- Expect(err).ToNot(HaveOccurred())
- digest, err := image.Digest()
- Expect(err).ToNot(HaveOccurred())
- return digest.String()
- }
|