aboutsummaryrefslogtreecommitdiff
path: root/pkg/config/command_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/config/command_test.go')
-rw-r--r--pkg/config/command_test.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkg/config/command_test.go b/pkg/config/command_test.go
new file mode 100644
index 0000000..7e07956
--- /dev/null
+++ b/pkg/config/command_test.go
@@ -0,0 +1,51 @@
+package config
+
+import "testing"
+
+func TestCommandValidate(t *testing.T) {
+ // Empty command
+ if err := validateCommand(""); err == nil {
+ t.Fatal("An command cannot be empty")
+ }
+ // invalid command
+ if err := validateCommand("invalid"); err == nil {
+ t.Fatal("An command cannot be empty")
+ }
+ // cp
+ if err := validateCommand("cp"); err == nil {
+ t.Fatal("cp command needs arguments")
+ }
+ if err := validateCommand("cp test"); err == nil {
+ t.Fatal("cp command needs exactly 2 arguments")
+ }
+ if err := validateCommand("cp test test test"); err == nil {
+ t.Fatal("cp command needs exactly 2 arguments")
+ }
+ if err := validateCommand("exec test test"); err != nil {
+ t.Fatal("valid exec command should be accepted")
+ }
+ // exec
+ if err := validateCommand("exec"); err == nil {
+ t.Fatal("exec command needs arguments")
+ }
+ if err := validateCommand("exec test"); err != nil {
+ t.Fatal("valid exec command should be accepted")
+ }
+ // mkdir
+ if err := validateCommand("mkdir"); err == nil {
+ t.Fatal("mkdir command needs exactly 1 argument")
+ }
+ if err := validateCommand("mkdir testtest "); err == nil {
+ t.Fatal("mkdir command needs exactly 1 argument")
+ }
+ if err := validateCommand("mkdir test"); err != nil {
+ t.Fatal("valid mkdir command should be accepted")
+ }
+ // wait
+ if err := validateCommand("wait test"); err == nil {
+ t.Fatal("wait command needs no arguments")
+ }
+ if err := validateCommand("wait"); err != nil {
+ t.Fatal("valid wait command should be accepted")
+ }
+}