diff options
Diffstat (limited to 'b64file/names_test.go')
-rw-r--r-- | b64file/names_test.go | 65 |
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) + } + }) + } +} |