From b8d1f94bb3125c755ecb418c84c2624082cb0cf9 Mon Sep 17 00:00:00 2001 From: Karim Radhouani Date: Wed, 24 Nov 2021 10:41:46 -0800 Subject: [PATCH] add tests --- app/path_test.go | 44 ++++++++++++++++++++++++++++++++++++++ tests/generate_path_cmd.sh | 1 + 2 files changed, 45 insertions(+) create mode 100644 app/path_test.go diff --git a/app/path_test.go b/app/path_test.go new file mode 100644 index 000000000..ce59140b0 --- /dev/null +++ b/app/path_test.go @@ -0,0 +1,44 @@ +package app + +import "testing" + +var collapseTestSet = map[string][]string{ + "1": { + "", + "/", + }, + "2": { + "/prefix1:elem1[key1=*]/prefix1:elem2/prefix2:elem3/prefix2:elem4", + "/prefix1:elem1[key1=*]/elem2/prefix2:elem3/elem4", + }, + "3": { + "/prefix1:elem1[key1=*]/prefix1:elem2/prefix2:elem3/prefix2:elem4", + "/prefix1:elem1[key1=*]/elem2/prefix2:elem3/elem4", + }, + "4": { + "/fake_prefix:", + "/fake_prefix:", + }, + "5": { + "/:fake_prefix", + "/:fake_prefix", + }, + "6": { + "/elem1/prefix1:elem2/prefix1:elem3", + "/elem1/prefix1:elem2/elem3", + }, +} + +func TestCollapsePrefixes(t *testing.T) { + for name, item := range collapseTestSet { + t.Run(name, func(t *testing.T) { + r := collapsePrefixes(item[0]) + if r != item[1] { + t.Logf("failed at item %q", name) + t.Logf("expected: %q", item[1]) + t.Logf(" got: %q", r) + t.Fail() + } + }) + } +} diff --git a/tests/generate_path_cmd.sh b/tests/generate_path_cmd.sh index af8e11cc9..6754362b9 100755 --- a/tests/generate_path_cmd.sh +++ b/tests/generate_path_cmd.sh @@ -7,3 +7,4 @@ trap 'failure ${LINENO} "$BASH_COMMAND"' ERR ./gnmic-rc1 generate path --file srl-latest-yang-models/srl_nokia/models --dir srl-latest-yang-models/ietf --with-prefix ./gnmic-rc1 generate path --file srl-latest-yang-models/srl_nokia/models --dir srl-latest-yang-models/ietf --types ./gnmic-rc1 generate path --file srl-latest-yang-models/srl_nokia/models --dir srl-latest-yang-models/ietf --json +./gnmic-rc1 generate path --file srl-latest-yang-models/srl_nokia/models --dir srl-latest-yang-models/ietf --json --config-only