github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/storage/stores/tsdb/identifier_test.go (about)

     1  package tsdb
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestParseSingleTenantTSDBPath(t *testing.T) {
    11  	for _, tc := range []struct {
    12  		desc   string
    13  		input  string
    14  		id     SingleTenantTSDBIdentifier
    15  		parent string
    16  		ok     bool
    17  	}{
    18  		{
    19  			desc:  "simple_works",
    20  			input: "1-compactor-1-10-ff.tsdb",
    21  			id: SingleTenantTSDBIdentifier{
    22  				TS:       time.Unix(1, 0),
    23  				From:     1,
    24  				Through:  10,
    25  				Checksum: 255,
    26  			},
    27  			parent: "parent",
    28  			ok:     true,
    29  		},
    30  		{
    31  			desc:  "wrong uploader name",
    32  			input: "1-notcompactor-1-10-ff.tsdb",
    33  			ok:    false,
    34  		},
    35  		{
    36  			desc:  "wrong argument len",
    37  			input: "1-compactor-10-ff.tsdb",
    38  			ok:    false,
    39  		},
    40  		{
    41  			desc:  "wrong argument encoding",
    42  			input: "1-compactor-ff-10-ff.tsdb",
    43  			ok:    false,
    44  		},
    45  	} {
    46  		t.Run(tc.desc, func(t *testing.T) {
    47  			id, ok := parseSingleTenantTSDBPath(tc.input)
    48  			require.Equal(t, tc.id, id)
    49  			require.Equal(t, tc.ok, ok)
    50  		})
    51  	}
    52  }