diff --git a/blob/gcsblob/gcsblob.go b/blob/gcsblob/gcsblob.go index 6204b2812a..ae711838ff 100644 --- a/blob/gcsblob/gcsblob.go +++ b/blob/gcsblob/gcsblob.go @@ -18,10 +18,7 @@ package gcsblob import ( "context" - "errors" "fmt" - "regexp" - "unicode/utf8" "github.com/google/go-cloud/blob" "github.com/google/go-cloud/blob/driver" @@ -34,9 +31,6 @@ import ( // OpenBucket returns a GCS Bucket that communicates using the given HTTP client. func OpenBucket(ctx context.Context, bucketName string, client *gcp.HTTPClient) (*blob.Bucket, error) { - if err := validateBucketChar(bucketName); err != nil { - return nil, err - } if client == nil { return nil, fmt.Errorf("NewBucket requires an HTTP client to communicate using") } @@ -89,9 +83,6 @@ func (b *bucket) NewRangeReader(ctx context.Context, key string, offset, length // // The caller must call Close on the returned Writer when done writing. func (b *bucket) NewTypedWriter(ctx context.Context, key string, contentType string, opts *driver.WriterOptions) (driver.Writer, error) { - if err := validateObjectChar(key); err != nil { - return nil, err - } bkt := b.client.Bucket(b.name) obj := bkt.Object(key) w := obj.NewWriter(ctx) @@ -116,33 +107,6 @@ func (b *bucket) Delete(ctx context.Context, key string) error { const namingRuleURL = "https://cloud.google.com/storage/docs/naming" -// validateBucketChar checks whether character set and length meet the general requirement -// of bucket naming rule. See https://cloud.google.com/storage/docs/naming for -// the full requirements and best practice. -func validateBucketChar(name string) error { - v := regexp.MustCompile(`^[a-z0-9][a-z0-9-_.]{1,220}[a-z0-9]$`) - if !v.MatchString(name) { - return fmt.Errorf("invalid bucket name, see %s for detailed requirements", namingRuleURL) - } - return nil -} - -// validateObjectChar checks whether name is a valid UTF-8 encoded string, and its -// length is between 1-1024 bytes. See https://cloud.google.com/storage/docs/naming -// for the full requirements and best practice. -func validateObjectChar(name string) error { - if name == "" { - return errors.New("object name is empty") - } - if !utf8.ValidString(name) { - return fmt.Errorf("object name is not valid UTF-8, see %s for detailed requirements", namingRuleURL) - } - if len(name) > 1024 { - return fmt.Errorf("object name is longer than 1024 bytes, see %s for detailed requirements", namingRuleURL) - } - return nil -} - func bufferSize(size int) int { if size == 0 { return googleapi.DefaultUploadChunkSize diff --git a/blob/gcsblob/gcsblob_test.go b/blob/gcsblob/gcsblob_test.go index b87236a00b..8d4eedbf47 100644 --- a/blob/gcsblob/gcsblob_test.go +++ b/blob/gcsblob/gcsblob_test.go @@ -16,63 +16,167 @@ package gcsblob import ( "context" + "flag" "fmt" + "io" "net/http" "strings" "testing" + "cloud.google.com/go/storage" + "github.com/dnaeon/go-vcr/recorder" "github.com/google/go-cloud/gcp" - + "github.com/google/go-cloud/internal/testing/replay" "google.golang.org/api/googleapi" + "google.golang.org/api/option" ) -func TestValidateBucketChar(t *testing.T) { - t.Parallel() +const bucketPrefix = "go-cloud" + +var projectID = flag.String("project", "", "GCP project ID (string, not project number) to run tests against") + +func TestNewBucketNaming(t *testing.T) { tests := []struct { - name string - valid bool + name, bucketName string + wantErr bool }{ - {"bucket-name", true}, - {"8ucket_nam3", true}, - {"bn", false}, - {"_bucketname_", false}, - {"bucketnameUpper", false}, - {"bucketname?invalidchar", false}, + { + name: "A good bucket name should pass", + bucketName: "bucket-name", + }, + { + name: "A name with leading digits should pass", + bucketName: "8ucket_nam3", + }, + { + name: "A name with a leading underscore should fail", + bucketName: "_bucketname_", + wantErr: true, + }, + { + name: "A name with an uppercase character should fail", + bucketName: "bucketnameUpper", + wantErr: true, + }, + { + name: "A name with an invalid character should fail", + bucketName: "bucketname?invalidchar", + wantErr: true, + }, + { + name: "A name that's too long should fail", + bucketName: strings.Repeat("a", 64), + wantErr: true, + }, } - for i, test := range tests { - err := validateBucketChar(test.name) - if test.valid && err != nil { - t.Errorf("%d) got %v, want nil", i, err) - } else if !test.valid && err == nil { - t.Errorf("%d) got nil, want invalid error", i) - } + ctx := context.Background() + gcsC, done, err := newGCSClient(ctx, t.Logf, "test-naming") + if err != nil { + t.Fatal(err) + } + defer done() + c, err := storage.NewClient(ctx, option.WithHTTPClient(&gcsC.Client)) + if err != nil { + t.Fatal(err) + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + b := c.Bucket(fmt.Sprintf("%s-%s", bucketPrefix, tc.bucketName)) + err = b.Create(ctx, *projectID, nil) + + switch { + case err != nil && !tc.wantErr: + t.Errorf("got %q; want nil", err) + case err == nil && tc.wantErr: + t.Errorf("got nil error; want error") + case !tc.wantErr: + _ = b.Delete(ctx) + } + }) } } -func TestValidateObjectChar(t *testing.T) { - t.Parallel() +func TestNewWriterObjectNaming(t *testing.T) { tests := []struct { - name string - valid bool + name, objName string + wantErr bool }{ - {"object-name", true}, - {"文件名", true}, - {"ファイル名", true}, - {"", false}, - {"\xF4\x90\x80\x80", false}, - {strings.Repeat("a", 1024), true}, - {strings.Repeat("a", 1025), false}, - {strings.Repeat("☺", 342), false}, + { + name: "An ASCII name should pass", + objName: "object-name", + }, + { + name: "A Unicode name should pass", + objName: "文件名", + }, + + { + name: "An empty name should fail", + wantErr: true, + }, + { + name: "A name of escaped chars should fail", + objName: "\xF4\x90\x80\x80", + wantErr: true, + }, + { + name: "A name of 1024 chars should succeed", + objName: strings.Repeat("a", 1024), + }, + { + name: "A name of 1025 chars should fail", + objName: strings.Repeat("a", 1025), + wantErr: true, + }, + { + name: "A long name of Unicode chars should fail", + objName: strings.Repeat("☺", 342), + wantErr: true, + }, } - for i, test := range tests { - err := validateObjectChar(test.name) - if test.valid && err != nil { - t.Errorf("%d) got %v, want nil", i, err) - } else if !test.valid && err == nil { - t.Errorf("%d) got nil, want invalid error", i) - } + ctx := context.Background() + gcsC, done, err := newGCSClient(ctx, t.Logf, "test-obj-naming") + if err != nil { + t.Fatal(err) + } + defer done() + c, err := storage.NewClient(ctx, option.WithHTTPClient(&gcsC.Client)) + if err != nil { + t.Fatal(err) + } + bkt := fmt.Sprintf("%s-%s", bucketPrefix, "test-obj-naming") + b := c.Bucket(bkt) + defer func() { _ = b.Delete(ctx) }() + _ = b.Create(ctx, *projectID, nil) + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + b, err := OpenBucket(ctx, bkt, gcsC) + if err != nil { + t.Fatal(err) + } + + w, err := b.NewWriter(ctx, tc.objName, nil) + if err != nil { + t.Fatal(err) + } + + _, err = io.WriteString(w, "foo") + if err != nil { + t.Fatal(err) + } + err = w.Close() + + switch { + case err != nil && !tc.wantErr: + t.Errorf("got %q; want nil", err) + case err == nil && tc.wantErr: + t.Errorf("got nil error; want error") + } + }) } } @@ -131,3 +235,29 @@ func TestHTTPClientOpt(t *testing.T) { t.Errorf("got %v; want %v", ts.called, "true") } } + +func newGCSClient(ctx context.Context, logf func(string, ...interface{}), filepath string) (*gcp.HTTPClient, func(), error) { + + mode := recorder.ModeRecording + if testing.Short() { + mode = recorder.ModeReplaying + } + r, done, err := replay.NewGCSRecorder(logf, mode, filepath) + if err != nil { + return nil, nil, err + } + + c := &gcp.HTTPClient{Client: http.Client{Transport: r}} + if mode == recorder.ModeRecording { + creds, err := gcp.DefaultCredentials(ctx) + if err != nil { + return nil, nil, err + } + c, err = gcp.NewHTTPClient(r, gcp.CredentialsTokenSource(creds)) + if err != nil { + return nil, nil, err + } + } + + return c, done, err +} diff --git a/blob/gcsblob/testdata/test-naming.yaml b/blob/gcsblob/testdata/test-naming.yaml new file mode 100644 index 0000000000..6176e81a1c --- /dev/null +++ b/blob/gcsblob/testdata/test-naming.yaml @@ -0,0 +1,305 @@ +--- +version: 1 +interactions: +- request: + body: | + {"name":"go-cloud-bucket-name"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: | + { + "kind": "storage#bucket", + "id": "go-cloud-bucket-name", + "projectNumber": "640193379878", + "name": "go-cloud-bucket-name", + "timeCreated": "2018-07-17T22:41:21.898Z", + "updated": "2018-07-17T22:41:21.898Z", + "metageneration": "1", + "location": "US", + "storageClass": "STANDARD", + "etag": "CAE=" + } + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "378" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:22 GMT + Etag: + - CAE= + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b/go-cloud-bucket-name?alt=json + method: DELETE + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "0" + Content-Type: + - application/json + Date: + - Tue, 17 Jul 2018 22:41:22 GMT + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 204 No Content + code: 204 + duration: "" +- request: + body: | + {"name":"go-cloud-8ucket_nam3"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: | + { + "kind": "storage#bucket", + "id": "go-cloud-8ucket_nam3", + "projectNumber": "640193379878", + "name": "go-cloud-8ucket_nam3", + "timeCreated": "2018-07-17T22:41:22.690Z", + "updated": "2018-07-17T22:41:22.690Z", + "metageneration": "1", + "location": "US", + "storageClass": "STANDARD", + "etag": "CAE=" + } + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "378" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:22 GMT + Etag: + - CAE= + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b/go-cloud-8ucket_nam3?alt=json + method: DELETE + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "0" + Content-Type: + - application/json + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 204 No Content + code: 204 + duration: "" +- request: + body: | + {"name":"go-cloud-_bucketname_"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "3198" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: | + {"name":"go-cloud-bucketnameUpper"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "3216" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: | + {"name":"go-cloud-bucketname?invalidchar"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "3258" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: | + {"name":"go-cloud-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "13512" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" diff --git a/blob/gcsblob/testdata/test-obj-naming.yaml b/blob/gcsblob/testdata/test-obj-naming.yaml new file mode 100644 index 0000000000..2762a2ab95 --- /dev/null +++ b/blob/gcsblob/testdata/test-obj-naming.yaml @@ -0,0 +1,332 @@ +--- +version: 1 +interactions: +- request: + body: | + {"name":"go-cloud-test-obj-naming"} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "12868" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:23 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 409 Conflict + code: 409 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\",\"name\":\"object-name\"}\n\nContent-Type: text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=29c97802f4a3a38c3024a2f94ad891024897abbf39d86ff370fa6b7e0604 + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: | + { + "kind": "storage#object", + "id": "go-cloud-test-obj-naming/object-name/1531867283905376", + "name": "object-name", + "bucket": "go-cloud-test-obj-naming", + "metageneration": "1", + "contentType": "text/plain; charset=utf-8", + "timeCreated": "2018-07-17T22:41:23.905Z", + "updated": "2018-07-17T22:41:23.905Z", + "storageClass": "STANDARD", + "timeStorageClassUpdated": "2018-07-17T22:41:23.905Z", + "size": "3", + "crc32c": "z8SuHQ==", + "etag": "COC2s6qap9wCEAE=" + } + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "3020" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Etag: + - COC2s6qap9wCEAE= + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 200 OK + code: 200 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\",\"name\":\"文件名\"}\n\nContent-Type: text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=ee30428dd489bebf190f116fe8b3106f5e9b1d4d5313102db6667dc9c280 + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: | + { + "kind": "storage#object", + "id": "go-cloud-test-obj-naming/文件名/1531867284126001", + "name": "文件名", + "bucket": "go-cloud-test-obj-naming", + "metageneration": "1", + "contentType": "text/plain; charset=utf-8", + "timeCreated": "2018-07-17T22:41:24.125Z", + "updated": "2018-07-17T22:41:24.125Z", + "storageClass": "STANDARD", + "timeStorageClassUpdated": "2018-07-17T22:41:24.125Z", + "size": "3", + "crc32c": "z8SuHQ==", + "etag": "CLHywKqap9wCEAE=" + } + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "3096" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Etag: + - CLHywKqap9wCEAE= + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 200 OK + code: 200 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\"}\n\nContent-Type: text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=5b8e111b6048e50c59af9321333724ea478e68fc14397c7d81513a975276 + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "2986" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\",\"name\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}\n\nContent-Type: + text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=d9bf94f2959acc832d258feebede6a1d05c38dc414c0dce658618df2cef7 + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: | + { + "kind": "storage#object", + "id": "go-cloud-test-obj-naming/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/1531867284523467", + "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "bucket": "go-cloud-test-obj-naming", + "metageneration": "1", + "contentType": "text/plain; charset=utf-8", + "timeCreated": "2018-07-17T22:41:24.523Z", + "updated": "2018-07-17T22:41:24.523Z", + "storageClass": "STANDARD", + "timeStorageClassUpdated": "2018-07-17T22:41:24.523Z", + "size": "3", + "crc32c": "z8SuHQ==", + "etag": "CMuT2aqap9wCEAE=" + } + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - "19228" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Etag: + - CMuT2aqap9wCEAE= + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 200 OK + code: 200 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\",\"name\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}\n\nContent-Type: + text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=998633caca4de0036018fffe81bac39542a7f4637f87e9944f4002f5cbba + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "4823" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: "\nContent-Type: application/json\r\n\r\n{\"bucket\":\"go-cloud-test-obj-naming\",\"contentType\":\"text/plain; + charset=utf-8\",\"name\":\"☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺\"}\n\nContent-Type: + text/plain; charset=utf-8\r\n\r\nfoo\r\n\n" + form: {} + headers: + Content-Type: + - multipart/related; boundary=5038ac2314e9bea10382f13b2bb37146a1571865f09e406656a6226def66 + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/upload/storage/v1/b/go-cloud-test-obj-naming/o?alt=json + method: POST + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Content-Length: + - "5594" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 400 Bad Request + code: 400 + duration: "" +- request: + body: "" + form: {} + headers: + User-Agent: + - google-api-go-client/0.5 + X-Goog-Api-Client: + - gl-go/1.10.3 gccl/20180226 + url: https://www.googleapis.com/storage/v1/b/go-cloud-test-obj-naming?alt=json + method: DELETE + response: + body: "" + headers: + Alt-Svc: + - quic=":443"; ma=2592000; v="44,43,39,35" + Cache-Control: + - private, max-age=0 + Content-Length: + - "12273" + Content-Type: + - application/json; charset=UTF-8 + Date: + - Tue, 17 Jul 2018 22:41:24 GMT + Expires: + - Tue, 17 Jul 2018 22:41:24 GMT + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: 409 Conflict + code: 409 + duration: "" diff --git a/blob/s3blob/testdata/test-close-without-write.yaml b/blob/s3blob/testdata/test-close-without-write.yaml index 21d6b9c365..7fb94eadcb 100644 --- a/blob/s3blob/testdata/test-close-without-write.yaml +++ b/blob/s3blob/testdata/test-close-without-write.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232941Z + - 20180717T205327Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Location: - http://go-cloud.test-close-without-write.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - fQ4+R9cVEmOyRzJZ1tQAq7VAD1e1xri/26m+VCXM51m+6ENyYsUdXUFMO/muvqgxqIjtPWzNC4Q= + - 5r3wxJeNRZertBiJ/L1wcFgCehdlO28abQnN7i9BQ3v2HKKLjGB3ja+JUDuEXOx6WfeqcOs9pE8= X-Amz-Request-Id: - - F10B3173451F22C3 + - AD07B7196B988365 status: 200 OK code: 200 duration: "" @@ -44,11 +44,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205327Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write/test_close_without_write @@ -59,15 +59,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Etag: - '"d41d8cd98f00b204e9800998ecf8427e"' Server: - AmazonS3 X-Amz-Id-2: - - hUHU6QkE0YA6u4pAQqk2RkTO3MqZo61esJNES1Pvsbc2zThonRbz5gadcAQVxDicmzBxmJmhv5A= + - MMKgNFuN6pjbcTZzwzktUQeQXuhqVYEhfyw8BplzdKIRQ092Btbsuj7wSUSk7JFeI+/7457ePTE= X-Amz-Request-Id: - - 4FBD2FAE9977D024 + - E60CD042CA522FC5 status: 200 OK code: 200 duration: "" @@ -76,11 +76,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205327Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write/test_close_without_write @@ -95,17 +95,17 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Etag: - '"d41d8cd98f00b204e9800998ecf8427e"' Last-Modified: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Server: - AmazonS3 X-Amz-Id-2: - - 2E4Q9JKyx6S9qjApCGxSkVG20FAZsZrLO1FCNHOICW3BPyTp7gRdBP/mR/0Qpnc6EoO5xFW4Qc0= + - E4fTRWmRfaHGWhkxX0MCw8bBSa5Y0NHSIV0fy/IQ+X8KJfVNF8kEfJQQZMpTODECQ2n1bsH6MW4= X-Amz-Request-Id: - - 33AD437FDC1A7E36 + - 68B80442A97377ED status: 200 OK code: 200 duration: "" @@ -114,11 +114,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205328Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write/test_close_without_write @@ -133,17 +133,17 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Etag: - '"d41d8cd98f00b204e9800998ecf8427e"' Last-Modified: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Server: - AmazonS3 X-Amz-Id-2: - - PP6yUEdQb9JLXUzf9xnGv1LAeDyj253p6AJ9ez75q29jh59t8jCrWt0Hhu3KqtHsvcH5duVCG/U= + - KsMkukukzPh3U/cBGrm9QKS5NRp2BIsTfiqhHW4zBTPUq8lUXhDraJQRuZEMb1CbaUKVsvWCRfs= X-Amz-Request-Id: - - F5CF0A9A0A105D1D + - 2AE10CBAD46E0095 status: 200 OK code: 200 duration: "" @@ -152,11 +152,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205328Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write/test_close_without_write @@ -165,13 +165,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Id-2: - - /ax0l8+e/rZd4KWYBq388FtQ38kNTdoG1Xt0zC6LN8WZJp/gU0RvO1OyHP31GipfTlRBULDuPJg= + - Mnwu27V3jlFu+vT1mxIEfMiMIC1uUC8ESyi4lRjKXcECYpULswJYvN5MdN2JjVbiQpdjA6BlBpc= X-Amz-Request-Id: - - 28A03C5465B73D6F + - 6F697DF9CAEEAAFF status: 204 No Content code: 204 duration: "" @@ -180,11 +180,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205328Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write @@ -197,15 +197,15 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - VSmezjWNV0bCNttNHhfxteok2WhCvM58aQ83LKIFe414EcDnbOnzje4R/GQnMzSsc/PuI+sY+Rc= + - UH0cRpp0SpjNrkCvAPMR7IutzHe5Hq3fO1VpjpqLEK3WyHWLhSu7FFO0SgCnOU6ixDiJOlc9pfw= X-Amz-Request-Id: - - D7E6CBCD9078A39F + - C889E02F45F3D1E9 status: 200 OK code: 200 duration: "" @@ -214,11 +214,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232942Z + - 20180717T205328Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write @@ -227,13 +227,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Id-2: - - KYNRElBtLggpgaNkkp79CAUPsUfYpKF4LEUfyteJ8FYzIiI3r/J3R2lqstY1msXoZ7au1YbuBVo= + - ps/l0t94WPDfeXqz2/adqfE315pSx0SlFnjPdcqA9MZ2/JUFNby5wfDKBNJO5P04gyB75fiuxuI= X-Amz-Request-Id: - - 5EEFB759E1D29764 + - 2C1F13300BDA1D3B status: 204 No Content code: 204 duration: "" @@ -242,11 +242,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232943Z + - 20180717T205328Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-close-without-write @@ -257,13 +257,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Server: - AmazonS3 X-Amz-Id-2: - - EKhwaisqGPJjzMEsvjGwRjzKpeMuGrUHzMmTgV1SW7HmQT2F/79dIILmBLLWjUc1AxGhLuU38Ak= + - 2eq4n4KJ8PyBJPjjB2G8JcpmMg23tCODoxkfxzdC2Owp7jbce4BvbzajSBMDNw6IR3au5tVVDOM= X-Amz-Request-Id: - - A5AB6B8EBFC295BC + - E715590B824D10B0 status: 404 Not Found code: 404 duration: "" diff --git a/blob/s3blob/testdata/test-delete.yaml b/blob/s3blob/testdata/test-delete.yaml index 8703e2b543..d08b45d611 100644 --- a/blob/s3blob/testdata/test-delete.yaml +++ b/blob/s3blob/testdata/test-delete.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232943Z + - 20180717T205328Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:44 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Location: - http://go-cloud.test-delete.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - 85nw27fGcyK8tAnFxLd9MiTR/XoO0pEwBxWLD24uc/1a9gIV8zbR2etMOsb/D2b2LW5VFpExpzc= + - MafB/eeoGkWTz8VrwRobfH9QDmGU+VVJokIoDwkff7th+ElQyneBPm7buAb/+qRumTuWJI5t0Wk= X-Amz-Request-Id: - - B872298167717328 + - E489F5DCA8C6DA92 status: 200 OK code: 200 duration: "" @@ -44,11 +44,11 @@ interactions: Content-Md5: - koF6//eO/KY9Eu7TKal/kQ== User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - f51e6e05f7a11f34b3c655e9888d6c1e857cf98519ee72144b83e04782f6d318 X-Amz-Date: - - 20180703T232943Z + - 20180717T205329Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete/test_delete @@ -59,15 +59,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:44 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Etag: - '"92817afff78efca63d12eed329a97f91"' Server: - AmazonS3 X-Amz-Id-2: - - 7vYvPUThkYku7zdYDOB8zliapt6okgTg+MSrxE8O5oxaIjg7sR81pYVNf/R6/LADNt6MzAYCtQc= + - hNNQoDC3q1p0FQeAUIdDzANZj3pYC2Z2LBeDWGPRQ4QeK2W8FHL2vvu5nksMl7wM0pcYR6fCDbM= X-Amz-Request-Id: - - FBA70F6E42F63D52 + - AC907F866087B588 status: 200 OK code: 200 duration: "" @@ -76,11 +76,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232943Z + - 20180717T205329Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete/test_delete @@ -95,17 +95,17 @@ interactions: Content-Type: - binary/octet-stream Date: - - Tue, 03 Jul 2018 23:29:44 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Etag: - '"92817afff78efca63d12eed329a97f91"' Last-Modified: - - Tue, 03 Jul 2018 23:29:44 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Server: - AmazonS3 X-Amz-Id-2: - - SbUqUTsvRPc6rh4hhYdb3R+rXvX2GozpPntd0TmnS3sWDhakAtLivTtiJcMtkmpZDq9/jNPdIcw= + - Mfv84cQ/q/gWGZLccoaZV2HI8WSNr0m6fZbqXfUPJGWFZiwQwjnwx+lA1AqaP7aUGIKFIxyJWuw= X-Amz-Request-Id: - - E33F70A2D23CAB70 + - 9D18D2583C2BC831 status: 200 OK code: 200 duration: "" @@ -114,11 +114,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232943Z + - 20180717T205329Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete/test_delete @@ -127,13 +127,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:44 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Server: - AmazonS3 X-Amz-Id-2: - - GPTROiA8F/Ik4gwWu/SeG55lOnNwM/1HZ8wcmCd3jug/NxiFDnkRrJqm5Iro0U121ZfZLwwgwwY= + - f7TdNefH+OLoeLsdrT+z0XOxL23aonK9uwVMBcWnUauX3m3vfmZ3vAp+TCxWiPWkokRYSCk/m3k= X-Amz-Request-Id: - - FC5C11F8ECAFC286 + - 97D8AB6A8850F40D status: 204 No Content code: 204 duration: "" @@ -142,11 +142,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232943Z + - 20180717T205329Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete/test_delete @@ -157,13 +157,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Id-2: - - zOQ/iwM2aNqiuM0vbFCOjeZLTKnYFt8jXOxcT0fD5SYTJYv+lT3XxlsCqpAgnk2cX/Nik4Wmba4= + - sK+xRjPIUtwYXJcl9EKdrkDoEAoZM9qNRxT0ZH2E0MJiCJn434vn+VBA4T/QvqjiQxywU+XX0HE= X-Amz-Request-Id: - - 77277A04BDD8FDB2 + - BAC8397822BD9EEA status: 404 Not Found code: 404 duration: "" @@ -172,11 +172,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232943Z + - 20180717T205329Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete/test_delete @@ -187,13 +187,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Id-2: - - 7dOXivjy/8U1Si20Wx8djssrm3OdlemRoYWpEjv269u56SeOJNIoNzseLxNdWII46lEWFQh9mro= + - TZg3LxEksu1XibJICjh2eQNTf8OURlh6oZoiRQyvWB6ctNDRBfNqcJfgDJO+m4taLoL3T2j4u4E= X-Amz-Request-Id: - - 12538C3CB7973A5B + - 0A184817791DB49F status: 404 Not Found code: 404 duration: "" @@ -202,11 +202,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232944Z + - 20180717T205329Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete @@ -219,15 +219,15 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:45 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - iVzvZ7C4xHZDMKtaAKAxoyLKsfoWvzAtU5HEFzFsaTnsl2AW4HsGmVPgeIFwxiG7rcYJ2w49OFM= + - 6ZEnSNf/riJwgpx8hMsQS5HJDwQVFAzejK0TKzj8TYROh0gzhF+jyXQvjjo4c+702xrC8j48V6g= X-Amz-Request-Id: - - E45EEB1B74A3463F + - 4151C80161E6F077 status: 200 OK code: 200 duration: "" @@ -236,11 +236,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232944Z + - 20180717T205329Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete @@ -249,13 +249,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:45 GMT + - Tue, 17 Jul 2018 20:53:30 GMT Server: - AmazonS3 X-Amz-Id-2: - - LcHD3+uLfiTneJyihjN7MjNM/VyYcf+1xYOaLyIYFzWFp+Y/sOVB1g+Llq0VuSlWbg0EGyRGpXk= + - 8zsUcJfLmh9uYU6LaBlnOjXvF7+ieZ1pV2W/YJ++0dnwwCklsZwuIh6EXg7gzvHI7HY4/nJRF7c= X-Amz-Request-Id: - - 72095FCA2E522743 + - CAB8E4CBFE93132B status: 204 No Content code: 204 duration: "" @@ -264,11 +264,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232944Z + - 20180717T205329Z X-Gocloud-Seq: - "8" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-delete @@ -279,13 +279,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:43 GMT + - Tue, 17 Jul 2018 20:53:29 GMT Server: - AmazonS3 X-Amz-Id-2: - - Fjx4kSMB7fWvOxo0/APZyc9WnnoWlfqRT6+pL3t4ajrjhhrlnfgCgcQ2cOA+FHcTBHffhL8nRMg= + - O/y7idwMAAT/a6vHmFX9+quD9Pp3s2ArpnmlgZEQhqdFlM3Nv85i/h+DIkuxZZ9Eli/HzTlU4pU= X-Amz-Request-Id: - - B0B6749B1B57D0F5 + - 62C570339AEC31BA status: 404 Not Found code: 404 duration: "" diff --git a/blob/s3blob/testdata/test-naming.yaml b/blob/s3blob/testdata/test-naming.yaml index 5ebe5fbbd1..75e8748a60 100644 --- a/blob/s3blob/testdata/test-naming.yaml +++ b/blob/s3blob/testdata/test-naming.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232932Z + - 20180717T205317Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.good-bucket @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:33 GMT + - Tue, 17 Jul 2018 20:53:19 GMT Location: - http://go-cloud.good-bucket.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - bWFzSjXLDsZtdEcr8AEOGIMoE44GMbbLODtSMBP+OzglQOiiHGPAvWGUQOmW8prbFZm5vWvh33U= + - HqtuYXucsTjmU1a3+P3EISblbuQcj7gHaevQr8+mCICoVND4Zl/tWo8qyrGIt6NRrdVSqSzsKvk= X-Amz-Request-Id: - - 2BA4BB1E7E9697A8 + - 193419D4AB2223B4 status: 200 OK code: 200 duration: "" @@ -40,11 +40,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232933Z + - 20180717T205318Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.good-bucket @@ -57,15 +57,15 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:19 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - 25xNnVsUvoS5xmRLiAMScEYyibMka4G666wAG8yN8swNGwpPA0AbrETk1H165uMt6XQXvm3w3aA= + - +eTUbrsC9OvxVn/MTIh7DMobtQEFaNMWY5oVEKF+IVGkKfbEoQQUCcmuhWK40smy7Jsric5CzDo= X-Amz-Request-Id: - - 3E864A3BA93BAE98 + - 2CD399785E4045DF status: 200 OK code: 200 duration: "" @@ -74,11 +74,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232933Z + - 20180717T205319Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.good-bucket @@ -87,13 +87,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Server: - AmazonS3 X-Amz-Id-2: - - M4KrJFwSjwr7WpUStIKg3L8FeI04UuAnZb5e6PeQVAGBZ7lh10rpBlvB7SYQ4/W8fS654druAPk= + - GXe4lRVKCX6WcNeKbJij4TzPRaXCM7Ayn9uVVGYdCnfSuEEVwQwZ3UeIhdkWaIx3ot783D9IbBw= X-Amz-Request-Id: - - DF7D612F048DDAB5 + - 7F21459BA90E442D status: 204 No Content code: 204 duration: "" @@ -102,11 +102,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232933Z + - 20180717T205319Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.good-bucket @@ -117,13 +117,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:33 GMT + - Tue, 17 Jul 2018 20:53:18 GMT Server: - AmazonS3 X-Amz-Id-2: - - /KIsXlPdW6G/ywmftZDGWP2CpyCz3hlKMW+gOqNiXhASzhZVrDYiUT/fnOX9wjuc3esMMYLylMQ= + - 6osAlDKlz19/BWHgcZKlvQ9Lehb6/4/UovAs9KaB+9QAl37W2Zar7ornqObbcWK2iAmLPn1uBDM= X-Amz-Request-Id: - - 1E6160CABD130966 + - F84DB6F9CCE9A9B2 status: 404 Not Found code: 404 duration: "" @@ -134,11 +134,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232933Z + - 20180717T205319Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.8ucket-nam3 @@ -149,15 +149,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Location: - http://go-cloud.8ucket-nam3.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - Y00Zca0G9Fe6wH/dOyiQh1uE8Za4JydRZiqo+zgCdL7z8dZSTVyXJtcaUQfJPexbdtuRDnKb+Tk= + - 19LaFfzlXFdTLhK7vFQHOxf8Wh+rsLCpeFKacjUbvisKLzpvmEs/XapTHvn8LaYpr5fc2YHr6tU= X-Amz-Request-Id: - - 4406EB58B3CEE486 + - 3C57D57CB650A89F status: 200 OK code: 200 duration: "" @@ -166,11 +166,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232934Z + - 20180717T205319Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.8ucket-nam3 @@ -183,15 +183,15 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:35 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - /9+2OQtbe5xdCsI2HzAAOuo7CaHVlL5EQCpj22bhB/idcWVpJA5g4eKdgMW7/oBwhg0wXHtKUWY= + - z4zeZvLYDqrLuiTdp7yVr2rmJdQZVt+1rehT9vUI45Y+32oNJE8EYJfYE0ulgIBmenmNU6+CpKQ= X-Amz-Request-Id: - - 2F1A7FDD0A7BA68E + - 180638F52BE03566 status: 200 OK code: 200 duration: "" @@ -200,11 +200,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232934Z + - 20180717T205319Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.8ucket-nam3 @@ -213,13 +213,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:35 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Server: - AmazonS3 X-Amz-Id-2: - - mdDNGnWTVqr12/It5X35b5OyBFzVF7BtXx56KT5MXE3F0BPJ7d6MckCIgK1s5jT3DsX1yzks4s4= + - MawtWlmDWqRn0r2gl+0HOCSfRDYXdozr0xXg6OfE/nfgrTai7KYVDR6JVB1K8S2fKlci6m9s5Xw= X-Amz-Request-Id: - - 770BBB09F88DA9E5 + - D2B3734ABC83652B status: 204 No Content code: 204 duration: "" @@ -228,11 +228,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232934Z + - 20180717T205320Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.8ucket-nam3 @@ -243,13 +243,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:33 GMT + - Tue, 17 Jul 2018 20:53:19 GMT Server: - AmazonS3 X-Amz-Id-2: - - 7myFn5Vd22Djs9PHHkqtV02fhKUi3/jZKU/MxZcR6ENJCZ8w82TiDi1JkVLxyQ3T+oXW7ekh/HY= + - XsHWvIIy9cVbmFvrqXUGgCFYbUWrMoURkogqZxwd3iRdKwpkxUnEdTdK0Yp5e6te5/3YTTAWNTA= X-Amz-Request-Id: - - 071CF5661464FD5B + - AD08654443A769E1 status: 404 Not Found code: 404 duration: "" @@ -260,11 +260,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232934Z + - 20180717T205320Z X-Gocloud-Seq: - "8" url: https://s3.us-east-2.amazonaws.com/go-cloud._bucketname_ @@ -272,18 +272,18 @@ interactions: response: body: |- - InvalidBucketNameThe specified bucket is not valid.go-cloud._bucketname_9A5EB1CB7B902703jS/ZQfHBEIVYgeZjv2OxFBD2iyKbO3Z1tgR9p2YjTpXkJhc9wZegrHbtYpyKA0NJS3Vhfp5a3YI= + InvalidBucketNameThe specified bucket is not valid.go-cloud._bucketname_99089B36F9D33029K8QSyUvn427Y0BHMqUKOT8DzMW3b+ciNvdK5O0eyFIKMjAJzw8h1FIx0xkoLP0RrDaylpfZZ7AY= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:19 GMT Server: - AmazonS3 X-Amz-Id-2: - - jS/ZQfHBEIVYgeZjv2OxFBD2iyKbO3Z1tgR9p2YjTpXkJhc9wZegrHbtYpyKA0NJS3Vhfp5a3YI= + - K8QSyUvn427Y0BHMqUKOT8DzMW3b+ciNvdK5O0eyFIKMjAJzw8h1FIx0xkoLP0RrDaylpfZZ7AY= X-Amz-Request-Id: - - 9A5EB1CB7B902703 + - 99089B36F9D33029 status: 400 Bad Request code: 400 duration: "" @@ -294,11 +294,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232934Z + - 20180717T205320Z X-Gocloud-Seq: - "9" url: https://s3.us-east-2.amazonaws.com/go-cloud.bucketnameUpper @@ -306,18 +306,18 @@ interactions: response: body: |- - InvalidBucketNameThe specified bucket is not valid.go-cloud.bucketnameUpperA4FEF2A050E820D5mIDGQj5EGqmics1n56yF2YNCF4sUb1Rg6uwjrk4svWJgzqx79iE5stKD4kINeflUy1Pp4QeLqwU= + InvalidBucketNameThe specified bucket is not valid.go-cloud.bucketnameUpper6AECCC3B8A11BF4AsgTFYywlfmKegPm0jRQLZCuZwWg5yqh3KVCvAlB9m6nylg6wthWw87SdEgDbWtXgRz5khwqjZ3I= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:19 GMT Server: - AmazonS3 X-Amz-Id-2: - - mIDGQj5EGqmics1n56yF2YNCF4sUb1Rg6uwjrk4svWJgzqx79iE5stKD4kINeflUy1Pp4QeLqwU= + - sgTFYywlfmKegPm0jRQLZCuZwWg5yqh3KVCvAlB9m6nylg6wthWw87SdEgDbWtXgRz5khwqjZ3I= X-Amz-Request-Id: - - A4FEF2A050E820D5 + - 6AECCC3B8A11BF4A status: 400 Bad Request code: 400 duration: "" @@ -328,11 +328,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232935Z + - 20180717T205320Z X-Gocloud-Seq: - "10" url: https://s3.us-east-2.amazonaws.com/go-cloud.bucketname%3Finvalidchar @@ -340,18 +340,18 @@ interactions: response: body: |- - InvalidBucketNameThe specified bucket is not valid.go-cloud.bucketname?invalidcharA9CA589A5E1E2A47hnoOaGXG2usSxbx+zK1Zz4B94m04tWWD4b79U8J5+G7Yp/2ZiPeZqKVV+HprX7VjRENjlhhQKAk= + InvalidBucketNameThe specified bucket is not valid.go-cloud.bucketname?invalidcharDA78F047DB4798F8aeup/GiRVFr3iroZFPskL37Hs6ULMQTKzZSoDyrdZ7x+YwD6koliqaamSO357Om5mMo2B3AFxcA= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:35 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Server: - AmazonS3 X-Amz-Id-2: - - hnoOaGXG2usSxbx+zK1Zz4B94m04tWWD4b79U8J5+G7Yp/2ZiPeZqKVV+HprX7VjRENjlhhQKAk= + - aeup/GiRVFr3iroZFPskL37Hs6ULMQTKzZSoDyrdZ7x+YwD6koliqaamSO357Om5mMo2B3AFxcA= X-Amz-Request-Id: - - A9CA589A5E1E2A47 + - DA78F047DB4798F8 status: 400 Bad Request code: 400 duration: "" @@ -362,11 +362,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232935Z + - 20180717T205321Z X-Gocloud-Seq: - "11" url: https://s3.us-east-2.amazonaws.com/go-cloud.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -374,18 +374,18 @@ interactions: response: body: |- - InvalidBucketNameThe specified bucket is not valid.go-cloud.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaD612AE2776975640FiXi71CaTWBcKMS7JxFfd3s1IjaKqwPbI8Qp5ZegEfaIYDMDxPdLRo0hvtP0GLaeBcEao9tvnTc= + InvalidBucketNameThe specified bucket is not valid.go-cloud.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaB392038B71987EA7VCqwB6adOExbD15orWSv6YvDFrIB++7Gw09wjDk8jq+ZFupvU3rb1Ib9ABrlECIYuP7QTZMOrBE= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:34 GMT + - Tue, 17 Jul 2018 20:53:20 GMT Server: - AmazonS3 X-Amz-Id-2: - - FiXi71CaTWBcKMS7JxFfd3s1IjaKqwPbI8Qp5ZegEfaIYDMDxPdLRo0hvtP0GLaeBcEao9tvnTc= + - VCqwB6adOExbD15orWSv6YvDFrIB++7Gw09wjDk8jq+ZFupvU3rb1Ib9ABrlECIYuP7QTZMOrBE= X-Amz-Request-Id: - - D612AE2776975640 + - B392038B71987EA7 status: 400 Bad Request code: 400 duration: "" diff --git a/blob/s3blob/testdata/test-obj-naming.yaml b/blob/s3blob/testdata/test-obj-naming.yaml index d6ee940b76..8fb79fa19c 100644 --- a/blob/s3blob/testdata/test-obj-naming.yaml +++ b/blob/s3blob/testdata/test-obj-naming.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232935Z + - 20180717T205321Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:36 GMT + - Tue, 17 Jul 2018 20:53:22 GMT Location: - http://go-cloud.test-obj-naming.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - mcStEVHCK5OrqZHPiHcIga9TQmJMCG5PW+brtoNVwVqcGvP93JV+7zDO1nzs/bz02mpzJT1BZXo= + - Aphd23ActOKv8U0iobKJk061itqpmLh56Hy99DYctqzBvMlvG/T5kPimagQ/GgdDqotY7jDIx3g= X-Amz-Request-Id: - - EB53855593EFBE53 + - FA0D5D5ACE4F74D8 status: 200 OK code: 200 duration: "" @@ -46,11 +46,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232936Z + - 20180717T205322Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/object-name @@ -61,15 +61,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:37 GMT + - Tue, 17 Jul 2018 20:53:23 GMT Etag: - '"acbd18db4cc2f85cedef654fccc4a4d8"' Server: - AmazonS3 X-Amz-Id-2: - - 3Tf+MY9hdbdQMRVAZznjEVgMYy5w3OGgZJzFQ01ahnTYkeqiks16dbJm65+CdE4sggXuMMHhGc8= + - akbuBj1zY6N+Bz3EKztHg57brtEEJfdRSYF9Z/BCg/oSA+FGRSHe1WfnQNqOak5VFQqrG97G6fw= X-Amz-Request-Id: - - 91671999047895C7 + - 2A506E1226687CB0 status: 200 OK code: 200 duration: "" @@ -84,11 +84,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232936Z + - 20180717T205322Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/%E6%96%87%E4%BB%B6%E5%90%8D @@ -99,15 +99,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:37 GMT + - Tue, 17 Jul 2018 20:53:23 GMT Etag: - '"acbd18db4cc2f85cedef654fccc4a4d8"' Server: - AmazonS3 X-Amz-Id-2: - - s2WK86rxZmoxkqWbgB7hF/4JGEXnPV4/XpfSwFqEJleu96SaMJ4jDNAXGeMj1wdki52nflMXwwo= + - WxpxnvOUgIwXZGWr/7iUaSTpQ2U/6RwwqfUwHGQz0p9CSgx4VYD4bBp1iCF1MIDy0aPh+g4tEJ4= X-Amz-Request-Id: - - 6EBF066A243C0D91 + - B26C73444F38AAC6 status: 200 OK code: 200 duration: "" @@ -122,11 +122,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232936Z + - 20180717T205322Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/%F4%90%80%80 @@ -134,18 +134,18 @@ interactions: response: body: |- - InvalidURICouldn't parse the specified URI./go-cloud.test-obj-naming/%F4%90%80%807BCFC34727EACF30y0dhUqonUZwOUH4LDpdqzizdpobq1UrHDJ/E67dlMmNxzn/R8ue5+yH7zcMPUcgJa34oCqc3Us0= + InvalidURICouldn't parse the specified URI./go-cloud.test-obj-naming/%F4%90%80%80CC714E07D83D820710H6RZ0qA8a9nEjrZuTV1hEMfEhevkF22XpCoh1/HkVaidokg0VxAAy3sTwXlIPSsnh3ZHzW4j8= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:36 GMT + - Tue, 17 Jul 2018 20:53:21 GMT Server: - AmazonS3 X-Amz-Id-2: - - y0dhUqonUZwOUH4LDpdqzizdpobq1UrHDJ/E67dlMmNxzn/R8ue5+yH7zcMPUcgJa34oCqc3Us0= + - 10H6RZ0qA8a9nEjrZuTV1hEMfEhevkF22XpCoh1/HkVaidokg0VxAAy3sTwXlIPSsnh3ZHzW4j8= X-Amz-Request-Id: - - 7BCFC34727EACF30 + - CC714E07D83D8207 status: 400 Bad Request code: 400 duration: "" @@ -160,11 +160,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232936Z + - 20180717T205322Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -175,15 +175,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:37 GMT + - Tue, 17 Jul 2018 20:53:23 GMT Etag: - '"acbd18db4cc2f85cedef654fccc4a4d8"' Server: - AmazonS3 X-Amz-Id-2: - - J6Ksd5AbQt2EUWiZi5Ldzw+UiYIttCeXUY3H2rISj2t7mQQssuv8b67SFmqiCyG9wh1F2fIIkQw= + - QCFHNH/H/Clu97+Gv4iAWfapulVBrttwmEKaVMziaMbnytKkx0YwVQwv3EYpCozsrwTL1kbWCGU= X-Amz-Request-Id: - - 3BC6B537474E8D79 + - 63C8711580730F9F status: 200 OK code: 200 duration: "" @@ -198,11 +198,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232936Z + - 20180717T205322Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -210,18 +210,18 @@ interactions: response: body: |- - KeyTooLongErrorYour key is too long102510240361388977C4A8CD+oTBJLL62TPc0hudBcbcMwVDmvZEXCXVGnUoigZdoDTKpI1tpZQrXp7RN+UOm8QR3ZB8E0YMEpk= + KeyTooLongErrorYour key is too long1025102483B2C3D27A4E5C68tDnSO4yz9z9J6qdBthcQA0yLKgE58/FztWuaNr2MKMBW64Jqo4Y2BwIHFBqr5uQrFpypR/busVA= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:36 GMT + - Tue, 17 Jul 2018 20:53:21 GMT Server: - AmazonS3 X-Amz-Id-2: - - +oTBJLL62TPc0hudBcbcMwVDmvZEXCXVGnUoigZdoDTKpI1tpZQrXp7RN+UOm8QR3ZB8E0YMEpk= + - tDnSO4yz9z9J6qdBthcQA0yLKgE58/FztWuaNr2MKMBW64Jqo4Y2BwIHFBqr5uQrFpypR/busVA= X-Amz-Request-Id: - - 0361388977C4A8CD + - 83B2C3D27A4E5C68 status: 400 Bad Request code: 400 duration: "" @@ -236,11 +236,11 @@ interactions: Content-Type: - text/plain; charset=utf-8 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae X-Amz-Date: - - 20180703T232937Z + - 20180717T205322Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming/%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA%E2%98%BA @@ -248,18 +248,18 @@ interactions: response: body: |- - KeyTooLongErrorYour key is too long1026102449963C4A56E0405CrxxoCJW6kAGtxWxGFJtpaSHOhDEGlWr4gXgOLhptka4UvV4DFl8V0m/8LZxR141sh3q2yqoOX+I= + KeyTooLongErrorYour key is too long1026102422AE9C1EEA7532DB1P+bY0snJE3rVlwYwVlVf0vQNIk5eZ3h6sdUpn9D64rSIaFx+/ekHMxOFMO8zeyijvAAdlnjri0= headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:36 GMT + - Tue, 17 Jul 2018 20:53:22 GMT Server: - AmazonS3 X-Amz-Id-2: - - rxxoCJW6kAGtxWxGFJtpaSHOhDEGlWr4gXgOLhptka4UvV4DFl8V0m/8LZxR141sh3q2yqoOX+I= + - 1P+bY0snJE3rVlwYwVlVf0vQNIk5eZ3h6sdUpn9D64rSIaFx+/ekHMxOFMO8zeyijvAAdlnjri0= X-Amz-Request-Id: - - 49963C4A56E0405C + - 22AE9C1EEA7532DB status: 400 Bad Request code: 400 duration: "" @@ -268,11 +268,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232937Z + - 20180717T205323Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming @@ -280,20 +280,20 @@ interactions: response: body: |- - go-cloud.test-obj-naming1000falseaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2018-07-03T23:29:37.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARDobject-name2018-07-03T23:29:37.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD文件名2018-07-03T23:29:37.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD + go-cloud.test-obj-naming1000falseaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2018-07-17T20:53:23.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARDobject-name2018-07-17T20:53:23.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD文件名2018-07-17T20:53:23.000Z"acbd18db4cc2f85cedef654fccc4a4d8"3e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:38 GMT + - Tue, 17 Jul 2018 20:53:24 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - ALykkhhF2AbFowe4zxRN+66BHM1YTQEz70vODenSBuoJVEbsJ0J3j4KV34bblXV3WApIpDErBRA= + - kTCMB72INKQ3i0W7aXxCSKtdorgGVqccA9onczeU2ZtckgZqYXv1l04y3koeaXZQgK2TBFvVdkk= X-Amz-Request-Id: - - AD14ED8129DE1B3B + - B3D73486A301D998 status: 200 OK code: 200 duration: "" @@ -306,11 +306,11 @@ interactions: Content-Md5: - F0sz+eF/qd1EJ7EVmq4nTA== User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 46e9002b8cd5cf43150ad26eee04978b9c612728ff32f1d690e6d7a15e89cbf1 X-Amz-Date: - - 20180703T232937Z + - 20180717T205323Z X-Gocloud-Seq: - "8" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming?delete= @@ -318,18 +318,18 @@ interactions: response: body: |- - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa文件名object-name + 文件名aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaobject-name headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:38 GMT + - Tue, 17 Jul 2018 20:53:24 GMT Server: - AmazonS3 X-Amz-Id-2: - - 3mMLa4qXPHtxy3cKrSRKysQdX6ZnC9ccDrndlmkkls2SkPjMTFzUEbzCF4Fci8dWgeh90rsRoWQ= + - F4VH4tj0y8BXh0OuxM8TDlMKigY1jq+BmXoGCGyVZ/pxB0ls1IEKSLyDxuN0Tj9uNMPYPgrYs3s= X-Amz-Request-Id: - - 7837DFAEFA0A1441 + - 901EB9B8C8739DBE status: 200 OK code: 200 duration: "" @@ -338,11 +338,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232937Z + - 20180717T205323Z X-Gocloud-Seq: - "9" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming @@ -351,13 +351,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:39 GMT + - Tue, 17 Jul 2018 20:53:24 GMT Server: - AmazonS3 X-Amz-Id-2: - - QCIa9yvtLeCQzdm8v8Toz25qVwJhnHxp30qnMez/00TOlHyYNnfoL+dN9y3a9kjdx9aWeTi5KyY= + - crXJDBmW2lzyHnPLgVLv0WU55Tos15fJGT3n5XyFeyqSNOWeO/0jbeUYF4IRl+yUcXUEdG8a9uE= X-Amz-Request-Id: - - B33D2E0E08C06520 + - 3E4BD833AA3E8284 status: 204 No Content code: 204 duration: "" @@ -366,11 +366,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232938Z + - 20180717T205324Z X-Gocloud-Seq: - "10" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-obj-naming @@ -381,13 +381,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:37 GMT + - Tue, 17 Jul 2018 20:53:23 GMT Server: - AmazonS3 X-Amz-Id-2: - - wwvLU+TxA46MU8xIUxujaNnuyAAHN2+el13gLULW3QtArVgkYCU8dQSnasx0z1Glf3JbKN7cKKU= + - 6wfMvmvBDsCks3k1pfCH+Q9QRuuI83glG6cPK1TNy8rcpDSWmsUdDPR2acyVW0J7B45WzeMjezw= X-Amz-Request-Id: - - 8F3B6992405CBC73 + - 6814DD772B5E5DC7 status: 404 Not Found code: 404 duration: "" diff --git a/blob/s3blob/testdata/test-read.yaml b/blob/s3blob/testdata/test-read.yaml index 0125db081a..b467ad0563 100644 --- a/blob/s3blob/testdata/test-read.yaml +++ b/blob/s3blob/testdata/test-read.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232938Z + - 20180717T205324Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:39 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Location: - http://go-cloud.test-read.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - vL7MbqlMIiJ2dP/joxRhRbeiraV1stQcE/gfcxETcJcz95QcjRdVKBDDGe2LEDALngJ8AppS7EU= + - qmco09dx5oBOC2J4Pl3+E86IcijI80i9Mr0Unijjng2ebluUSBPTHgQCskHHwMSvnWxg9A3bdhs= X-Amz-Request-Id: - - 5DC652FEF3D64A9A + - 5F0F4D94E324EBD8 status: 200 OK code: 200 duration: "" @@ -44,11 +44,11 @@ interactions: Content-Md5: - 5ujT6idN9WBkeGVd9yo9Fg== User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - c489c160c675493414c6e61af2b4d4c5e7c75dd35fdf73e7a16b5dccad1f129c X-Amz-Date: - - 20180703T232939Z + - 20180717T205324Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read/test_read @@ -59,15 +59,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Etag: - '"e6e8d3ea274df5606478655df72a3d16"' Server: - AmazonS3 X-Amz-Id-2: - - 5hMNKLQzULQNg/5HRqTT9uv7f1m9DTrs7R90J+t13NagoirFIUHd3AwkYwc34EnJ0R0EmzCsbng= + - 47pavgtTuNdZckozy1IZPXMkRi/3VFYLRXX7gLCik+aGvWftYUjA3YT4bZgBARa12UI6iV2te7s= X-Amz-Request-Id: - - AC7FE90AC87A0012 + - 42267D11AD54C4C0 status: 200 OK code: 200 duration: "" @@ -76,11 +76,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205324Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read/test_read @@ -95,17 +95,17 @@ interactions: Content-Type: - binary/octet-stream Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Etag: - '"e6e8d3ea274df5606478655df72a3d16"' Last-Modified: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Server: - AmazonS3 X-Amz-Id-2: - - JFABTi/+BA8pJz64bu2RxygZzx4AmMYmKLuzMIG2gcnjSoL05aUJHt6D2J/9AJnUOWQP6ma5fbE= + - /pqmcuzNlaHU1btrjy2i+ZuspzN7Nrn4ykVDocXWTLqJirmzq7ZMR6lVsVc2hNekYbB1F0KO34U= X-Amz-Request-Id: - - 54DF76DD3269D9A2 + - A9614285CC436D24 status: 200 OK code: 200 duration: "" @@ -116,11 +116,11 @@ interactions: Range: - bytes=10- User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205324Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read/test_read @@ -137,17 +137,17 @@ interactions: Content-Type: - binary/octet-stream Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Etag: - '"e6e8d3ea274df5606478655df72a3d16"' Last-Modified: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Server: - AmazonS3 X-Amz-Id-2: - - E5ClWHUyo7wZ2MiyPLXHs4WHZa72t8RYOdfoM3634Y84A0w2mArqgsK1YUp+sfDYDmRjxlpnhn4= + - CchfaSZCGBWklxJrSmUpyCYkjej5+HVpSD6XOghLi4fh4zIBSz8sHcg+gJ9k4rW73/sPmLqDqFM= X-Amz-Request-Id: - - B86D73C7793CA075 + - 6B0619385439D9FE status: 206 Partial Content code: 206 duration: "" @@ -158,11 +158,11 @@ interactions: Range: - bytes=10-14 User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205324Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read/test_read @@ -179,17 +179,17 @@ interactions: Content-Type: - binary/octet-stream Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Etag: - '"e6e8d3ea274df5606478655df72a3d16"' Last-Modified: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Server: - AmazonS3 X-Amz-Id-2: - - /ZpFs2/3aAUAz1+JXIkSQh2m54KU2emz3dDb+FihKznu7srpUYU514X0jNW3R6CujaC9P2KOsMo= + - tJvfoJkKcnWPQ11MQ6FwuXDIbW1T6LPGcq6N0Uug+objADhUkQtiuKVrX0bUihp/iL8EboupOWg= X-Amz-Request-Id: - - 0BCE6B5B4E8794FD + - 425C50F5CABA2EB3 status: 206 Partial Content code: 206 duration: "" @@ -198,11 +198,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205325Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read/test_read @@ -217,17 +217,17 @@ interactions: Content-Type: - binary/octet-stream Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Etag: - '"e6e8d3ea274df5606478655df72a3d16"' Last-Modified: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Server: - AmazonS3 X-Amz-Id-2: - - jsNV47XrXkKoXrUQOwSnP1U15+XJ2Ak0kEQoCCPLTUOyz0eqD9fBh5derYMq8HHy8zHdcmOe0PY= + - dTOoX/CksBLK/NU0bOzTwXJ1AnB+fDrek3OcbNAfCemSL1saXDqPoefcWYlD53MBqF1xvvCeiMI= X-Amz-Request-Id: - - 80043FFE67C6580C + - D54C06B46FF24960 status: 200 OK code: 200 duration: "" @@ -236,11 +236,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205325Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read @@ -248,20 +248,20 @@ interactions: response: body: |- - go-cloud.test-read1000falsetest_read2018-07-03T23:29:40.000Z"e6e8d3ea274df5606478655df72a3d16"23e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD + go-cloud.test-read1000falsetest_read2018-07-17T20:53:25.000Z"e6e8d3ea274df5606478655df72a3d16"23e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - R48+F+8oDUEOlaDRhixy0N+s0gejwztjWZeG3ZuFvJjCy77yzViYZ9zobYCkGk3vBgr6fYI6DXw= + - 0hGB1f1xszumlHK+R6u8BGN3HL/rdd8CBBYu5F6hZdKgJ1Xri/TLArj6+MPgx9ldvnEqmISmgw0= X-Amz-Request-Id: - - C699B5F085B37E29 + - C9341FA6AB392F67 status: 200 OK code: 200 duration: "" @@ -274,11 +274,11 @@ interactions: Content-Md5: - PD5EJIqWiR5ZbtOZo31YDw== User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 537f2e50460b59855faa0fc7af34bfd533f40e6b21c98ab314aaca3ec2adb6d5 X-Amz-Date: - - 20180703T232939Z + - 20180717T205325Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read?delete= @@ -291,13 +291,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Server: - AmazonS3 X-Amz-Id-2: - - L1q1rLkGu8WhHHgj1RtFFjyCp2MzKQopCTZeOAe0yyfo81xD2AkT+sro5x3GGU8InqYwy72/5Yc= + - TT8RSnfGN1ZOh4rYga4gSdvPa6dS/wfIwjp1wfl5LLy3g+WDroP5DslZahUS2etCm6gENIA6XIc= X-Amz-Request-Id: - - 8C67F45776D13B7A + - 47DC1F2C21AA7FE6 status: 200 OK code: 200 duration: "" @@ -306,11 +306,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232939Z + - 20180717T205325Z X-Gocloud-Seq: - "8" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read @@ -319,13 +319,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:40 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Server: - AmazonS3 X-Amz-Id-2: - - XuoE7jDfMf6DjiaNVxEI+QT7TsWFMKSWVuzZH9TnO6gAQz03MwG6B9Y/YPnLq1FlClPfqIhn+Yw= + - L1OX4B4wmoKTlr1i/DWNJTW+v1qGCQRMSlLd12RsCbLhXjerQGEl5XnnhWcmLAA7Os6d6x6CX00= X-Amz-Request-Id: - - 8E384D779EDC1D7D + - 267F6CBE4190AB48 status: 204 No Content code: 204 duration: "" @@ -334,11 +334,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232940Z + - 20180717T205325Z X-Gocloud-Seq: - "9" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-read @@ -349,13 +349,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:39 GMT + - Tue, 17 Jul 2018 20:53:25 GMT Server: - AmazonS3 X-Amz-Id-2: - - tSzdk7eFJazl/z1SZWKXoFbhTFGlWjlPlo75ubZd/C/+EgIyvwOl7XzK2VH/ak8CbVaTmkNRgVc= + - 4EIsYjy1xCP+5ZCy/TJOuelQWuk5MzzZ2UScwYDojKztUnH1NrBAbF3Ln8hPNjxUH3sB8lgBJ4k= X-Amz-Request-Id: - - 8ADDCE3BDC64EEE4 + - EC56132BA60FAA9F status: 404 Not Found code: 404 duration: "" diff --git a/blob/s3blob/testdata/test-write.yaml b/blob/s3blob/testdata/test-write.yaml index e30c3eb4ba..c90b006dcf 100644 --- a/blob/s3blob/testdata/test-write.yaml +++ b/blob/s3blob/testdata/test-write.yaml @@ -8,11 +8,11 @@ interactions: Content-Length: - "153" User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 70cae86320841ea73b0bdc759f99920c7caa405e61af2742575750c6586272c9 X-Amz-Date: - - 20180703T232940Z + - 20180717T205325Z X-Gocloud-Seq: - "0" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write @@ -23,15 +23,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Location: - http://go-cloud.test-write.s3.amazonaws.com/ Server: - AmazonS3 X-Amz-Id-2: - - BWf2E/ea9Ykih1nW6yI/BFqcQfc/hqSdssol/BF7/J7p7iPESMWf7WJ7wz3X8B4IBIOpgwQzNXk= + - 8zQIoScMXl/bPTXcgqf27hZjAiV7gDhcIhNeO0iEU2YhZk6x6FseoaAx3Zy0CH8vyb2ON/Ov+iw= X-Amz-Request-Id: - - 04D442B342235E24 + - 4185061F87B4CC17 status: 200 OK code: 200 duration: "" @@ -46,11 +46,11 @@ interactions: Content-Type: - text/html User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - dc84245fd67437c99c6698dba9b6f50cde26069c40575efdeb8103f83c7c56d6 X-Amz-Date: - - 20180703T232940Z + - 20180717T205326Z X-Gocloud-Seq: - "1" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write/write_html @@ -61,15 +61,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Etag: - '"e098d3c5ad8f5073da12c82746a74f24"' Server: - AmazonS3 X-Amz-Id-2: - - XKa3b5rEva8zkstcOcdQHtco0PIfJCg84bj05JGoYw1KN5nURn20EzWz1GckG3t8o+aHsNKdvTc= + - /Fb9tHodUun7KXUXV0Nu3ePPzZvlBew0szGYANT3UGL0bZONOG9gwtrtAcL8uQ6DoxGMghg0Ppc= X-Amz-Request-Id: - - 5178BDD09EB830A1 + - E328EF5631AE4EC7 status: 200 OK code: 200 duration: "" @@ -78,11 +78,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232940Z + - 20180717T205326Z X-Gocloud-Seq: - "2" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write/write_html @@ -97,17 +97,17 @@ interactions: Content-Type: - text/html Date: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Etag: - '"e098d3c5ad8f5073da12c82746a74f24"' Last-Modified: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Server: - AmazonS3 X-Amz-Id-2: - - PfDAsQFt62i+tC+NfdMDcFbq8lYdM+apV+a2LyNsrrbRycHJZmFNEpV4jiaSbdRtWamZxxRxEww= + - nBGLDGxqMueC8BVD0FCvojXtkCRACGavmg3KurrAMpiJA8MFxsAX4juf1Hcmlw2m63qgciVj5M8= X-Amz-Request-Id: - - F50771511C67C714 + - 36878623C91A9F6D status: 200 OK code: 200 duration: "" @@ -122,11 +122,11 @@ interactions: Content-Type: - application/json User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) S3Manager + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) S3Manager X-Amz-Content-Sha256: - 49968153c11ad3174ab70424297a4d3ca23c76ad124143cb1d6d5f4a67976608 X-Amz-Date: - - 20180703T232940Z + - 20180717T205326Z X-Gocloud-Seq: - "3" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write/write_json @@ -137,15 +137,15 @@ interactions: Content-Length: - "0" Date: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Etag: - '"877019722d16e9f4e244d39d9a7f350b"' Server: - AmazonS3 X-Amz-Id-2: - - PaHlHix8HqdyEjCIotKLlnWLrMxPOvXd8SF2c+JHQ+JmHOgN9NOGLdiIKMNWRA3McwgPD+0grOQ= + - USKebq7FEX2CO0CGpY2DaE6mTgR1xTDSa0CUpJ00qAn/DUeIZ87Icmn7y4T2hGFDoZMJQd1BEjQ= X-Amz-Request-Id: - - DB1468E4F587950C + - A6E07465F93D2417 status: 200 OK code: 200 duration: "" @@ -154,11 +154,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232941Z + - 20180717T205326Z X-Gocloud-Seq: - "4" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write/write_json @@ -173,17 +173,17 @@ interactions: Content-Type: - application/json Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Etag: - '"877019722d16e9f4e244d39d9a7f350b"' Last-Modified: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Server: - AmazonS3 X-Amz-Id-2: - - ej3p6bYUYNokF/HjhO8bTsHRR8w6h5/sjDfh3QRQJLJ0O81Ol7BktvzscndjrPyuYrZTG6C7dhM= + - uzPk4Gs8axY0NrrS979kNE1Bzxd2Q0bWyRrEoQBfcbIaNtlGq8C7B8bg3sYQszAUJi6fIP0LJtY= X-Amz-Request-Id: - - 11C5C2789AA39C3A + - CDB2E1D5AEA38DCB status: 200 OK code: 200 duration: "" @@ -192,11 +192,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232941Z + - 20180717T205326Z X-Gocloud-Seq: - "5" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write @@ -204,20 +204,20 @@ interactions: response: body: |- - go-cloud.test-write1000falsewrite_html2018-07-03T23:29:41.000Z"e098d3c5ad8f5073da12c82746a74f24"12e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARDwrite_json2018-07-03T23:29:41.000Z"877019722d16e9f4e244d39d9a7f350b"12e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD + go-cloud.test-write1000falsewrite_html2018-07-17T20:53:27.000Z"e098d3c5ad8f5073da12c82746a74f24"12e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARDwrite_json2018-07-17T20:53:27.000Z"877019722d16e9f4e244d39d9a7f350b"12e1f8084cdfae4a96c0ca8d343fe30bfc18997dd786ab0930b2492a01f5f85b3bSTANDARD headers: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Server: - AmazonS3 X-Amz-Bucket-Region: - us-east-2 X-Amz-Id-2: - - GXSg89GMYyv7wWVTRGMFQV1715jUTnVKXz3pMZAanBYhEEn7Qog4w3xD1mpDl7KnQHPW/b0Beuc= + - QnlUch07+L6pLlW9ffUFfmrxS2DOEV/HF1tcrdOaYYNBrnSaaRFa3gxuLTe8IKsA4jnJAna+yL0= X-Amz-Request-Id: - - 8316E26A38894DE1 + - 4934628F96C59027 status: 200 OK code: 200 duration: "" @@ -230,11 +230,11 @@ interactions: Content-Md5: - m0V+lYaor0ebExGvbmcPaA== User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - 4b6fec745395b4fc0d13686b8e01a6728c7ac0fc80fdeed5333f2d02f36a2e80 X-Amz-Date: - - 20180703T232941Z + - 20180717T205326Z X-Gocloud-Seq: - "6" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write?delete= @@ -247,13 +247,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:27 GMT Server: - AmazonS3 X-Amz-Id-2: - - NCH64uTxve5zLGaOmVkI5bBYhRQFa3jM6v7UHTJYBzfooKTAQFVhHxH3DE7e6Et0Zhcd7buvjLg= + - FJFgxnXjvHAcCnaX1k21QP33cxQRaVOeaFiced23nUn3QZJ5SyhOovYSA9qKgGgRb6zPNAyFiyU= X-Amz-Request-Id: - - B75F7EFCAA124A6A + - DA2ABAB060714FEB status: 200 OK code: 200 duration: "" @@ -262,11 +262,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232941Z + - 20180717T205326Z X-Gocloud-Seq: - "7" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write @@ -275,13 +275,13 @@ interactions: body: "" headers: Date: - - Tue, 03 Jul 2018 23:29:42 GMT + - Tue, 17 Jul 2018 20:53:28 GMT Server: - AmazonS3 X-Amz-Id-2: - - /EfSTsHfeH1c+Z9sXfo16SzeJpccMkSHlF1HwtoYxCuLCcqEKF2t9CsFCokHTcRYjLY76O8NGhk= + - dJeRaHQ6zeL+SJ0EmFtOF+yNsQgEelPipbxEYtDLFg84VQadFYLkBZsWVUqi2QzqsGaJxEGwP/o= X-Amz-Request-Id: - - 1E68929A22940814 + - C9DEE4A5AB9C2268 status: 204 No Content code: 204 duration: "" @@ -290,11 +290,11 @@ interactions: form: {} headers: User-Agent: - - aws-sdk-go/1.13.20 (go1.10.3; darwin; amd64) Waiter + - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) Waiter X-Amz-Content-Sha256: - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: - - 20180703T232941Z + - 20180717T205327Z X-Gocloud-Seq: - "8" url: https://s3.us-east-2.amazonaws.com/go-cloud.test-write @@ -305,13 +305,13 @@ interactions: Content-Type: - application/xml Date: - - Tue, 03 Jul 2018 23:29:41 GMT + - Tue, 17 Jul 2018 20:53:26 GMT Server: - AmazonS3 X-Amz-Id-2: - - RiPVJmIayI46Ww+DXB5ETW3/g8p51W/7KxU5934EgQWU4C93q9ku6Rd4Od0sPwPSPbfV+oJ1Dwk= + - uCahNDPk/9M+1aQ5+GVT5ZCnT+VDuw/l2pMgl47wmGJhyS2xR+AamiZq4qnFfIGixmlmU6QQaoA= X-Amz-Request-Id: - - 15841672DD0B7116 + - B6516A4F20B5C601 status: 404 Not Found code: 404 duration: "" diff --git a/go.mod b/go.mod index 4793ce9f9b..c277a73808 100644 --- a/go.mod +++ b/go.mod @@ -17,42 +17,43 @@ module github.com/google/go-cloud replace cloud.google.com/go => cloud.google.com/go v0.0.0-20180608230132-da2b80561ef3 require ( - cloud.google.com/go v0.23.0 + cloud.google.com/go v0.25.0 contrib.go.opencensus.io/exporter/stackdriver v0.0.0-20180421005815-665cf5131b71 github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20180321230639-1e456b1c68cb github.com/aws/aws-sdk-go v1.13.20 - github.com/aws/aws-xray-sdk-go v1.0.0-rc.5 // indirect + github.com/aws/aws-xray-sdk-go v1.0.0-rc.5 github.com/census-ecosystem/opencensus-go-exporter-aws v0.0.0-20180411051634-41633bc1ff6b - github.com/davecgh/go-spew v1.1.0 // indirect github.com/dnaeon/go-vcr v0.0.0-20180504081357-f8a7e8b9c630 github.com/fsnotify/fsnotify v1.4.7 - github.com/go-ini/ini v1.37.0 // indirect + github.com/go-ini/ini v1.37.0 github.com/go-sql-driver/mysql v0.0.0-20180308100310-1a676ac6e4dc - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b github.com/golang/protobuf v1.1.0 github.com/google/go-cmp v0.2.0 - github.com/googleapis/gax-go v1.0.0 // indirect - github.com/gopherjs/gopherjs v0.0.0-20180424202546-8dffc02ea1cb // indirect - github.com/gorilla/context v1.1.1 // indirect + github.com/googleapis/gax-go v1.0.0 + github.com/gopherjs/gopherjs v0.0.0-20180424202546-8dffc02ea1cb + github.com/gorilla/context v1.1.1 github.com/gorilla/mux v1.6.1 - github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af // indirect - github.com/jtolds/gls v0.0.0-20170503224851-77f18212c9c7 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/smartystreets/assertions v0.0.0-20180301161246-7678a5452ebe // indirect - github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a // indirect - github.com/smartystreets/gunit v0.0.0-20180314194857-6f0d6275bdcd // indirect - github.com/stretchr/testify v1.2.1 // indirect + github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af + github.com/jtolds/gls v0.0.0-20170503224851-77f18212c9c7 + github.com/smartystreets/assertions v0.0.0-20180301161246-7678a5452ebe + github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a + github.com/smartystreets/gunit v0.0.0-20180314194857-6f0d6275bdcd + github.com/stretchr/testify v1.2.1 + github.com/tidwall/gjson v1.1.2 + github.com/tidwall/match v0.0.0-20171002075945-1731857f09b1 + github.com/tidwall/sjson v1.0.0 go.opencensus.io v0.12.0 golang.org/x/net v0.0.0-20180702212446-ed29d75add3d golang.org/x/oauth2 v0.0.0-20180603041954-1e0a3fa8ba9a golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f // indirect - golang.org/x/sys v0.0.0-20180329131831-378d26f46672 // indirect + golang.org/x/sys v0.0.0-20180329131831-378d26f46672 golang.org/x/text v0.3.0 // indirect golang.org/x/tools v0.0.0-20180314180217-d853e8088c62 google.golang.org/api v0.0.0-20180606215403-8e9de5a6de6d - google.golang.org/appengine v1.1.0 // indirect + google.golang.org/appengine v1.1.0 google.golang.org/genproto v0.0.0-20180627194029-ff3583edef7d google.golang.org/grpc v1.13.0 - gopkg.in/ini.v1 v1.37.0 // indirect + gopkg.in/ini.v1 v1.37.0 gopkg.in/yaml.v2 v2.2.1 // indirect ) diff --git a/go.sum b/go.sum index 466412d6ef..3d16fa1229 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ cloud.google.com/go v0.0.0-20180608230132-da2b80561ef3 h1:QJr3IGTxuO1LmZCE815pJK cloud.google.com/go v0.0.0-20180608230132-da2b80561ef3/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.24.0 h1:dXbX9JusOVTZ7hxXPTN2SMJzIzO/IT8kbnWlXiSrDRI= cloud.google.com/go v0.24.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.25.0 h1:6vD6xZTc8Jo6To8gHxFDRVsMvWFDgY3rugNszcDalN8= +cloud.google.com/go v0.25.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= contrib.go.opencensus.io/exporter/stackdriver v0.0.0-20180421005815-665cf5131b71 h1:/Q5os0lx9Ia5bNqQ1lO+jZV9gVFYEbDZ77a0seit0fc= contrib.go.opencensus.io/exporter/stackdriver v0.0.0-20180421005815-665cf5131b71/go.mod h1:QeFzMJDAw8TXt5+aRaSuE8l5BwaMIOIlaVkBOPRuMuw= github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20180321230639-1e456b1c68cb h1:p5Uq1pkf0drOTEMpDFbbcGeFrQXvNAKTSLZtL/5GCO8= @@ -50,6 +52,9 @@ github.com/smartystreets/gunit v0.0.0-20180314194857-6f0d6275bdcd h1:p5kvxG4NHog github.com/smartystreets/gunit v0.0.0-20180314194857-6f0d6275bdcd/go.mod h1:XUKj4gbqj2QvJk/OdLWzyZ3FYli0f+MdpngyryX0gcw= github.com/stretchr/testify v1.2.1 h1:52QO5WkIUcHGIR7EnGagH88x1bUzqGXTC5/1bDTUQ7U= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/tidwall/gjson v1.1.2/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA= +github.com/tidwall/match v0.0.0-20171002075945-1731857f09b1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= +github.com/tidwall/sjson v1.0.0/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= go.opencensus.io v0.12.0 h1:b4qzedsGI32kquU8ld+R0Wo3Rkk5BYtTk0NJCWlrS5I= go.opencensus.io v0.12.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= golang.org/x/net v0.0.0-20180702212446-ed29d75add3d h1:B2RL9y12DFXBWEdHqZW1ts6ymJLN0FdBwL2mOY5zbCs= @@ -74,6 +79,7 @@ google.golang.org/grpc v1.13.0 h1:bHIbVsCwmvbArgCJmLdgOdHFXlKqTOVjbibbS19cXHc= google.golang.org/grpc v1.13.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/ini.v1 v1.37.0 h1:Jg0A8mA6eCo6oGRA5ZgEwO9u/DIdlWMxyMzad9tN/rI= gopkg.in/ini.v1 v1.37.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= diff --git a/internal/testing/replay/replay.go b/internal/testing/replay/replay.go index 56b8544c2b..77afcafdf3 100644 --- a/internal/testing/replay/replay.go +++ b/internal/testing/replay/replay.go @@ -23,11 +23,13 @@ import ( "path/filepath" "regexp" "strconv" + "strings" "cloud.google.com/go/rpcreplay" "github.com/dnaeon/go-vcr/cassette" "github.com/dnaeon/go-vcr/recorder" "github.com/golang/protobuf/proto" + "github.com/tidwall/sjson" "google.golang.org/grpc" ) @@ -50,9 +52,7 @@ func NewAWSRecorder(logf func(string, ...interface{}), mode recorder.Mode, filen } // Use a custom matcher as the default matcher looks for URLs and methods, - // which Amazon overloads as it isn't RESTful. - // Sequencing is added to the requests when the cassette is saved, which - // allows for differentiating GETs which otherwise look identical. + // AWS inspects the bodies as well. last := -1 r.SetMatcher(func(r *http.Request, i cassette.Request) bool { var b bytes.Buffer @@ -73,7 +73,7 @@ func NewAWSRecorder(logf func(string, ...interface{}), mode recorder.Mode, filen logf("Targets: %v | %v == %v\n", r.Header.Get("X-Amz-Target"), i.Headers.Get("X-Amz-Target"), r.Header.Get("X-Amz-Target") == i.Headers.Get("X-Amz-Target")) logf("URLs: %v | %v == %v\n", r.URL.String(), i.URL, r.URL.String() == i.URL) logf("Methods: %v | %v == %v\n", r.Method, i.Method, r.Method == i.Method) - logf("Bodies:\n%v\n%v\n==%v\n", b.String(), i.Body, b.String() == i.Body) + logf("Bodies:\n%v\n~~~~~~~~~~~\n%v\n==%v\n", b.String(), i.Body, b.String() == i.Body) logf("Sequences: %v | %v == %v\n", seq, last, seq > last) if r.Header.Get("X-Amz-Target") == i.Headers.Get("X-Amz-Target") && @@ -90,7 +90,9 @@ func NewAWSRecorder(logf func(string, ...interface{}), mode recorder.Mode, filen return false }) return r, func() { - r.Stop() + if err := r.Stop(); err != nil { + fmt.Println(err) + } if mode != recorder.ModeRecording { return } @@ -115,22 +117,11 @@ func scrubAWSHeaders(filepath string) error { action.Request.Headers.Set("X-Gocloud-Seq", strconv.Itoa(i)) action.Request.Headers.Del("Authorization") action.Response.Headers.Del("X-Amzn-Requestid") - action.Response.Body = removeJSONString(action.Response.Body, "LastModifiedUser") + // Ignore an error if LastModifiedUser isn't deleted, it's not really important. + action.Response.Body, _ = sjson.Delete(action.Response.Body, "LastModifiedUser") } c.Mu.Unlock() - c.Save() - - return nil -} - -// removeJSONString removes a stringed value from a JSON string. -// This is very dodgy and doesn't work if the value has a " in it, -// or if the key is the last in the list, or probably other things -// too. If the case isn't tested, it probably doesn't work. -// json.Decoder.Token could be used to make this way better. -func removeJSONString(s, key string) string { - re := regexp.MustCompile(`(?U)\"` + key + `\":\".*\",`) - return re.ReplaceAllString(s, "") + return c.Save() } // NewGCPDialOptions return grpc.DialOptions that are to be appended to a GRPC dial request. @@ -175,3 +166,109 @@ func NewGCPDialOptions(logf func(string, ...interface{}), mode recorder.Mode, fi return opts, done, nil } + +func NewGCSRecorder(logf func(string, ...interface{}), mode recorder.Mode, filename string) (r *recorder.Recorder, done func(), err error) { + path := filepath.Join("testdata", filename) + logf("Golden file is at %v", path) + + if mode == recorder.ModeRecording { + logf("Recording into golden file") + } else { + logf("Replaying from golden file") + } + + r, err = recorder.NewAsMode(path, mode, nil) + if err != nil { + return nil, nil, err + } + + // Use a custom matcher as the default matcher looks for URLs and methods. + // GCS inspects the bodies as well. + r.SetMatcher(func(r *http.Request, i cassette.Request) bool { + var b bytes.Buffer + if r.Body != nil { + if _, err := b.ReadFrom(r.Body); err != nil { + logf(err.Error()) + return false + } + } + r.Body = ioutil.NopCloser(&b) + body := scrubGCSIDs(b.String()) //scrubGCSResponse(b.String()) + url := scrubGCSURL(r.URL.String()) + + logf("URLs: %v | %v == %v\n", url, i.URL, url == i.URL) + logf("Methods: %v | %v == %v\n", r.Method, i.Method, r.Method == i.Method) + logf("Bodies:\n%v\n~~~~~~~~~~\n%v\n==%v\n", body, i.Body, body == i.Body) + + if url == i.URL && + r.Method == i.Method && + body == i.Body { + logf("Returning header match") + return true + } + + logf("No match, continuing...") + return false + }) + + return r, func() { + if err := r.Stop(); err != nil { + fmt.Println(err) + } + if mode != recorder.ModeRecording { + return + } + if err := scrubGCS(path); err != nil { + fmt.Println(err) + } + }, nil +} + +func scrubGCSURL(url string) string { + return strings.Split(url, "&")[0] +} + +func scrubGCSIDs(body string) string { + re := regexp.MustCompile(`(?m)^\s*--.*$`) + return re.ReplaceAllString(body, "") +} + +func scrubGCSResponse(body string) string { + if strings.Contains(body, `"debugInfo"`) { + return "" + } + + for _, v := range []string{"selfLink", "md5Hash", "generation", "acl", "mediaLink", "owner"} { + // Ignore errors, as they'll contain issues like the key not existing, which is fine. + // This is a best effort scrub and the golden files should be code reviewed + // anyway. + body, _ = sjson.Delete(body, v) + } + + return body +} + +// scrubGCS scrubs both the headers and body for sensitive information, and massages the +// GCS request/response bodies to remove unique identifiers that prevent body matching. +func scrubGCS(filepath string) error { + c, err := cassette.Load(filepath) + if err != nil { + return fmt.Errorf("unable to load golden file, do not commit to repository: %v", err) + } + + c.Mu.Lock() + for _, action := range c.Interactions { + action.Request.URL = scrubGCSURL(action.Request.URL) + action.Request.Headers.Del("Authorization") + action.Request.Body = scrubGCSIDs(action.Request.Body) + action.Response.Body = scrubGCSResponse(action.Response.Body) + + for header, _ := range action.Response.Headers { + if strings.HasPrefix(header, "X-Google") || strings.HasPrefix(header, "X-Guploader") { + action.Response.Headers.Del(header) + } + } + } + c.Mu.Unlock() + return c.Save() +} diff --git a/internal/testing/replay/replay_test.go b/internal/testing/replay/replay_test.go deleted file mode 100644 index d2614e2118..0000000000 --- a/internal/testing/replay/replay_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package replay - -import ( - "testing" -) - -func TestJSONScrub(t *testing.T) { - const key = "LastModifiedUser" - var tests = []struct { - body, want string - }{ - { - body: `'{"Parameters":[{"LastModifiedDate":1.529008678885E9,"LastModifiedUser":"arn:aws:iam::1234:user/TESTUSER","Name":"test","Policies":[],"Type":"String","Version":1}]}'`, - want: `'{"Parameters":[{"LastModifiedDate":1.529008678885E9,"Name":"test","Policies":[],"Type":"String","Version":1}]}'`, - }, - { - body: `'{"Parameters":[{"LastModifiedDate":1.529008678885E9,"LastModified":"arn:aws:iam::1234:user/TESTUSER","Name":"test","Policies":[],"Type":"String","Version":1}]}'`, - want: `'{"Parameters":[{"LastModifiedDate":1.529008678885E9,"LastModified":"arn:aws:iam::1234:user/TESTUSER","Name":"test","Policies":[],"Type":"String","Version":1}]}'`, - }, - { - body: "", - want: "", - }, - { - body: "picard", - want: "picard", - }, - { - body: "picardLastModifiedUser:riker", - want: "picardLastModifiedUser:riker", - }, - } - - for _, tc := range tests { - t.Run("", func(t *testing.T) { - if got := removeJSONString(tc.body, key); got != tc.want { - t.Errorf("got %v; want %v", got, tc.want) - } - }) - } -} diff --git a/runtimevar/paramstore/testdata/decoder.yaml b/runtimevar/paramstore/testdata/decoder.yaml index 3b30de8a4f..764fe65477 100644 --- a/runtimevar/paramstore/testdata/decoder.yaml +++ b/runtimevar/paramstore/testdata/decoder.yaml @@ -14,7 +14,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -27,7 +27,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -42,7 +42,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -57,7 +57,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -72,7 +72,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -80,12 +80,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122233073E9,"Name":"test-json-decode","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861793137E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-json-decode","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -100,7 +100,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -113,7 +113,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -129,7 +129,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -142,7 +142,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -157,7 +157,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -171,7 +171,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:53 GMT status: 200 OK code: 200 duration: "" @@ -186,7 +186,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -194,12 +194,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122233618E9,"Name":"test-bad-json-decode","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861793674E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-bad-json-decode","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:53 GMT status: 200 OK code: 200 duration: "" @@ -214,7 +214,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175713Z + - 20180717T210953Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -227,7 +227,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:13 GMT + - Tue, 17 Jul 2018 21:09:53 GMT status: 200 OK code: 200 duration: "" diff --git a/runtimevar/paramstore/testdata/watch_change.yaml b/runtimevar/paramstore/testdata/watch_change.yaml index f8d3f62c5a..652604f0a8 100644 --- a/runtimevar/paramstore/testdata/watch_change.yaml +++ b/runtimevar/paramstore/testdata/watch_change.yaml @@ -12,7 +12,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -25,7 +25,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -40,7 +40,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -53,7 +53,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -68,7 +68,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -76,12 +76,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122232137E9,"Name":"test-watch-observes-change","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861792249E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-watch-observes-change","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -96,7 +96,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -109,7 +109,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -124,7 +124,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -137,7 +137,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -152,7 +152,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -160,12 +160,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122232496E9,"Name":"test-watch-observes-change","Policies":[],"Type":"String","Version":2}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861792605E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-watch-observes-change","Policies":[],"Type":"String","Version":2}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" @@ -180,7 +180,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175712Z + - 20180717T210952Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -193,7 +193,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:12 GMT + - Tue, 17 Jul 2018 21:09:52 GMT status: 200 OK code: 200 duration: "" diff --git a/runtimevar/paramstore/testdata/watch_initial.yaml b/runtimevar/paramstore/testdata/watch_initial.yaml index 688f5948f9..2133beddc0 100644 --- a/runtimevar/paramstore/testdata/watch_initial.yaml +++ b/runtimevar/paramstore/testdata/watch_initial.yaml @@ -12,7 +12,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175710Z + - 20180717T210950Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -25,7 +25,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:10 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 200 OK code: 200 duration: "" @@ -40,7 +40,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -53,7 +53,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:10 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 200 OK code: 200 duration: "" @@ -68,7 +68,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -76,12 +76,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122230966E9,"Name":"test-watch-initial","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861791054E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-watch-initial","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 200 OK code: 200 duration: "" @@ -96,7 +96,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -109,7 +109,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 200 OK code: 200 duration: "" @@ -124,7 +124,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -137,7 +137,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 200 OK code: 200 duration: "" @@ -152,7 +152,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -165,7 +165,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -180,7 +180,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -193,7 +193,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" @@ -208,7 +208,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175711Z + - 20180717T210951Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -221,7 +221,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:11 GMT + - Tue, 17 Jul 2018 21:09:51 GMT status: 200 OK code: 200 duration: "" diff --git a/runtimevar/paramstore/testdata/write_read_delete.yaml b/runtimevar/paramstore/testdata/write_read_delete.yaml index 8b1f064d2d..82bf07d149 100644 --- a/runtimevar/paramstore/testdata/write_read_delete.yaml +++ b/runtimevar/paramstore/testdata/write_read_delete.yaml @@ -13,7 +13,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175707Z + - 20180717T210947Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -26,7 +26,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 200 OK code: 200 duration: "" @@ -41,7 +41,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175708Z + - 20180717T210948Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -55,7 +55,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 200 OK code: 200 duration: "" @@ -70,7 +70,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175708Z + - 20180717T210948Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -78,12 +78,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122228284E9,"Name":"test-good-param","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861788509E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-good-param","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 200 OK code: 200 duration: "" @@ -98,7 +98,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175708Z + - 20180717T210948Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -111,7 +111,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 200 OK code: 200 duration: "" @@ -126,7 +126,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175708Z + - 20180717T210948Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -142,7 +142,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 400 Bad Request code: 400 duration: "" @@ -162,7 +162,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175708Z + - 20180717T210949Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -178,7 +178,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:08 GMT + - Tue, 17 Jul 2018 21:09:48 GMT status: 400 Bad Request code: 400 duration: "" @@ -248,7 +248,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175709Z + - 20180717T210949Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -261,7 +261,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:09 GMT + - Tue, 17 Jul 2018 21:09:49 GMT status: 200 OK code: 200 duration: "" @@ -276,7 +276,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175709Z + - 20180717T210949Z X-Amz-Target: - AmazonSSM.GetParameter X-Gocloud-Seq: @@ -344,7 +344,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:09 GMT + - Tue, 17 Jul 2018 21:09:49 GMT status: 200 OK code: 200 duration: "" @@ -359,7 +359,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175709Z + - 20180717T210949Z X-Amz-Target: - AmazonSSM.DescribeParameters X-Gocloud-Seq: @@ -367,12 +367,12 @@ interactions: url: https://ssm.us-east-2.amazonaws.com/ method: POST response: - body: '{"Parameters":[{"LastModifiedDate":1.530122229499E9,"Name":"test-good-size-value","Policies":[],"Type":"String","Version":1}]}' + body: '{"Parameters":[{"LastModifiedDate":1.531861789716E9,"LastModifiedUser":"arn:aws:iam::462380225722:user/cflewis","Name":"test-good-size-value","Policies":[],"Type":"String","Version":1}]}' headers: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:09 GMT + - Tue, 17 Jul 2018 21:09:49 GMT status: 200 OK code: 200 duration: "" @@ -387,7 +387,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175709Z + - 20180717T210950Z X-Amz-Target: - AmazonSSM.DeleteParameter X-Gocloud-Seq: @@ -400,7 +400,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:09 GMT + - Tue, 17 Jul 2018 21:09:49 GMT status: 200 OK code: 200 duration: "" @@ -2072,7 +2072,7 @@ interactions: User-Agent: - aws-sdk-go/1.13.20 (go1.10.3; linux; amd64) X-Amz-Date: - - 20180627T175709Z + - 20180717T210950Z X-Amz-Target: - AmazonSSM.PutParameter X-Gocloud-Seq: @@ -3744,7 +3744,7 @@ interactions: Content-Type: - application/x-amz-json-1.1 Date: - - Wed, 27 Jun 2018 17:57:10 GMT + - Tue, 17 Jul 2018 21:09:50 GMT status: 400 Bad Request code: 400 duration: ""