summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go')
-rw-r--r--vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go b/vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go
new file mode 100644
index 000000000..63744d1cb
--- /dev/null
+++ b/vendor/github.com/goamz/goamz/cloudfront/cloudfront_test.go
@@ -0,0 +1,52 @@
+package cloudfront
+
+import (
+ "crypto/x509"
+ "encoding/pem"
+ "io/ioutil"
+ "net/url"
+ "testing"
+ "time"
+)
+
+func TestSignedCannedURL(t *testing.T) {
+ rawKey, err := ioutil.ReadFile("testdata/key.pem")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ pemKey, _ := pem.Decode(rawKey)
+ privateKey, err := x509.ParsePKCS1PrivateKey(pemKey.Bytes)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ cf := &CloudFront{
+ key: privateKey,
+ keyPairId: "test-key-pair-1231245",
+ BaseURL: "https://cloudfront.com",
+ }
+
+ expireTime, err := time.Parse(time.RFC3339, "2014-03-28T14:00:21Z")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ query := make(url.Values)
+ query.Add("test", "value")
+
+ uri, err := cf.CannedSignedURL("test", "test=value", expireTime)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ parsed, err := url.Parse(uri)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ signature := parsed.Query().Get("Signature")
+ if signature == "" {
+ t.Fatal("Encoded signature is empty")
+ }
+}