MCPcopy
hub / github.com/rclone/rclone / internalTestMetadata

Method internalTestMetadata

backend/b2/b2_internal_test.go:203–293  ·  view source on GitHub ↗
(t *testing.T, size string, uploadCutoff string, chunkSize string)

Source from the content-addressed store, hash-verified

201}
202
203func (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

Callers 1

InternalTestMetadataMethod · 0.95

Calls 15

SetUploadChunkSizeMethod · 0.95
SetUploadCutoffMethod · 0.95
UnmarshalJSONMethod · 0.95
SizeSuffixTypeAlias · 0.92
StringFunction · 0.92
GzFunction · 0.92
NewItemFunction · 0.92
TimeFunction · 0.92
PutTestContentsMetadataFunction · 0.92
DebugfFunction · 0.92
ReadObjectFunction · 0.92
OpenOptionToMetaDataFunction · 0.85

Tested by

no test coverage detected