Files
livekit/cmd/server/main_test.go
Artur Shellunts 4915692f7c Refactor getConfigString (#133)
* Add test for getConfigString

* Refactor getConfigString

* Increase connect timeout in tests
2021-10-04 17:20:47 -07:00

48 lines
1.1 KiB
Go

package main
import (
"os"
"testing"
"github.com/stretchr/testify/require"
)
type testStruct struct {
configFileName string
configBody string
expectedError error
expectedConfigBody string
}
func TestGetConfigString(t *testing.T) {
tests := []testStruct{
{"", "", nil, ""},
{"", "configBody", nil, "configBody"},
{"file", "configBody", nil, "configBody"},
{"file", "", nil, "fileContent"},
}
for _, test := range tests {
writeConfigFile(test, t)
defer os.Remove(test.configFileName)
configBody, err := getConfigString(test.configFileName, test.configBody)
require.Equal(t, test.expectedError, err)
require.Equal(t, test.expectedConfigBody, configBody)
}
}
func TestShouldReturnErrorIfConfigFileDoesNotExist(t *testing.T) {
configBody, err := getConfigString("notExistingFile", "")
require.Error(t, err)
require.Empty(t, configBody)
}
func writeConfigFile(test testStruct, t *testing.T) {
if test.configFileName != "" {
d1 := []byte(test.expectedConfigBody)
err := os.WriteFile(test.configFileName, d1, 0644)
require.NoError(t, err)
}
}