github.com/sequix/cortex@v1.1.6/pkg/chunk/storage/utils_test.go (about) 1 package storage 2 3 import ( 4 "testing" 5 6 "github.com/sequix/cortex/pkg/chunk" 7 "github.com/sequix/cortex/pkg/chunk/aws" 8 "github.com/sequix/cortex/pkg/chunk/cassandra" 9 "github.com/sequix/cortex/pkg/chunk/gcp" 10 "github.com/sequix/cortex/pkg/chunk/local" 11 "github.com/sequix/cortex/pkg/chunk/testutils" 12 "github.com/stretchr/testify/require" 13 ) 14 15 const ( 16 userID = "userID" 17 tableName = "test" 18 ) 19 20 type storageClientTest func(*testing.T, chunk.IndexClient, chunk.ObjectClient) 21 22 func forAllFixtures(t *testing.T, storageClientTest storageClientTest) { 23 var fixtures []testutils.Fixture 24 fixtures = append(fixtures, aws.Fixtures...) 25 fixtures = append(fixtures, gcp.Fixtures...) 26 fixtures = append(fixtures, local.Fixtures...) 27 fixtures = append(fixtures, Fixtures...) 28 29 cassandraFixtures, err := cassandra.Fixtures() 30 require.NoError(t, err) 31 fixtures = append(fixtures, cassandraFixtures...) 32 33 for _, fixture := range fixtures { 34 t.Run(fixture.Name(), func(t *testing.T) { 35 indexClient, objectClient, err := testutils.Setup(fixture, tableName) 36 require.NoError(t, err) 37 defer fixture.Teardown() 38 39 storageClientTest(t, indexClient, objectClient) 40 }) 41 } 42 }