aboutsummaryrefslogtreecommitdiff
path: root/b64file/names_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'b64file/names_test.go')
-rw-r--r--b64file/names_test.go65
1 files changed, 65 insertions, 0 deletions
diff --git a/b64file/names_test.go b/b64file/names_test.go
new file mode 100644
index 0000000..0acabed
--- /dev/null
+++ b/b64file/names_test.go
@@ -0,0 +1,65 @@
+package b64file
+
+import "testing"
+
+func TestCheckNames(t *testing.T) {
+ testCases := []struct {
+ pub, sec string
+ err error
+ }{
+ {"key.pub", "key.sec", nil},
+ {"testdata/key.pub", "key.sec", nil},
+ {"key.pub", "testdata/key.sec", nil},
+ {"foo.pub", "bar.sec", ErrNames},
+ {"key.foo", "key.bar", ErrNames},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.pub+"+"+tc.sec, func(t *testing.T) {
+ err := ValidateNames(tc.pub, tc.sec)
+ if err != tc.err {
+ t.Errorf("got %v, want %v", err, tc.err)
+ }
+ })
+ }
+}
+
+func TestVerify(t *testing.T) {
+ testCases := []struct {
+ comment string
+ file string
+ }{
+ {"verify with key.pub", "key.pub"},
+ {"verify with s p a c e s.pub", "s p a c e s.pub"},
+ {"verify with key.sec", ""},
+ {"whatever", ""},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.comment, func(t *testing.T) {
+ file := PubFile(tc.comment)
+ if file != tc.file {
+ t.Errorf("got %v, want %v", file, tc.file)
+ }
+ })
+ }
+}
+
+func TestSplit(t *testing.T) {
+ testCases := []struct {
+ fname, name, ext string
+ }{
+ {"testkey.pub", "testkey", ".pub"},
+ {"testkey", "testkey", ""},
+ {".pub", "", ".pub"},
+ {".testkey.pub", ".testkey", ".pub"},
+ {"", "", ""},
+ {"path/key.pub", "key", ".pub"},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.fname, func(t *testing.T) {
+ name, ext := splitNameExt(tc.fname)
+ if name != tc.name || ext != tc.ext {
+ t.Errorf("got %q %q, want %q %q", name, tc.name, ext, tc.ext)
+ }
+ })
+ }
+}