mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-08 00:22:14 +01:00
fixing pm2 tests + adding pkg config tests
This commit is contained in:
108
internal/pkg/config/config_test.go
Normal file
108
internal/pkg/config/config_test.go
Normal file
@@ -0,0 +1,108 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/thecodingmachine/gotenberg/internal/pkg/standarderror"
|
||||
"github.com/thecodingmachine/gotenberg/test"
|
||||
)
|
||||
|
||||
func TestDefaultWaitTimeout(t *testing.T) {
|
||||
// should be OK.
|
||||
os.Setenv(defaultWaitTimeoutEnvVar, "1.5")
|
||||
config, err := FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, 1.5, config.DefaultWaitTimeout())
|
||||
// should failed.
|
||||
os.Setenv(defaultWaitTimeoutEnvVar, "foo")
|
||||
_, err = FromEnv()
|
||||
assert.NotNil(t, err)
|
||||
standardized := test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Unsetenv(defaultWaitTimeoutEnvVar)
|
||||
}
|
||||
|
||||
func TestDefaultListenPort(t *testing.T) {
|
||||
// should be OK.
|
||||
os.Setenv(defaultListenPortEnvVar, "4000")
|
||||
config, err := FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "4000", config.DefaultListenPort())
|
||||
// should failed.
|
||||
os.Setenv(defaultListenPortEnvVar, "foo")
|
||||
_, err = FromEnv()
|
||||
assert.NotNil(t, err)
|
||||
standardized := test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Setenv(defaultListenPortEnvVar, "100000000")
|
||||
_, err = FromEnv()
|
||||
assert.NotNil(t, err)
|
||||
standardized = test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Unsetenv(defaultListenPortEnvVar)
|
||||
}
|
||||
|
||||
func TestEnableChromeEndpoints(t *testing.T) {
|
||||
// should be OK.
|
||||
os.Setenv(disableGoogleChromeEnvVar, "1")
|
||||
config, err := FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, false, config.EnableChromeEndpoints())
|
||||
os.Setenv(disableGoogleChromeEnvVar, "0")
|
||||
config, err = FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, true, config.EnableChromeEndpoints())
|
||||
// should failed.
|
||||
os.Setenv(disableGoogleChromeEnvVar, "true")
|
||||
_, err = FromEnv()
|
||||
assert.NotNil(t, err)
|
||||
standardized := test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Unsetenv(disableGoogleChromeEnvVar)
|
||||
}
|
||||
|
||||
func TestEnableUnoconvEndpoints(t *testing.T) {
|
||||
// should be OK.
|
||||
os.Setenv(disableUnoconvEnvVar, "1")
|
||||
config, err := FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, false, config.EnableUnoconvEndpoints())
|
||||
os.Setenv(disableUnoconvEnvVar, "0")
|
||||
config, err = FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, true, config.EnableUnoconvEndpoints())
|
||||
// should failed.
|
||||
os.Setenv(disableUnoconvEnvVar, "true")
|
||||
_, err = FromEnv()
|
||||
assert.NotNil(t, err)
|
||||
standardized := test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Unsetenv(disableUnoconvEnvVar)
|
||||
}
|
||||
|
||||
func TestLogLevel(t *testing.T) {
|
||||
// should be OK.
|
||||
os.Setenv(logLevelEnvVar, "DEBUG")
|
||||
config, err := FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, logrus.DebugLevel, config.LogLevel())
|
||||
os.Setenv(logLevelEnvVar, "INFO")
|
||||
config, err = FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, logrus.InfoLevel, config.LogLevel())
|
||||
os.Setenv(logLevelEnvVar, "ERROR")
|
||||
config, err = FromEnv()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, logrus.ErrorLevel, config.LogLevel())
|
||||
// should failed.
|
||||
os.Setenv(logLevelEnvVar, "foo")
|
||||
config, err = FromEnv()
|
||||
assert.Equal(t, logrus.InfoLevel, config.LogLevel())
|
||||
assert.NotNil(t, err)
|
||||
standardized := test.RequireStandardError(t, err)
|
||||
assert.Equal(t, standarderror.Invalid, standarderror.Code(standardized))
|
||||
os.Unsetenv(logLevelEnvVar)
|
||||
}
|
||||
@@ -4,16 +4,17 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/thecodingmachine/gotenberg/test"
|
||||
)
|
||||
|
||||
func TestChromeStart(t *testing.T) {
|
||||
p := NewChrome(false)
|
||||
p := NewChrome(test.CreateTestLogger())
|
||||
err := p.Start()
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
func TestChromeShutdown(t *testing.T) {
|
||||
p := NewChrome(false)
|
||||
p := NewChrome(test.CreateTestLogger())
|
||||
err := p.Shutdown()
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
@@ -4,16 +4,17 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/thecodingmachine/gotenberg/test"
|
||||
)
|
||||
|
||||
func TestUnoconvStart(t *testing.T) {
|
||||
p := NewUnoconv(false)
|
||||
p := NewUnoconv(test.CreateTestLogger())
|
||||
err := p.Start()
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
func TestUnoconvShutdown(t *testing.T) {
|
||||
p := NewUnoconv(false)
|
||||
p := NewUnoconv(test.CreateTestLogger())
|
||||
err := p.Shutdown()
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
@@ -14,8 +14,10 @@ import (
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/thecodingmachine/gotenberg/internal/pkg/logger"
|
||||
"github.com/thecodingmachine/gotenberg/internal/pkg/standarderror"
|
||||
"golang.org/x/sync/errgroup"
|
||||
)
|
||||
@@ -49,6 +51,12 @@ func RequireStandardError(t *testing.T, err error) *standarderror.Error {
|
||||
return standardized
|
||||
}
|
||||
|
||||
// CreateTestLogger create a default logger
|
||||
// for our tests.
|
||||
func CreateTestLogger() *logger.Logger {
|
||||
return logger.New(logrus.DebugLevel, "tests")
|
||||
}
|
||||
|
||||
// HTMLTestMultipartForm returns the body
|
||||
// for a multipate/form-data request with all
|
||||
// files under "html" folder.
|
||||
|
||||
Reference in New Issue
Block a user