mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
feat: add utils packages in ext (#8766)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
c25a1df566
commit
703f7a7666
3 changed files with 157 additions and 0 deletions
28
ext/file-info/ext.go
Normal file
28
ext/file-info/ext.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package fileinfo
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/fs"
|
||||||
|
|
||||||
|
"github.com/kyverno/kyverno/ext/file"
|
||||||
|
)
|
||||||
|
|
||||||
|
func IsYaml(info fs.FileInfo) bool {
|
||||||
|
if info.IsDir() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return file.IsYaml(info.Name())
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsJson(info fs.FileInfo) bool {
|
||||||
|
if info.IsDir() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return file.IsJson(info.Name())
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsYamlOrJson(info fs.FileInfo) bool {
|
||||||
|
if info.IsDir() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return file.IsYamlOrJson(info.Name())
|
||||||
|
}
|
19
ext/file/ext.go
Normal file
19
ext/file/ext.go
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
package file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
)
|
||||||
|
|
||||||
|
func IsYaml(path string) bool {
|
||||||
|
ext := filepath.Ext(path)
|
||||||
|
return ext == ".yml" || ext == ".yaml"
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsJson(path string) bool {
|
||||||
|
ext := filepath.Ext(path)
|
||||||
|
return ext == ".json"
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsYamlOrJson(path string) bool {
|
||||||
|
return IsYaml(path) || IsJson(path)
|
||||||
|
}
|
110
ext/file/ext_test.go
Normal file
110
ext/file/ext_test.go
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
package file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIsYaml(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
path string
|
||||||
|
want bool
|
||||||
|
}{{
|
||||||
|
name: "empty",
|
||||||
|
path: "",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "yaml",
|
||||||
|
path: "something.yaml",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "yml",
|
||||||
|
path: "something.yml",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "json",
|
||||||
|
path: "something.json",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "pdf",
|
||||||
|
path: "something.pdf",
|
||||||
|
want: false,
|
||||||
|
}}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := IsYaml(tt.path); got != tt.want {
|
||||||
|
t.Errorf("IsYaml() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsJson(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
path string
|
||||||
|
want bool
|
||||||
|
}{{
|
||||||
|
name: "empty",
|
||||||
|
path: "",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "yaml",
|
||||||
|
path: "something.yaml",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "yml",
|
||||||
|
path: "something.yml",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "json",
|
||||||
|
path: "something.json",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "pdf",
|
||||||
|
path: "something.pdf",
|
||||||
|
want: false,
|
||||||
|
}}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := IsJson(tt.path); got != tt.want {
|
||||||
|
t.Errorf("IsJson() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsYamlOrJson(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
path string
|
||||||
|
want bool
|
||||||
|
}{{
|
||||||
|
name: "empty",
|
||||||
|
path: "",
|
||||||
|
want: false,
|
||||||
|
}, {
|
||||||
|
name: "yaml",
|
||||||
|
path: "something.yaml",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "yml",
|
||||||
|
path: "something.yml",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "json",
|
||||||
|
path: "something.json",
|
||||||
|
want: true,
|
||||||
|
}, {
|
||||||
|
name: "pdf",
|
||||||
|
path: "something.pdf",
|
||||||
|
want: false,
|
||||||
|
}}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := IsYamlOrJson(tt.path); got != tt.want {
|
||||||
|
t.Errorf("IsYamlOrJson() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue