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) } }
productSlug string ) BeforeEach(func() { apiToken = "some-api-token" productSlug = "some-productSlug" }) JustBeforeEach(func() { checkRequest = concourse.CheckRequest{ Source: concourse.Source{ APIToken: apiToken, ProductSlug: productSlug, }, } v = validator.NewCheckValidator(checkRequest) }) It("returns without error", func() { err := v.Validate() Expect(err).NotTo(HaveOccurred()) }) Context("when no api token is provided", func() { BeforeEach(func() { apiToken = "" }) It("returns an error", func() { err := v.Validate() Expect(err).To(HaveOccurred())