github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/sqlbase/keys_test.go (about) 1 // Copyright 2015 The Cockroach Authors. 2 // 3 // Use of this software is governed by the Business Source License 4 // included in the file licenses/BSL.txt. 5 // 6 // As of the Change Date specified in that file, in accordance with 7 // the Business Source License, use of this software will be governed 8 // by the Apache License, Version 2.0, included in the file 9 // licenses/APL.txt. 10 11 package sqlbase 12 13 import ( 14 "testing" 15 16 "github.com/cockroachdb/cockroach/pkg/keys" 17 "github.com/cockroachdb/cockroach/pkg/roachpb" 18 "github.com/cockroachdb/cockroach/pkg/util/leaktest" 19 ) 20 21 func TestKeyAddress(t *testing.T) { 22 defer leaktest.AfterTest(t)() 23 tenSysCodec := keys.SystemSQLCodec 24 ten5Codec := keys.MakeSQLCodec(roachpb.MakeTenantID(5)) 25 testCases := []struct { 26 key roachpb.Key 27 }{ 28 {MakeDescMetadataKey(tenSysCodec, 123)}, 29 {MakeDescMetadataKey(tenSysCodec, 124)}, 30 {NewPublicTableKey(0, "BAR").Key(tenSysCodec)}, 31 {NewPublicTableKey(1, "BAR").Key(tenSysCodec)}, 32 {NewPublicTableKey(1, "foo").Key(tenSysCodec)}, 33 {NewPublicTableKey(2, "foo").Key(tenSysCodec)}, 34 {MakeDescMetadataKey(ten5Codec, 123)}, 35 {MakeDescMetadataKey(ten5Codec, 124)}, 36 {NewPublicTableKey(0, "BAR").Key(ten5Codec)}, 37 {NewPublicTableKey(1, "BAR").Key(ten5Codec)}, 38 {NewPublicTableKey(1, "foo").Key(ten5Codec)}, 39 {NewPublicTableKey(2, "foo").Key(ten5Codec)}, 40 } 41 var lastKey roachpb.Key 42 for i, test := range testCases { 43 resultAddr, err := keys.Addr(test.key) 44 if err != nil { 45 t.Fatal(err) 46 } 47 result := resultAddr.AsRawKey() 48 if result.Compare(lastKey) <= 0 { 49 t.Errorf("%d: key address %q is <= %q", i, result, lastKey) 50 } 51 lastKey = result 52 } 53 }