lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 5d012c3645dd41df7c8e13e41b583d53459e77a5
parent 1230f22142630dbebad63e5a0429873fd6c32853
Author: Sean Enck <sean@ttypty.com>
Date:   Mon, 10 Oct 2022 20:34:42 -0400

MatchPath tests

Diffstat:
Minternal/backend/query_test.go | 38++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+), 0 deletions(-)

diff --git a/internal/backend/query_test.go b/internal/backend/query_test.go @@ -14,6 +14,44 @@ func setupInserts(t *testing.T) { fullSetup(t, true).Insert("test/test/abc1ak", "atest") } +func TestMatchPath(t *testing.T) { + setupInserts(t) + q, err := fullSetup(t, true).MatchPath("test/test/abc") + if err != nil { + t.Errorf("no error: %v", err) + } + if len(q) != 1 { + t.Error("invalid entity result") + } + if q[0].Path != "test/test/abc" || q[0].Value != "" { + t.Error("invalid query result") + } + q, err = fullSetup(t, true).MatchPath("test/test/abcxxx") + if err != nil { + t.Errorf("no error: %v", err) + } + if len(q) != 0 { + t.Error("invalid entity result") + } + q, err = fullSetup(t, true).MatchPath("test/test/*") + if err != nil { + t.Errorf("no error: %v", err) + } + if len(q) != 4 { + t.Error("invalid entity result") + } + if _, err := fullSetup(t, true).MatchPath("test/test//*"); err.Error() != "invalid match criteria, too many path separators" { + t.Errorf("wrong error: %v", err) + } + q, err = fullSetup(t, true).MatchPath("test/test*") + if err != nil { + t.Errorf("no error: %v", err) + } + if len(q) != 0 { + t.Error("invalid entity result") + } +} + func TestGet(t *testing.T) { setupInserts(t) q, err := fullSetup(t, true).Get("test/test/abc", backend.BlankValue)