From 2f0bc4b2e4e80bb7748a58a9d4c4a475568a4ed5 Mon Sep 17 00:00:00 2001 From: yxxhero <11087727+yxxhero@users.noreply.github.com> Date: Tue, 13 Jun 2023 12:20:40 +0800 Subject: [PATCH] add unittest for storage (#894) Signed-off-by: yxxhero --- pkg/state/storage_test.go | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/pkg/state/storage_test.go b/pkg/state/storage_test.go index 82d6da57..5cc349b3 100644 --- a/pkg/state/storage_test.go +++ b/pkg/state/storage_test.go @@ -140,3 +140,65 @@ func TestStorage_resolveFile(t *testing.T) { }) } } + +func TestNormalizePath(t *testing.T) { + tests := []struct { + name string + base string + path string + want string + }{ + { + name: "unix path relative path", + base: "/root", + path: "local/timespan-application.yml", + want: "/local/timespan-application.yml", + }, + { + name: "unix path absolute path", + base: "/data", + path: "/root/data/timespan-application.yml", + want: "/root/data/timespan-application.yml", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + storageIns := NewStorage(tt.base, helmexec.NewLogger(io.Discard, "debug"), filesystem.DefaultFileSystem()) + if got := storageIns.normalizePath(tt.path); got != tt.want { + t.Errorf("normalizePath() = %v, want %v", got, tt.want) + } + }) + } +} + +func TestJoinBase(t *testing.T) { + tests := []struct { + name string + base string + path string + want string + }{ + { + name: "joinBase with non-root base", + base: "/root", + path: "local/timespan-application.yml", + want: "/local/timespan-application.yml", + }, + { + name: "joinBase with root path", + base: "/", + path: "data/timespan-application.yml", + want: "/data/timespan-application.yml", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + storageIns := NewStorage(tt.base, helmexec.NewLogger(io.Discard, "debug"), filesystem.DefaultFileSystem()) + if got := storageIns.JoinBase(tt.path); got != tt.want { + t.Errorf("JoinBase() = %v, want %v", got, tt.want) + } + }) + } +}