Skip to content

Commit

Permalink
wip cont
Browse files Browse the repository at this point in the history
  • Loading branch information
adam-huganir committed May 5, 2024
1 parent 51de158 commit c78fb1c
Showing 1 changed file with 29 additions and 15 deletions.
44 changes: 29 additions & 15 deletions internal/args_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,57 +6,71 @@ import (
)

func TestValidateArguments(t *testing.T) {
assert.Equal(t, ExitCodeMap["ok"], ValidateArguments(
result, errs := ValidateArguments(
&YutcSettings{
DataFiles: []string{"../testFiles/data/data1.yaml", "../testFiles/data/data2.yaml"},
CommonTemplateFiles: []string{"../testFiles/common/common1.tmpl"},
TemplatePaths: []string{"../testFiles/templates/template1.tmpl", "../testFiles/templates/template2.tmpl"},
Output: "../testFiles/outputs",
},
), "this is a valid set of inputs")
assert.Equal(t, ExitCodeMap["ok"], ValidateArguments(
})
assert.Equal(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["ok"], result, "this is a valid set of inputs")

result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"-"},
TemplatePaths: []string{"../testFiles/templates/template1.tmpl"},
Output: "-",
},
), "also valid, only 1 stdin and 1 stdout")
assert.Equal(t, ExitCodeMap["cannot use stdin with multiple files"], ValidateArguments(
)
assert.Equal(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["ok"], result, "also valid, only 1 stdin and 1 stdout")
result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"-"},
TemplatePaths: []string{"-", "../testFiles/templates/template2.tmpl"},
Output: ".",
},
), "you can't specify stdin as multiple things")
assert.Equal(t, ExitCodeMap["ok"], ValidateArguments(
)
assert.NotEqual(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["cannot use stdin with multiple files"], result, "you can't specify stdin as multiple things")
result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"-", "../testFiles/data/data2.yaml"},
CommonTemplateFiles: []string{"../testFiles/common/common1.tmpl"},
TemplatePaths: []string{"../testFiles/templates/template2.tmpl"},
Output: "out.yaml",
},
), "this is a valid set of inputs")
assert.Equal(t, ExitCodeMap["file exists and `overwrite` is not set"], ValidateArguments(
)
assert.Equal(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["ok"], result, "this is a valid set of inputs")
result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"-", "../testFiles/data/data2.yaml"},
CommonTemplateFiles: []string{"../testFiles/common/common1.tmpl"},
TemplatePaths: []string{"../testFiles/templates/template2.tmpl"},
Output: "../testFiles/data/data1.yaml",
},
), "file exists and overwrite is not set")
assert.Equal(t, ExitCodeMap["ok"], ValidateArguments(
)
assert.NotEqual(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["file exists and `overwrite` is not set"], result, "file exists and overwrite is not set")
result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"-", "../testFiles/data/data2.yaml"},
CommonTemplateFiles: []string{"../testFiles/common/common1.tmpl"},
TemplatePaths: []string{"../testFiles/templates/template2.tmpl"},
Output: "../testFiles/data/data1.yaml",
Overwrite: true,
},
), "overwrite is set so the file existing is ok")
assert.Equal(t, ExitCodeMap["ok"], ValidateArguments(
)
assert.Equal(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["ok"], result, "overwrite is set so the file existing is ok")
result, errs = ValidateArguments(
&YutcSettings{
DataFiles: []string{"../testFiles/data/data2.yaml"},
TemplatePaths: []string{"../testFiles/templates/", "../testFiles/recurse-templates-1/"},
},
), "overwrite is set so the file existing is ok")
)
assert.Equal(t, 0, len(errs))
assert.Equal(t, ExitCodeMap["ok"], result, "overwrite is set so the file existing is ok")
}

0 comments on commit c78fb1c

Please sign in to comment.