func main() { if version == "" { version = "dev" } var input concourse.CheckRequest logFile, err := ioutil.TempFile("", "pivnet-check.log") if err != nil { log.Printf("could not create log file") } logger := log.New(logFile, "", log.LstdFlags) logger.Printf("PivNet Resource version: %s", version) err = json.NewDecoder(os.Stdin).Decode(&input) if err != nil { log.Fatalf("Exiting with error: %s", err) } sanitized := concourse.SanitizedSource(input.Source) logger.SetOutput(sanitizer.NewSanitizer(sanitized, logFile)) verbose := false ls := logshim.NewLogShim(logger, logger, verbose) err = validator.NewCheckValidator(input).Validate() if err != nil { log.Fatalf("Exiting with error: %s", err) } var endpoint string if input.Source.Endpoint != "" { endpoint = input.Source.Endpoint } else { endpoint = pivnet.DefaultHost } clientConfig := pivnet.ClientConfig{ Host: endpoint, Token: input.Source.APIToken, UserAgent: useragent.UserAgent(version, "check", input.Source.ProductSlug), } client := gp.NewClient( clientConfig, ls, ) f := filter.NewFilter(ls) semverConverter := semver.NewSemverConverter(ls) s := sorter.NewSorter(ls, semverConverter) response, err := check.NewCheckCommand( ls, version, f, client, s, logFile.Name(), ).Run(input) if err != nil { log.Fatalf("Exiting with error: %s", err) } err = json.NewEncoder(os.Stdout).Encode(response) if err != nil { log.Fatalf("Exiting with error: %s", err) } }
Expect(err).NotTo(HaveOccurred()) }) JustBeforeEach(func() { fakePivnetClient.ReleaseTypesReturns(releaseTypes, releaseTypesErr) fakePivnetClient.ReleasesForProductSlugReturns(allReleases, releasesErr) fakeFilter.ReleasesByReleaseTypeReturns(filteredReleases, releasesByReleaseTypeErr) fakeFilter.ReleasesByVersionReturns(filteredReleases, releasesByVersionErr) binaryVersion := "v0.1.2-unit-tests" checkCommand = check.NewCheckCommand( fakeLogger, binaryVersion, fakeFilter, fakePivnetClient, fakeSorter, logFilePath, ) }) AfterEach(func() { err := os.RemoveAll(tempDir) Expect(err).NotTo(HaveOccurred()) }) It("returns the most recent version without error", func() { response, err := checkCommand.Run(checkRequest) Expect(err).NotTo(HaveOccurred()) expectedVersionWithFingerprint := versionsWithFingerprints[0]