Covered tests in rjreader + config

This commit is contained in:
porosnicuadrian
2020-11-13 17:49:53 +02:00
committed by Dan Christian Bogos
parent 8569cdc2a4
commit edd5117281
3 changed files with 26 additions and 17 deletions

View File

@@ -22,6 +22,7 @@ import (
"os"
"path"
"reflect"
"runtime"
"strings"
"testing"
"time"
@@ -5716,6 +5717,7 @@ func TestReloadSections(t *testing.T) {
if err := cfgCgr.reloadSections(section); err != nil {
t.Error(err)
} else {
runtime.Gosched()
select {
case <-time.After(10):
t.Fatal("timeout", section)

View File

@@ -240,25 +240,22 @@ func (rjr *rjReader) checkMeta() bool {
}
//readEnvName reads the enviorment key
func (rjr *rjReader) readEnvName(indx int) (name []byte, endindx int, err error) { //0 if not set
func (rjr *rjReader) readEnvName(indx int) (name []byte, endindx int) { //0 if not set
for indx < len(rjr.buf) { //read byte by byte
bit := rjr.buf[indx]
if !isAlfanum(bit) && bit != '_' { //[a-zA-Z_]+[a-zA-Z0-9_]*
return name, indx, nil
return name, indx
}
name = append(name, bit)
indx++
}
return name, indx, io.EOF
return name, indx
}
//replaceEnv replaces the EnvMeta and enviorment key with enviorment variable value in specific buffer
func (rjr *rjReader) replaceEnv(startEnv int) error {
midEnv := len(utils.MetaEnv)
key, endEnv, err := rjr.readEnvName(startEnv + midEnv)
if err != nil && err != io.EOF {
return err
}
key, endEnv := rjr.readEnvName(startEnv + midEnv)
value, err := ReadEnv(string(key))
if err != nil {
return err

View File

@@ -184,7 +184,7 @@ func TestEnvRawJsonPeekByteWCError(t *testing.T) {
t.Errorf("Expected %+v, received %+v", expected, err)
}
raw = NewRjReaderFromBytes([]byte(`/ce faci`))
raw = NewRjReaderFromBytes([]byte(`/rand val`))
expectedByte := (byte)('/')
if rply, err := raw.PeekByteWC(); err != nil {
t.Error(err)
@@ -255,17 +255,16 @@ func TestEnvReaderRead2(t *testing.T) {
func TestEnvReaderreadEnvName(t *testing.T) {
envR := NewRjReaderFromBytes([]byte(`Test_VAR1 } Var2_TEST'`))
expected := []byte("Test_VAR1")
if rply, endindx, err := envR.readEnvName(0); err != nil {
t.Error(err)
} else if endindx != 9 {
rply, endindx := envR.readEnvName(0)
if endindx != 9 {
t.Errorf("Wrong endindx returned %v", endindx)
} else if !reflect.DeepEqual(expected, rply) {
t.Errorf("Expected: %+v, received: %+v", (string(expected)), (string(rply)))
}
expected = []byte("Var2_TEST")
if rply, endindx, err := envR.readEnvName(12); err != nil {
t.Error(err)
} else if endindx != 21 {
rply, endindx = envR.readEnvName(12)
if endindx != 21 {
t.Errorf("Wrong endindx returned %v", endindx)
} else if !reflect.DeepEqual(expected, rply) {
t.Errorf("Expected: %+v, received: %+v", (string(expected)), (string(rply)))
@@ -274,9 +273,8 @@ func TestEnvReaderreadEnvName(t *testing.T) {
func TestEnvReaderreadEnvNameError(t *testing.T) {
envR := NewRjReaderFromBytes([]byte(``))
expectedErr := "EOF"
if _, _, err := envR.readEnvName(1); err == nil && err.Error() != expectedErr {
t.Errorf("Expected %+v ,received %+v", expectedErr, err)
if name, index := envR.readEnvName(1); name != nil || index != 1 {
t.Errorf("Expected nil, received %+v", name)
}
}
@@ -370,6 +368,18 @@ func TestIsWhiteSpace(t *testing.T) {
}
}
func TestReadRJReader(t *testing.T) {
os.Setenv("TESTVARNoZero", utils.EmptyString)
rjr := NewRjReaderFromBytes([]byte(`{"origin_host": "*env:TESTVARNoZero",
"origin_realm": "*env:TESTVARNoZero",}`))
expected := "NOT_FOUND:ENV_VAR:TESTVARNoZero"
buf := make([]byte, 20)
rjr.indx = 1
if _, err := rjr.Read(buf); err == nil || err.Error() != expected {
t.Errorf("Expected %+v, received %+v", expected, err)
}
}
func TestReadEnv(t *testing.T) {
key := "TESTVAR2"
if _, err := ReadEnv(key); err == nil || err.Error() != utils.ErrEnvNotFound(key).Error() {