github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/analytics/analytics_test.go (about) 1 package analytics 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/tilt-dev/wmclient/pkg/analytics" 9 10 "github.com/tilt-dev/tilt/internal/tiltfile/starkit" 11 ) 12 13 func TestEmpty(t *testing.T) { 14 f := NewFixture(t) 15 f.File("Tiltfile", ` 16 `) 17 result, err := f.ExecFile("Tiltfile") 18 assert.NoError(t, err) 19 assert.Equal(t, analytics.OptDefault, MustState(result).Opt) 20 } 21 22 func TestEnableTrue(t *testing.T) { 23 f := NewFixture(t) 24 f.File("Tiltfile", ` 25 analytics_settings(enable=True) 26 `) 27 result, err := f.ExecFile("Tiltfile") 28 assert.NoError(t, err) 29 assert.Equal(t, analytics.OptIn, MustState(result).Opt) 30 } 31 32 func TestEnableFalse(t *testing.T) { 33 f := NewFixture(t) 34 f.File("Tiltfile", ` 35 analytics_settings(enable=False) 36 `) 37 result, err := f.ExecFile("Tiltfile") 38 assert.NoError(t, err) 39 assert.Equal(t, analytics.OptOut, MustState(result).Opt) 40 } 41 42 func TestReportToAnalytics(t *testing.T) { 43 f := NewFixture(t) 44 f.File("Tiltfile", ` 45 experimental_analytics_report({'1': '2'}) 46 # the second call's "1" value replaces the first 47 experimental_analytics_report({'1': '2a', '3': '4'}) 48 `) 49 result, err := f.ExecFile("Tiltfile") 50 assert.NoError(t, err) 51 assert.Equal(t, map[string]string{"1": "2a", "3": "4"}, MustState(result).CustomTagsToReport) 52 } 53 54 func NewFixture(tb testing.TB) *starkit.Fixture { 55 return starkit.NewFixture(tb, NewPlugin()) 56 }