commit 5d012c3645dd41df7c8e13e41b583d53459e77a5
parent 1230f22142630dbebad63e5a0429873fd6c32853
Author: Sean Enck <sean@ttypty.com>
Date: Mon, 10 Oct 2022 20:34:42 -0400
MatchPath tests
Diffstat:
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)