@@ -13,6 +13,7 @@ import (
13
13
"github.com/chroma-core/chroma/go/pkg/sysdb/coordinator"
14
14
"github.com/chroma-core/chroma/go/pkg/sysdb/coordinator/model"
15
15
"github.com/chroma-core/chroma/go/pkg/sysdb/metastore/db/dao"
16
+ "github.com/chroma-core/chroma/go/pkg/sysdb/metastore/db/dao/daotest"
16
17
"github.com/chroma-core/chroma/go/pkg/sysdb/metastore/db/dbcore"
17
18
s3metastore "github.com/chroma-core/chroma/go/pkg/sysdb/metastore/s3"
18
19
"github.com/chroma-core/chroma/go/pkg/types"
@@ -28,6 +29,11 @@ import (
28
29
"pgregory.net/rapid"
29
30
)
30
31
32
+ // TODO(eculver): replace most suite.NoError(err) with suite.Require().NoError(err) so the test
33
+ // stops running when the error is not nil instead of continuing and causing red herrings in test output
34
+
35
+ // TODO(eculver): replace calls to dao.NewDefaultTestCollection with daotest.NewTestCollection
36
+
31
37
type CollectionServiceTestSuite struct {
32
38
suite.Suite
33
39
catalog * coordinator.Catalog
@@ -346,9 +352,9 @@ func (suite *CollectionServiceTestSuite) TestCreateCollection() {
346
352
}
347
353
348
354
func (suite * CollectionServiceTestSuite ) TestServer_GetCollection () {
349
- // Create a test collection
355
+ // Create a test collection with a name that should not already exist in the database
350
356
collectionName := "test_get_collection"
351
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , 128 , suite .databaseId , nil )
357
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , 128 , suite .databaseId , nil ) )
352
358
suite .NoError (err )
353
359
354
360
// Soft delete the collection
@@ -377,6 +383,7 @@ func (suite *CollectionServiceTestSuite) TestServer_GetCollection() {
377
383
378
384
func (suite * CollectionServiceTestSuite ) TestServer_GetCollectionByResourceName () {
379
385
tenantResourceName := "test_tenant_resource_name"
386
+ // Does this need to match the daotest.TestTenantID?
380
387
tenantID := "test_tenant_id"
381
388
databaseName := "test_database"
382
389
collectionName := "test_collection"
@@ -388,7 +395,7 @@ func (suite *CollectionServiceTestSuite) TestServer_GetCollectionByResourceName(
388
395
err = dao .SetTestTenantResourceName (suite .db , tenantID , tenantResourceName )
389
396
suite .NoError (err )
390
397
391
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , dim , databaseID , nil )
398
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , dim , databaseID , nil ) )
392
399
suite .NoError (err )
393
400
394
401
req := & coordinatorpb.GetCollectionByResourceNameRequest {
@@ -447,7 +454,7 @@ func (suite *CollectionServiceTestSuite) TestServer_FlushCollectionCompaction()
447
454
log .Info ("TestServer_FlushCollectionCompaction" )
448
455
// create test collection
449
456
collectionName := "collection_service_test_flush_collection_compaction"
450
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , 128 , suite .databaseId , nil )
457
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , 128 , suite .databaseId , nil ) )
451
458
suite .NoError (err )
452
459
453
460
// flush collection compaction
@@ -597,7 +604,7 @@ func (suite *CollectionServiceTestSuite) TestServer_FlushCollectionCompaction()
597
604
// Send FlushCollectionCompaction for a collection that is soft deleted.
598
605
// It should fail with a failed precondition error.
599
606
// Create collection and soft-delete it.
600
- collectionID , err = dao .CreateTestCollection (suite .db , "test_flush_collection_compaction_soft_delete" , 128 , suite .databaseId , nil )
607
+ collectionID , err = dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( "test_flush_collection_compaction_soft_delete" , 128 , suite .databaseId , nil ) )
601
608
suite .NoError (err )
602
609
suite .s .coordinator .SoftDeleteCollection (context .Background (), & model.DeleteCollection {
603
610
ID : types .MustParse (collectionID ),
@@ -621,9 +628,35 @@ func (suite *CollectionServiceTestSuite) TestServer_FlushCollectionCompaction()
621
628
suite .NoError (err )
622
629
}
623
630
631
+ func (suite * CollectionServiceTestSuite ) TestServer_CheckCollections () {
632
+ collectionName := "test_check_collections"
633
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest .NewDefaultTestCollection (collectionName , 128 , suite .databaseId , nil ))
634
+ suite .NoError (err )
635
+
636
+ request := & coordinatorpb.CheckCollectionsRequest {
637
+ CollectionIds : []string {collectionID },
638
+ }
639
+
640
+ // Call the service method
641
+ response , err := suite .s .CheckCollections (context .Background (), request )
642
+ suite .NoError (err )
643
+
644
+ suite .NotNil (response .GetDeleted (), "Deleted slice should not be nil." )
645
+ suite .Len (response .GetDeleted (), 1 )
646
+ suite .False (response .GetDeleted ()[0 ])
647
+
648
+ suite .NotNil (response .GetLogPosition (), "LogPosition slice should not be nil." )
649
+ suite .Len (response .GetLogPosition (), 1 )
650
+ suite .GreaterOrEqual (response .GetLogPosition ()[0 ], int64 (0 ))
651
+
652
+ // clean up
653
+ err = dao .CleanUpTestCollection (suite .db , collectionID )
654
+ suite .NoError (err )
655
+ }
656
+
624
657
func (suite * CollectionServiceTestSuite ) TestGetCollectionSize () {
625
658
collectionName := "collection_service_test_get_collection_size"
626
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , 128 , suite .databaseId , nil )
659
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , 128 , suite .databaseId , nil ) )
627
660
suite .NoError (err )
628
661
629
662
req := coordinatorpb.GetCollectionSizeRequest {
@@ -639,7 +672,7 @@ func (suite *CollectionServiceTestSuite) TestGetCollectionSize() {
639
672
640
673
func (suite * CollectionServiceTestSuite ) TestCountForks () {
641
674
collectionName := "collection_service_test_count_forks"
642
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , 128 , suite .databaseId , nil )
675
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , 128 , suite .databaseId , nil ) )
643
676
suite .NoError (err )
644
677
645
678
req := coordinatorpb.CountForksRequest {
@@ -684,7 +717,7 @@ func (suite *CollectionServiceTestSuite) TestCountForks() {
684
717
685
718
func (suite * CollectionServiceTestSuite ) TestFork () {
686
719
collectionName := "collection_service_test_forks"
687
- collectionID , err := dao .CreateTestCollection (suite .db , collectionName , 128 , suite .databaseId , nil )
720
+ collectionID , err := dao .CreateTestCollection (suite .db , daotest . NewDefaultTestCollection ( collectionName , 128 , suite .databaseId , nil ) )
688
721
suite .NoError (err )
689
722
targetCollectionID := types .NewUniqueID ()
690
723
0 commit comments