* support flags commands, move to cmd * fix target name * test for happy path importer * add export cmd * fix wrong import, lint warns * increase test timeout * add sellp to allow main test server to start * implement all cmds * handle backup/restore errors * fix import status check, hide secret from logs * backup cmd err tests * randimize test port * avoid dup code in Last controller * add target to make all bin archives * remove container in make * add smiple scripts to simplify commands, update readme * add docs on dockerless, enforce app user * add restore info * move last to lastCommentsScope const
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
package cmd
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestExport_ParseFileName(t *testing.T) {
|
|
tbl := []struct {
|
|
p fileParser
|
|
res string
|
|
err bool
|
|
}{
|
|
{fileParser{}, "", false},
|
|
{fileParser{path: "/tmp/blah", file: "fname.gz"}, "/tmp/blah/fname.gz", false},
|
|
{fileParser{site: "remark", path: "/tmp/blah", file: "fname-{{.SITE}}-{{.YYYYMMDD}}.gz"},
|
|
"/tmp/blah/fname-remark-20180821.gz", false},
|
|
{fileParser{site: "remark", path: "/tmp/blah", file: "fname-{{.SITE}}-{{.YYYY}}-{{.MM}}.gz"},
|
|
"/tmp/blah/fname-remark-2018-08.gz", false},
|
|
{fileParser{site: "remark", path: "/tmp/blah", file: "/tmp/fname-{{.SITE}}-{{.YYYY}}-{{.MM}}.gz"},
|
|
"/tmp/fname-remark-2018-08.gz", false},
|
|
{fileParser{site: "remark", path: "/tmp/blah", file: "/tmp/fname-{{.SITE}}-{{.TS}}.gz"},
|
|
"/tmp/fname-remark-20180821T212615.gz", false},
|
|
{fileParser{site: "remark", path: "/tmp/blah", file: "fname-{{.XXX}}-{{.YYYY}}-{{.MM}}.gz"},
|
|
"", true},
|
|
}
|
|
|
|
now := time.Date(2018, 8, 21, 21, 26, 15, 0, time.UTC)
|
|
for i, tt := range tbl {
|
|
r, err := tt.p.parse(now)
|
|
if tt.err {
|
|
assert.NotNil(t, err)
|
|
continue
|
|
}
|
|
assert.Equal(t, tt.res, r, "check #%d", i)
|
|
}
|
|
}
|