[ARVADOS] updated: 1.3.0-2556-g4411f0b4e

Git user git at public.arvados.org
Thu May 14 20:12:13 UTC 2020


Summary of changes:
 services/keepstore/s3_volume_test.go | 47 ++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

       via  4411f0b4e2a81f09d0ff6ff3f5e23cac5414236a (commit)
      from  9f37e0dd819730350a82c229c12e7856c325212e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 4411f0b4e2a81f09d0ff6ff3f5e23cac5414236a
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Thu May 14 16:11:42 2020 -0400

    16312: Test V2Signature config.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/services/keepstore/s3_volume_test.go b/services/keepstore/s3_volume_test.go
index 5c642a942..2736f00b7 100644
--- a/services/keepstore/s3_volume_test.go
+++ b/services/keepstore/s3_volume_test.go
@@ -101,6 +101,53 @@ func (s *StubbedS3Suite) TestIndex(c *check.C) {
 	}
 }
 
+func (s *StubbedS3Suite) TestSignatureVersion(c *check.C) {
+	var header http.Header
+	stub := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		header = r.Header
+	}))
+	defer stub.Close()
+
+	// Default V4 signature
+	vol := S3Volume{
+		S3VolumeDriverParameters: arvados.S3VolumeDriverParameters{
+			AccessKey: "xxx",
+			SecretKey: "xxx",
+			Endpoint:  stub.URL,
+			Region:    "test-region-1",
+			Bucket:    "test-bucket-name",
+		},
+		cluster: s.cluster,
+		logger:  ctxlog.TestLogger(c),
+		metrics: newVolumeMetricsVecs(prometheus.NewRegistry()),
+	}
+	err := vol.check()
+	c.Check(err, check.IsNil)
+	err = vol.Put(context.Background(), "acbd18db4cc2f85cedef654fccc4a4d8", []byte("foo"))
+	c.Check(err, check.IsNil)
+	c.Check(header.Get("Authorization"), check.Matches, `AWS4-HMAC-SHA256 .*`)
+
+	// Force V2 signature
+	vol = S3Volume{
+		S3VolumeDriverParameters: arvados.S3VolumeDriverParameters{
+			AccessKey:   "xxx",
+			SecretKey:   "xxx",
+			Endpoint:    stub.URL,
+			Region:      "test-region-1",
+			Bucket:      "test-bucket-name",
+			V2Signature: true,
+		},
+		cluster: s.cluster,
+		logger:  ctxlog.TestLogger(c),
+		metrics: newVolumeMetricsVecs(prometheus.NewRegistry()),
+	}
+	err = vol.check()
+	c.Check(err, check.IsNil)
+	err = vol.Put(context.Background(), "acbd18db4cc2f85cedef654fccc4a4d8", []byte("foo"))
+	c.Check(err, check.IsNil)
+	c.Check(header.Get("Authorization"), check.Matches, `AWS xxx:.*`)
+}
+
 func (s *StubbedS3Suite) TestIAMRoleCredentials(c *check.C) {
 	s.metadata = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 		upd := time.Now().UTC().Add(-time.Hour).Format(time.RFC3339)

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list