fleet/orbit/pkg/setup_experience/setup_experience_test.go

45 lines
1.1 KiB
Go
Raw Normal View History

package setupexperience
import (
"testing"
"time"
"github.com/fleetdm/fleet/v4/server/ptr"
"github.com/stretchr/testify/require"
)
func TestSetupExperienceStatusFile(t *testing.T) {
tmpDir := t.TempDir()
// Test first execution of reading the setup experience file.
s, err := ReadSetupExperienceStatusFile(tmpDir)
require.NoError(t, err)
require.Nil(t, s)
err = WriteSetupExperienceStatusFile(tmpDir, &SetupExperienceInfo{
TimeInitiated: time.Now(),
Enabled: true,
})
require.NoError(t, err)
s, err = ReadSetupExperienceStatusFile(tmpDir)
require.NoError(t, err)
require.NotNil(t, s)
require.NotZero(t, s.TimeInitiated)
timeInitiated := s.TimeInitiated
require.True(t, s.Enabled)
require.Nil(t, s.TimeFinished)
s.TimeFinished = ptr.Time(time.Now())
err = WriteSetupExperienceStatusFile(tmpDir, s)
require.NoError(t, err)
s, err = ReadSetupExperienceStatusFile(tmpDir)
require.NoError(t, err)
require.NotNil(t, s)
require.Equal(t, timeInitiated, s.TimeInitiated)
require.True(t, s.Enabled)
require.NotNil(t, s.TimeFinished)
require.NotZero(t, *s.TimeFinished)
}