(t *testing.T)
| 2428 | } |
| 2429 | |
| 2430 | func 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 |
nothing calls this directly
no test coverage detected