summaryrefslogtreecommitdiff
path: root/service/http/config_test.go
diff options
context:
space:
mode:
authorWolfy-J <[email protected]>2018-06-13 14:27:07 +0300
committerWolfy-J <[email protected]>2018-06-13 14:27:07 +0300
commit5a1a3844cbd23dac33f96059c686d9136656a02b (patch)
tree5e10e2bdfa8d5cd84007d4a2dfe2ed7281ec8a50 /service/http/config_test.go
parentfe01e08efcb154ad0f5d169eb4cae514b5507259 (diff)
config validation
Diffstat (limited to 'service/http/config_test.go')
-rw-r--r--service/http/config_test.go88
1 files changed, 88 insertions, 0 deletions
diff --git a/service/http/config_test.go b/service/http/config_test.go
new file mode 100644
index 00000000..18e8ab3e
--- /dev/null
+++ b/service/http/config_test.go
@@ -0,0 +1,88 @@
+package http
+
+import (
+ "testing"
+ "os"
+ "github.com/stretchr/testify/assert"
+ "github.com/spiral/roadrunner"
+ "time"
+)
+
+func Test_Config_Valid(t *testing.T) {
+ cfg := &Config{
+ Enable: true,
+ Address: ":8080",
+ MaxRequest: 1024,
+ Uploads: &UploadsConfig{
+ Dir: os.TempDir(),
+ Forbid: []string{".go"},
+ },
+ Workers: &roadrunner.ServerConfig{
+ Command: "php php-src/tests/client.php echo pipes",
+ Relay: "pipes",
+ Pool: &roadrunner.Config{
+ NumWorkers: 1,
+ AllocateTimeout: time.Second,
+ DestroyTimeout: time.Second,
+ },
+ },
+ }
+
+ assert.NoError(t, cfg.Valid())
+}
+
+func Test_Config_NoUploads(t *testing.T) {
+ cfg := &Config{
+ Enable: true,
+ Address: ":8080",
+ MaxRequest: 1024,
+ Workers: &roadrunner.ServerConfig{
+ Command: "php php-src/tests/client.php echo pipes",
+ Relay: "pipes",
+ Pool: &roadrunner.Config{
+ NumWorkers: 1,
+ AllocateTimeout: time.Second,
+ DestroyTimeout: time.Second,
+ },
+ },
+ }
+
+ assert.Error(t, cfg.Valid())
+}
+
+func Test_Config_NoWorkers(t *testing.T) {
+ cfg := &Config{
+ Enable: true,
+ Address: ":8080",
+ MaxRequest: 1024,
+ Uploads: &UploadsConfig{
+ Dir: os.TempDir(),
+ Forbid: []string{".go"},
+ },
+ }
+
+ assert.Error(t, cfg.Valid())
+}
+
+func Test_Confi_InvalidAddress(t *testing.T) {
+ cfg := &Config{
+ Enable: true,
+ Address: "",
+ MaxRequest: 1024,
+ Uploads: &UploadsConfig{
+ Dir: os.TempDir(),
+ Forbid: []string{".go"},
+ },
+ Workers: &roadrunner.ServerConfig{
+ Command: "php php-src/tests/client.php echo pipes",
+ Relay: "pipes",
+ Pool: &roadrunner.Config{
+ NumWorkers: 1,
+ AllocateTimeout: time.Second,
+ DestroyTimeout: time.Second,
+ },
+ },
+ }
+
+ assert.Error(t, cfg.Valid())
+}