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 }