~james/core

core/spindle/secrets/sqlite_key_test.go -rw-r--r-- 751 bytes
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 14 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package secrets

import (
	"context"
	"errors"
	"testing"
)

func TestSqliteManagerRefusesAKeyThatIsNotAnIdentifier(t *testing.T) {
	manager, err := NewSQLiteManager(":memory:")
	if err != nil {
		t.Fatal(err)
	}
	for _, key := range []string{"not a key!", "has-dash", "1starts_with_digit", "dotted.key", ""} {
		err := manager.AddSecret(context.Background(), createTestSecret("did:plc:foo", key, "value", "did:plc:user"))
		if !errors.Is(err, ErrInvalidKeyIdent) {
			t.Errorf("AddSecret(%q) = %v, want ErrInvalidKeyIdent", key, err)
		}
	}
	stored, err := manager.GetSecretsLocked(context.Background(), RepoIdentifier("did:plc:foo"))
	if err != nil || len(stored) != 0 {
		t.Fatalf("refused keys left %d secrets behind (%v)", len(stored), err)
	}
}