review tests

This commit is contained in:
Pierre Dubouilh 2019-06-29 11:05:31 +02:00
parent c04c26096a
commit 776abdc35b
No known key found for this signature in database
GPG key ID: 8FE8BEDA9D4DB0D7
3 changed files with 22 additions and 26 deletions

View file

@ -9,19 +9,17 @@ run:
make build make build
./gossa test-fixture ./gossa test-fixture
watch:
ls src/** | entr -rc make run
# ci & ci debug
ci: ci:
timeout 10 make run & timeout 10 make run &
cp src/gossa_test.go . && sleep 5 && go test cp src/gossa_test.go . && sleep 5 && go test
rm gossa_test.go rm gossa_test.go
ci-watch: watch:
ls src/* | entr -rc make ci ls src/* gossa-ui/* | entr -rc make run
ci-watch:
ls src/* gossa-ui/* | entr -rc make ci
# build / cleanup
build-all: build-all:
cp src/gossa.go gossa.go cp src/gossa.go gossa.go
make -C gossa-ui/ make -C gossa-ui/

View file

@ -22,7 +22,7 @@ var host = flag.String("h", "127.0.0.1", "host to listen to")
var port = flag.String("p", "8001", "port to listen to") var port = flag.String("p", "8001", "port to listen to")
var verb = flag.Bool("verb", true, "verbosity") var verb = flag.Bool("verb", true, "verbosity")
var skipHidden = flag.Bool("k", true, "skip hidden files") var skipHidden = flag.Bool("k", true, "skip hidden files")
var initPath = "" var initPath = "."
var fs http.Handler var fs http.Handler
var page, _ = template.New("pageTemplate").Parse(`template_will_be_here`) var page, _ = template.New("pageTemplate").Parse(`template_will_be_here`)
@ -184,9 +184,7 @@ func checkPath(p string) (string, error) {
func main() { func main() {
flag.Parse() flag.Parse()
if len(flag.Args()) == 0 { if len(flag.Args()) > 0 {
initPath = "."
} else {
initPath = flag.Args()[0] initPath = flag.Args()[0]
} }

View file

@ -53,7 +53,7 @@ func postJSON(t *testing.T, url string, what string) string {
return trimSpaces(string(body)) return trimSpaces(string(body))
} }
func testDefaults(t *testing.T, url string) string { func fetchAndTestDefault(t *testing.T, url string) string {
bodyStr := get(t, url) bodyStr := get(t, url)
if !strings.Contains(bodyStr, `<title>/</title>`) { if !strings.Contains(bodyStr, `<title>/</title>`) {
@ -76,7 +76,7 @@ func testDefaults(t *testing.T, url string) string {
t.Fatal("error 中文 folder") t.Fatal("error 中文 folder")
} }
if !strings.Contains(bodyStr, `<tr> <td class="iconRow"><i ondblclick="return rm(event)" onclick="return rename(event)" class="btn icon icon-types icon-blank"></i></td> <td class="file-size"><code>211.0B</code></td> <td class="arrow"><div class="arrow-icon"></div></td> <td class="display-name"><a class="list-links" onclick="return onClickLink(event)" href="custom_mime_type.types">custom_mime_type.types</a></td> </tr>`) { if !strings.Contains(bodyStr, `href="custom_mime_type.types">custom_mime_type.types</a>`) {
t.Fatal("error row custom_mime_type") t.Fatal("error row custom_mime_type")
} }
@ -90,12 +90,12 @@ func TestGetFolder(t *testing.T) {
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
fmt.Println("\r\n~~~~~~~~~~ test fetching default path") fmt.Println("\r\n~~~~~~~~~~ test fetching default path")
testDefaults(t, "http://127.0.0.1:8001/") fetchAndTestDefault(t, "http://127.0.0.1:8001/")
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
fmt.Println("\r\n~~~~~~~~~~ test fetching an invalid path - redirected to root") fmt.Println("\r\n~~~~~~~~~~ test fetching an invalid path - redirected to root")
testDefaults(t, "http://127.0.0.1:8001/../../") fetchAndTestDefault(t, "http://127.0.0.1:8001/../../")
testDefaults(t, "http://127.0.0.1:8001/hols/../../") fetchAndTestDefault(t, "http://127.0.0.1:8001/hols/../../")
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
fmt.Println("\r\n~~~~~~~~~~ test fetching a regular file") fmt.Println("\r\n~~~~~~~~~~ test fetching a regular file")
@ -118,8 +118,8 @@ func TestGetFolder(t *testing.T) {
t.Fatal("mkdir rpc errored") t.Fatal("mkdir rpc errored")
} }
bodyStr = testDefaults(t, "http://127.0.0.1:8001/") bodyStr = fetchAndTestDefault(t, "http://127.0.0.1:8001/")
if !strings.Contains(bodyStr, `<tr> <td class="iconRow"><i ondblclick="return rm(event)" onclick="return rename(event)" class="btn icon icon-folder icon-blank"></i></td> <td class="file-size"><code></code></td> <td class="arrow"><div class="arrow-icon"></div></td> <td class="display-name"><a class="list-links" onclick="return onClickLink(event)" href="AAA">AAA/</a></td> </tr>`) { if !strings.Contains(bodyStr, `href="AAA">AAA/</a>`) {
t.Fatal("mkdir rpc folder not created") t.Fatal("mkdir rpc folder not created")
} }
@ -137,9 +137,9 @@ func TestGetFolder(t *testing.T) {
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
fmt.Println("\r\n~~~~~~~~~~ test post file") fmt.Println("\r\n~~~~~~~~~~ test post file")
path = "%E1%84%92%E1%85%A1%20%E1%84%92%E1%85%A1" // "하 하" encoded path = "%2F%E1%84%92%E1%85%A1%20%E1%84%92%E1%85%A1" // "하 하" encoded
payload = "12 하" payload = "123 하"
bodyStr = postDummyFile(t, "%2F"+path, payload) bodyStr = postDummyFile(t, path, payload)
if !strings.Contains(bodyStr, `ok`) { if !strings.Contains(bodyStr, `ok`) {
t.Fatal("post file errored") t.Fatal("post file errored")
} }
@ -149,14 +149,14 @@ func TestGetFolder(t *testing.T) {
t.Fatal("post file errored reaching new file") t.Fatal("post file errored reaching new file")
} }
bodyStr = testDefaults(t, "http://127.0.0.1:8001/") bodyStr = fetchAndTestDefault(t, "http://127.0.0.1:8001/")
if !strings.Contains(bodyStr, `<tr> <td class="iconRow"><i ondblclick="return rm(event)" onclick="return rename(event)" class="btn icon icon-하 하 icon-blank"></i></td> <td class="file-size"><code>9.0B</code></td> <td class="arrow"><div class="arrow-icon"></div></td> <td class="display-name"><a class="list-links" onclick="return onClickLink(event)" href="%E1%84%92%E1%85%A1%20%E1%84%92%E1%85%A1">하 하</a></td> </tr>`) { if !strings.Contains(bodyStr, `href="%E1%84%92%E1%85%A1%20%E1%84%92%E1%85%A1">하 하</a>`) {
t.Fatal("post file errored checking new file row") t.Fatal("post file errored checking new file row")
} }
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
fmt.Println("\r\n~~~~~~~~~~ test post file incorrect path") fmt.Println("\r\n~~~~~~~~~~ test post file incorrect path")
bodyStr = postDummyFile(t, "%2E%2E%2F"+path, payload) bodyStr = postDummyFile(t, "%2E%2E"+path, payload)
if !strings.Contains(bodyStr, `err`) { if !strings.Contains(bodyStr, `err`) {
t.Fatal("post file incorrect path didnt errored") t.Fatal("post file incorrect path didnt errored")
} }
@ -168,8 +168,8 @@ func TestGetFolder(t *testing.T) {
t.Fatal("mv rpc errored") t.Fatal("mv rpc errored")
} }
bodyStr = testDefaults(t, "http://127.0.0.1:8001/") bodyStr = fetchAndTestDefault(t, "http://127.0.0.1:8001/")
if strings.Contains(bodyStr, `<tr> <td><i ondblclick="return rm(event)" onclick="return rename(event)" class="btn icon icon-folder icon-blank"></i></td> <td class="file-size"><code></code></td> <td class="arrow"><i class="arrow-icon"></i></td> <td class="display-name"><a class="list-links" onclick="return onClickLink(event)" href="AAA">AAA/</a></td> </tr>`) { if strings.Contains(bodyStr, `href="AAA">AAA/</a></td> </tr>`) {
t.Fatal("mv rpc folder not moved") t.Fatal("mv rpc folder not moved")
} }