(t *testing.T, size string, uploadCutoff string, chunkSize string)
| 201 | } |
| 202 | |
| 203 | func (f *Fs) internalTestMetadata(t *testing.T, size string, uploadCutoff string, chunkSize string) { |
| 204 | what := fmt.Sprintf("Size%s/UploadCutoff%s/ChunkSize%s", size, uploadCutoff, chunkSize) |
| 205 | t.Run(what, func(t *testing.T) { |
| 206 | ctx := context.Background() |
| 207 | |
| 208 | ss := fs.SizeSuffix(0) |
| 209 | err := ss.Set(size) |
| 210 | require.NoError(t, err) |
| 211 | original := random.String(int(ss)) |
| 212 | |
| 213 | contents := fstest.Gz(t, original) |
| 214 | mimeType := "text/html" |
| 215 | |
| 216 | if chunkSize != "" { |
| 217 | ss := fs.SizeSuffix(0) |
| 218 | err := ss.Set(chunkSize) |
| 219 | require.NoError(t, err) |
| 220 | _, err = f.SetUploadChunkSize(ss) |
| 221 | require.NoError(t, err) |
| 222 | } |
| 223 | |
| 224 | if uploadCutoff != "" { |
| 225 | ss := fs.SizeSuffix(0) |
| 226 | err := ss.Set(uploadCutoff) |
| 227 | require.NoError(t, err) |
| 228 | _, err = f.SetUploadCutoff(ss) |
| 229 | require.NoError(t, err) |
| 230 | } |
| 231 | |
| 232 | item := fstest.NewItem("test-metadata", contents, fstest.Time("2001-05-06T04:05:06.499Z")) |
| 233 | btime := time.Now() |
| 234 | metadata := fs.Metadata{ |
| 235 | // Just mtime for now - limit to milliseconds since x-bz-info-src_last_modified_millis can't support any |
| 236 | |
| 237 | "mtime": "2009-05-06T04:05:06.499Z", |
| 238 | } |
| 239 | |
| 240 | // Need to specify HTTP options with the header prefix since they are passed as-is |
| 241 | options := []fs.OpenOption{ |
| 242 | &fs.HTTPOption{Key: "X-Bz-Info-a", Value: "1"}, |
| 243 | &fs.HTTPOption{Key: "X-Bz-Info-b", Value: "2"}, |
| 244 | } |
| 245 | |
| 246 | obj := fstests.PutTestContentsMetadata(ctx, t, f, &item, true, contents, true, mimeType, metadata, options...) |
| 247 | defer func() { |
| 248 | assert.NoError(t, obj.Remove(ctx)) |
| 249 | }() |
| 250 | o := obj.(*Object) |
| 251 | gotMetadata, err := o.getMetaData(ctx) |
| 252 | require.NoError(t, err) |
| 253 | |
| 254 | // X-Bz-Info-a & X-Bz-Info-b |
| 255 | optMetadata := OpenOptionToMetaData(options) |
| 256 | for k, v := range optMetadata { |
| 257 | got := gotMetadata.Info[k] |
| 258 | assert.Equal(t, v, got, k) |
| 259 | } |
| 260 |
no test coverage detected