mirror of
https://github.com/fleetdm/fleet
synced 2026-05-21 07:58:31 +00:00
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
|
|
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)
|
||
|
|
}
|