summaryrefslogtreecommitdiff
path: root/odb_test.go
diff options
context:
space:
mode:
authorlhchavez <[email protected]>2016-12-22 06:46:13 -0800
committerlhchavez <[email protected]>2020-02-23 09:13:47 -0800
commit05bc5e36ff93eb2195480c5cad91e6c5c44cd128 (patch)
tree5abd8d8761d0d438343da2b3cf9592943f7e9f5c /odb_test.go
parent37f732a833466e884fe6bf5b5612b677d485632a (diff)
Add support for indexers and alternate odb packfiles
This allows for implementations of git servers written in Go.
Diffstat (limited to 'odb_test.go')
-rw-r--r--odb_test.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/odb_test.go b/odb_test.go
index 46acdba..e44c927 100644
--- a/odb_test.go
+++ b/odb_test.go
@@ -152,3 +152,37 @@ func TestOdbForeach(t *testing.T) {
t.Fatalf("Odb.ForEach() did not return the expected error, got %v", err)
}
}
+
+func TestOdbWritepack(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ _, _ = seedTestRepo(t, repo)
+
+ odb, err := repo.Odb()
+ checkFatal(t, err)
+
+ var finalStats TransferProgress
+ writepack, err := odb.NewWritePack(func(stats TransferProgress) ErrorCode {
+ finalStats = stats
+ return ErrOk
+ })
+ checkFatal(t, err)
+ defer writepack.Free()
+
+ _, err = writepack.Write(outOfOrderPack)
+ checkFatal(t, err)
+ err = writepack.Commit()
+ checkFatal(t, err)
+
+ if finalStats.TotalObjects != 3 {
+ t.Errorf("mismatched transferred objects, expected 3, got %v", finalStats.TotalObjects)
+ }
+ if finalStats.ReceivedObjects != 3 {
+ t.Errorf("mismatched received objects, expected 3, got %v", finalStats.ReceivedObjects)
+ }
+ if finalStats.IndexedObjects != 3 {
+ t.Errorf("mismatched indexed objects, expected 3, got %v", finalStats.IndexedObjects)
+ }
+}