github.com/kubeshop/testkube@v1.17.23/cmd/kubectl-testkube/config/config_test.go (about)

     1  package config
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestSave(t *testing.T) {
    11  	// override default directory
    12  	dir, err := os.MkdirTemp("", "test-config-save")
    13  	assert.NoError(t, err)
    14  	defaultDirectory = dir
    15  
    16  	t.Run("test save into default storage", func(t *testing.T) {
    17  		err := Save(Data{})
    18  		assert.NoError(t, err)
    19  	})
    20  
    21  	t.Run("test load stored config into default storage", func(t *testing.T) {
    22  		err := Save(Data{Namespace: "some", TelemetryEnabled: true})
    23  		assert.NoError(t, err)
    24  		data, err := Load()
    25  		assert.NoError(t, err)
    26  		assert.Equal(t, "some", data.Namespace)
    27  		assert.Equal(t, true, data.TelemetryEnabled)
    28  	})
    29  }
    30  
    31  func TestSaveTelemetryEnabled(t *testing.T) {
    32  
    33  	dir, err := os.MkdirTemp("", "test-config-save")
    34  	assert.NoError(t, err)
    35  
    36  	// create homedir config file
    37  	s := Storage{Dir: dir}
    38  	err = s.Init()
    39  	assert.NoError(t, err)
    40  
    41  	t.Run("check if telemetry system is enabled", func(t *testing.T) {
    42  		// given / when
    43  		d, err := s.Load()
    44  
    45  		// then
    46  		assert.NoError(t, err)
    47  		assert.Equal(t, true, d.TelemetryEnabled)
    48  
    49  	})
    50  
    51  	t.Run("check if telemetry system is disabled", func(t *testing.T) {
    52  		// given
    53  		d, err := s.Load()
    54  		assert.NoError(t, err)
    55  
    56  		d.DisableAnalytics()
    57  		err = s.Save(d)
    58  		assert.NoError(t, err)
    59  
    60  		// when
    61  		d, err = s.Load()
    62  
    63  		// then
    64  		assert.NoError(t, err)
    65  		assert.Equal(t, false, d.TelemetryEnabled)
    66  
    67  	})
    68  
    69  }