Monorepo for Tangled tangled.org
2

Configure Feed

Select the types of activity you want to include in your feed.

at icy/ytnwlw 1.7 kB View raw
1package knotserver 2 3import ( 4 "context" 5 "path/filepath" 6 "testing" 7 8 "tangled.org/core/knotserver/db" 9) 10 11func newTestKnotDB(t *testing.T) *db.DB { 12 t.Helper() 13 path := filepath.Join(t.TempDir(), "test.db") 14 d, err := db.Setup(context.Background(), path) 15 if err != nil { 16 t.Fatalf("db.Setup: %v", err) 17 } 18 return d 19} 20 21func TestAliasResolvesOriginalName(t *testing.T) { 22 d := newTestKnotDB(t) 23 if err := d.StoreRepoKey("did:plc:repo1", []byte("dummy"), "did:plc:akshay", "foo"); err != nil { 24 t.Fatalf("StoreRepoKey: %v", err) 25 } 26 got, err := d.GetRepoDid("did:plc:akshay", "foo") 27 if err != nil { 28 t.Fatalf("GetRepoDid: %v", err) 29 } 30 if got != "did:plc:repo1" { 31 t.Errorf("repoDid = %q, want did:plc:repo1", got) 32 } 33} 34 35func TestAliasUpsertRespectsRevOrdering(t *testing.T) { 36 d := newTestKnotDB(t) 37 if err := d.StoreRepoKey("did:plc:repo1", []byte("dummy"), "did:plc:akshay", "foo"); err != nil { 38 t.Fatalf("StoreRepoKey: %v", err) 39 } 40 if err := d.UpsertRepoAlias(db.RepoAlias{ 41 OwnerDid: "did:plc:akshay", 42 Rkey: "bar", 43 RepoDid: "did:plc:repo1", 44 Rev: "3laaaaaaaaaab", 45 }); err != nil { 46 t.Fatalf("UpsertRepoAlias bar: %v", err) 47 } 48 49 _, current, err := d.CurrentRkey("did:plc:repo1") 50 if err != nil { 51 t.Fatalf("CurrentRkey: %v", err) 52 } 53 if current != "bar" { 54 t.Errorf("current rkey = %q, want bar", current) 55 } 56 57 fooDid, err := d.GetRepoDid("did:plc:akshay", "foo") 58 if err != nil || fooDid != "did:plc:repo1" { 59 t.Errorf("old rkey lookup: got (%q, %v), want did:plc:repo1", fooDid, err) 60 } 61 barDid, err := d.GetRepoDid("did:plc:akshay", "bar") 62 if err != nil || barDid != "did:plc:repo1" { 63 t.Errorf("new rkey lookup: got (%q, %v), want did:plc:repo1", barDid, err) 64 } 65}