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  }