func ReadSignature(c *cli.Context) { sigEncoded := c.String("signature") metaEncoded := c.String("metadata") if sigEncoded == "" || metaEncoded == "" { cli.ShowCommandHelp(c, "read") os.Exit(1) } crypto, err := common.CreateCrypto(c) if err != nil { os.Exit(1) } signature, err := route_service.SignatureFromHeaders(sigEncoded, metaEncoded, crypto) if err != nil { fmt.Printf("Failed to read signature: %s\n", err.Error()) os.Exit(1) } printSignature(signature) }
crypto.EncryptReturns([]byte{}, []byte{}, errors.New("No entropy")) }) It("returns an error", func() { _, _, err := route_service.BuildSignatureAndMetadata(crypto, signature) Expect(err).To(HaveOccurred()) }) }) }) Describe("Parse signature from headers", func() { var ( signatureHeader string metadataHeader string ) BeforeEach(func() { var err error signatureHeader, metadataHeader, err = route_service.BuildSignatureAndMetadata(crypto, signature) Expect(err).ToNot(HaveOccurred()) }) It("parses signature from signature and metadata headers", func() { decryptedSignature, err := route_service.SignatureFromHeaders(signatureHeader, metadataHeader, crypto) Expect(err).ToNot(HaveOccurred()) Expect(signature.RequestedTime.Sub(decryptedSignature.RequestedTime)).To(Equal(time.Duration(0))) }) }) })