feat(adapter): define Adapter interface and FileSet

This commit is contained in:
2026-05-23 02:45:50 +01:00
parent e4719b78a0
commit 6ab8d149e1
5 changed files with 175 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
package adapter
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestFileSetAddAndIterate(t *testing.T) {
fs := NewFileSet()
fs.Add(File{Dest: "/tmp/a", Kind: RenderedFile, Content: []byte("a")})
fs.Add(File{Dest: "/tmp/b", Kind: SymlinkFile, SymlinkTarget: "/canon/b"})
seen := map[string]Kind{}
fs.ForEach(func(f File) {
seen[f.Dest] = f.Kind
})
assert.Equal(t, RenderedFile, seen["/tmp/a"])
assert.Equal(t, SymlinkFile, seen["/tmp/b"])
}
func TestKindString(t *testing.T) {
assert.Equal(t, "rendered", RenderedFile.String())
assert.Equal(t, "symlink-file", SymlinkFile.String())
}