MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestDoNotWriteBodyBackOnImport

Function TestDoNotWriteBodyBackOnImport

rest/importtest/import_test.go:2430–2473  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2428}
2429
2430func TestDoNotWriteBodyBackOnImport(t *testing.T) {
2431 base.SkipImportTestsIfNotEnabled(t)
2432 base.SetUpTestLogging(t, base.LevelDebug, base.KeyHTTP, base.KeyCRUD, base.KeyImport)
2433
2434 rt := rest.NewRestTester(t, &rest.RestTesterConfig{
2435 AutoImport: base.Ptr(true),
2436 })
2437 defer rt.Close()
2438
2439 docID := t.Name()
2440
2441 collection, _ := rt.GetSingleTestDatabaseCollectionWithUser()
2442 ds := collection.GetCollectionDatastore()
2443
2444 preImportDocBytes := rt.GetDatabase().DbStats.Database().DocWritesBytes.Value()
2445 preImportDocXattrBytes := rt.GetDatabase().DbStats.Database().DocWritesXattrBytes.Value()
2446
2447 body := []byte(`{"test":"doc"}`)
2448 _, err := ds.WriteCas(docID, 0, 0, body, 0)
2449 require.NoError(t, err)
2450
2451 base.RequireWaitForStat(t, func() int64 {
2452 return rt.GetDatabase().DbStats.SharedBucketImportStats.ImportCount.Value()
2453 }, 1)
2454
2455 // ensure bytes for doc bodies is unchanged
2456 newDocBytes := rt.GetDatabase().DbStats.Database().DocWritesBytes.Value()
2457 assert.Equal(t, preImportDocBytes, newDocBytes)
2458 // assert that doc xattr bytes have been written
2459 newXattrBytes := rt.GetDatabase().DbStats.Database().DocWritesXattrBytes.Value()
2460 assert.Greater(t, newXattrBytes, preImportDocXattrBytes)
2461
2462 err = collection.GetCollectionDatastore().Delete(docID)
2463 require.NoError(t, err)
2464 base.RequireWaitForStat(t, func() int64 {
2465 return rt.GetDatabase().DbStats.SharedBucketImport().ImportCount.Value()
2466 }, 2)
2467
2468 newDocBytes = rt.GetDatabase().DbStats.Database().DocWritesBytes.Value()
2469 assert.Equal(t, preImportDocBytes, newDocBytes)
2470 // assert that doc xattr bytes have been written
2471 newXattrBytes = rt.GetDatabase().DbStats.Database().DocWritesXattrBytes.Value()
2472 assert.Greater(t, newXattrBytes, preImportDocXattrBytes)
2473}
2474
2475// TestImportRollbackAllPartitions
2476// - start database (cbgt) with importPartitions

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
GetDatabaseMethod · 0.95
SetUpTestLoggingFunction · 0.92
NewRestTesterFunction · 0.92
PtrFunction · 0.92
RequireWaitForStatFunction · 0.92
SharedBucketImportMethod · 0.80
NameMethod · 0.65
ValueMethod · 0.45

Tested by

no test coverage detected