aboutsummaryrefslogtreecommitdiffstats
path: root/dec_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'dec_test.go')
-rw-r--r--dec_test.go64
1 files changed, 23 insertions, 41 deletions
diff --git a/dec_test.go b/dec_test.go
index 956d0a6..b06c722 100644
--- a/dec_test.go
+++ b/dec_test.go
@@ -3,7 +3,6 @@ package main
import (
"bytes"
"errors"
- "flag"
"path/filepath"
"slices"
"strings"
@@ -32,10 +31,10 @@ func TestDecryptFile_Force(t *testing.T) {
const password = "asdf"
fileName := filepath.Join(t.TempDir(), "file")
mustWriteFile(t, fileName, []byte("test file content"))
- if err := (&encryptOptions{}).encryptFile(fileName, password); err != nil {
+ if err := (&encCmd{}).encryptFile(fileName, password); err != nil {
t.Fatalf("Failed to encrypt file: %s", err)
}
- err := (&decryptOptions{decryptFlags: decryptFlags{force: tc.force}}).decryptFile(fileName+".enc", password)
+ err := (&decCmd{force: tc.force}).decryptFile(fileName+".enc", password)
if gotErr := err != nil; gotErr != tc.wantErr {
t.Errorf("decryptFile(force=%t) returned returned error %v when output file exists, want error? %t", tc.force, err, tc.wantErr)
}
@@ -69,7 +68,7 @@ func TestDecrypt_BadFileFormat(t *testing.T) {
fileName := filepath.Join(t.TempDir(), "file")
mustWriteFile(t, fileName, tc.fileContent)
- err := (&decryptOptions{}).decryptFile(fileName, "asdf")
+ err := (&decCmd{}).decryptFile(fileName, "asdf")
if err == nil {
t.Errorf("DecryptFile succeeded for incorrect file format, want error")
}
@@ -84,11 +83,11 @@ func TestDecryptFile_WeirdName(t *testing.T) {
fileContent := []byte("file content")
fileName := filepath.Join(t.TempDir(), "file")
mustWriteFile(t, fileName, fileContent)
- if err := (&encryptOptions{}).encryptFile(fileName, password); err != nil {
+ if err := (&encCmd{}).encryptFile(fileName, password); err != nil {
t.Fatalf("EncryptFile failed: %s", err)
}
mustRename(t, fileName+".enc", fileName+".encrypted")
- if err := (&decryptOptions{}).decryptFile(fileName+".encrypted", password); err != nil {
+ if err := (&decCmd{}).decryptFile(fileName+".encrypted", password); err != nil {
t.Fatalf("DecryptFile failed: %s", err)
}
gotContents := mustReadFile(t, fileName+".encrypted.dec")
@@ -100,7 +99,7 @@ func TestDecryptFile_WeirdName(t *testing.T) {
func TestDecryptFile_NotFound(t *testing.T) {
t.Parallel()
- err := (&decryptOptions{}).decryptFile("my-nonexistent-file.txt", "asdf")
+ err := (&decCmd{}).decryptFile("my-nonexistent-file.txt", "asdf")
if err == nil {
t.Fatal("decryptFile succeeded for nonexistent file, want error")
}
@@ -113,43 +112,26 @@ func TestDecryptFile_NoPermission(t *testing.T) {
mustWriteFile(t, fileName, []byte("test file content"))
mustWriteFile(t, strings.TrimSuffix(fileName, ".enc"), nil)
mustChmod(t, strings.TrimSuffix(fileName, ".enc"), 0400)
- err := (&decryptOptions{decryptFlags: decryptFlags{force: true}}).decryptFile(fileName, "asdf")
+ err := (&decCmd{force: true}).decryptFile(fileName, "asdf")
if err == nil {
t.Fatal("decryptFile succeeded for unwritable file, want error")
}
}
-func TestDecryptOptions_RegisterFlags(t *testing.T) {
- t.Parallel()
-
- var o decryptOptions
- fs := flag.NewFlagSet("test", flag.ContinueOnError)
- o.registerFlags(fs)
- const cmd = "-p asdf -f"
- fs.Parse(strings.Split(cmd, " "))
- want := decryptFlags{
- password: "asdf",
- force: true,
- }
- if o.decryptFlags != want {
- t.Errorf("Command line %q parsed incorrect decryptOptions, got %+v, want %+v", cmd, o, want)
- }
-}
-
-func TestDecryptOptions_Run(t *testing.T) {
+func TestDecCmd_Run(t *testing.T) {
t.Parallel()
const password = "asdf"
fileContent := []byte("test file content")
fileName := filepath.Join(t.TempDir(), "file")
mustWriteFile(t, fileName, fileContent)
- if err := (&encryptOptions{}).encryptFile(fileName, password); err != nil {
+ if err := (&encCmd{}).encryptFile(fileName, password); err != nil {
t.Errorf("EncryptFile failed: %s", err)
}
mustRemove(t, fileName)
- err := (&decryptOptions{decryptFlags: decryptFlags{password: password}}).run(fileName + ".enc")
+ err := (&decCmd{password: password}).run(fileName + ".enc")
if err != nil {
- t.Errorf("decryptOptions.run failed: %s", err)
+ t.Errorf("decCmd.run failed: %s", err)
}
gotFileContents := mustReadFile(t, fileName)
if !bytes.Equal(gotFileContents, fileContent) {
@@ -157,36 +139,36 @@ func TestDecryptOptions_Run(t *testing.T) {
}
}
-func TestDecryptOptions_Run_UsageError(t *testing.T) {
+func TestDecCmd_Run_UsageError(t *testing.T) {
t.Parallel()
- err := (&decryptOptions{}).run()
+ err := (&decCmd{}).run()
if err == nil {
t.Errorf("Run without -p when reading from stdin, want error")
}
}
-func TestDecryptOptions_Run_NotFound(t *testing.T) {
+func TestDecCmd_Run_NotFound(t *testing.T) {
t.Parallel()
- err := (&decryptOptions{decryptFlags: decryptFlags{password: "asdf"}}).run("my-nonexistent-file-name.txt")
+ err := (&decCmd{password: "asdf"}).run("my-nonexistent-file-name.txt")
if err == nil {
t.Errorf("run succeeded with nonexistent file, want error")
}
}
-func TestDecryptOptions_Run_Stdin(t *testing.T) {
+func TestDecCmd_Run_Stdin(t *testing.T) {
t.Parallel()
const password = "asdf"
content := []byte("test contents")
encrypted := new(bytes.Buffer)
- if err := (&encryptOptions{}).encrypt(encrypted, bytes.NewReader(content), password); err != nil {
+ if err := (&encCmd{}).encrypt(encrypted, bytes.NewReader(content), password); err != nil {
t.Fatalf("Failed to encrypt: %s", err)
}
gotContentBuf := new(bytes.Buffer)
- if err := (&decryptOptions{
- decryptFlags: decryptFlags{password: password},
+ if err := (&decCmd{
+ password: password,
stdin: bytes.NewReader(encrypted.Bytes()),
stdout: gotContentBuf,
}).run(); err != nil {
@@ -198,7 +180,7 @@ func TestDecryptOptions_Run_Stdin(t *testing.T) {
}
}
-func TestDecryptOptions_Run_ReadPassword(t *testing.T) {
+func TestDecCmd_Run_ReadPassword(t *testing.T) {
t.Parallel()
for _, tc := range []struct {
@@ -219,18 +201,18 @@ func TestDecryptOptions_Run_ReadPassword(t *testing.T) {
fileName := filepath.Join(t.TempDir(), "file")
mustWriteFile(t, fileName, []byte("test file content"))
- if err := (&encryptOptions{}).encryptFile(fileName, password); err != nil {
+ if err := (&encCmd{}).encryptFile(fileName, password); err != nil {
t.Errorf("EncryptFile failed: %s", err)
}
mustRemove(t, fileName)
- err := (&decryptOptions{
+ err := (&decCmd{
passwordIn: func() (string, error) {
return password, tc.err
},
}).run(fileName + ".enc")
if gotErr := err != nil; gotErr != tc.wantErr {
- t.Errorf("decryptOptions.run returned error %v reading password from stdin, want error? %t", err, tc.wantErr)
+ t.Errorf("decCmd.run returned error %v reading password from stdin, want error? %t", err, tc.wantErr)
}
})
}