...

Source file src/edge-infra.dev/pkg/sds/emergencyaccess/emulator/config_test.go

Documentation: edge-infra.dev/pkg/sds/emergencyaccess/emulator

     1  package emulator
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  
     8  	"gotest.tools/v3/assert"
     9  )
    10  
    11  func TestNewConfig(t *testing.T) {
    12  	cases := map[string]struct {
    13  		dir    string
    14  		envVal string
    15  		exp    Config
    16  	}{
    17  		"Valid": {
    18  			dir:    "/dir",
    19  			envVal: "100s",
    20  			exp: Config{
    21  				dir:            "/dir",
    22  				sessionTimeout: 100 * time.Second,
    23  			},
    24  		},
    25  		"No Session Timeout Val": {
    26  			dir:    "/dir",
    27  			envVal: "",
    28  			exp: Config{
    29  				dir:            "/dir",
    30  				sessionTimeout: defaultSessionTimeout,
    31  			},
    32  		},
    33  		"Invalid Session Timeout Val": {
    34  			dir:    "/dir",
    35  			envVal: "100 Seconds",
    36  			exp: Config{
    37  				dir:            "/dir",
    38  				sessionTimeout: defaultSessionTimeout,
    39  			},
    40  		},
    41  	}
    42  
    43  	for name, tc := range cases {
    44  		t.Run(name, func(t *testing.T) {
    45  			t.Setenv(envSessionTimeout, tc.envVal)
    46  			actual := NewConfig(context.Background(), tc.dir)
    47  			assert.Equal(t, tc.exp, actual)
    48  		})
    49  	}
    50  }
    51  

View as plain text