parent
8ef4d4c425
commit
10b35029f5
@ -0,0 +1,74 @@ |
||||
package server |
||||
|
||||
import ( |
||||
"errors" |
||||
"net/http" |
||||
"testing" |
||||
|
||||
"github.com/halverneus/static-file-server/config" |
||||
"github.com/halverneus/static-file-server/handle" |
||||
) |
||||
|
||||
func TestRun(t *testing.T) { |
||||
listenerError := errors.New("listener") |
||||
selectListener = func() handle.ListenerFunc { |
||||
return func(string, http.HandlerFunc) error { |
||||
return listenerError |
||||
} |
||||
} |
||||
|
||||
if err := Run(); listenerError != err { |
||||
t.Errorf("Expected %v but got %v", listenerError, err) |
||||
} |
||||
} |
||||
|
||||
func TestHandlerSelector(t *testing.T) { |
||||
// This test only exercises function branches.
|
||||
testFolder := "/web" |
||||
testPrefix := "/url/prefix" |
||||
|
||||
testCases := []struct { |
||||
name string |
||||
folder string |
||||
prefix string |
||||
listing bool |
||||
}{ |
||||
{"Basic handler", testFolder, "", true}, |
||||
{"Prefix handler", testFolder, testPrefix, true}, |
||||
{"Basic and hide listing handler", testFolder, "", false}, |
||||
{"Prefix and hide listing handler", testFolder, testPrefix, false}, |
||||
} |
||||
|
||||
for _, tc := range testCases { |
||||
t.Run(tc.name, func(t *testing.T) { |
||||
config.Get.Folder = tc.folder |
||||
config.Get.URLPrefix = tc.prefix |
||||
config.Get.ShowListing = tc.listing |
||||
|
||||
handlerSelector() |
||||
}) |
||||
} |
||||
} |
||||
|
||||
func TestListenerSelector(t *testing.T) { |
||||
// This test only exercises function branches.
|
||||
testCert := "file.crt" |
||||
testKey := "file.key" |
||||
|
||||
testCases := []struct { |
||||
name string |
||||
cert string |
||||
key string |
||||
}{ |
||||
{"HTTP", "", ""}, |
||||
{"HTTPS", testCert, testKey}, |
||||
} |
||||
|
||||
for _, tc := range testCases { |
||||
t.Run(tc.name, func(t *testing.T) { |
||||
config.Get.TLSCert = tc.cert |
||||
config.Get.TLSKey = tc.key |
||||
listenerSelector() |
||||
}) |
||||
} |
||||
} |
Loading…
Reference in new issue