github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/cisettings/ci_settings_test.go (about) 1 package cisettings 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/tilt-dev/tilt/internal/tiltfile/starkit" 10 "github.com/tilt-dev/tilt/pkg/model" 11 ) 12 13 func TestK8sGracePeriod(t *testing.T) { 14 f := newFixture(t) 15 f.File("Tiltfile", ` 16 ci_settings(k8s_grace_period='3m') 17 `) 18 19 result, err := f.ExecFile("Tiltfile") 20 require.NoError(t, err) 21 22 ci, err := GetState(result) 23 require.NoError(t, err) 24 require.Equal(t, 3*time.Minute, ci.K8sGracePeriod.Duration) 25 require.Equal(t, model.CITimeoutDefault, ci.Timeout.Duration) 26 } 27 28 func TestK8sGracePeriodOverride(t *testing.T) { 29 f := newFixture(t) 30 f.File("Tiltfile", ` 31 ci_settings(k8s_grace_period='3m') 32 ci_settings(k8s_grace_period='5s') 33 `) 34 35 result, err := f.ExecFile("Tiltfile") 36 require.NoError(t, err) 37 38 ci, err := GetState(result) 39 require.NoError(t, err) 40 require.Equal(t, 5*time.Second, ci.K8sGracePeriod.Duration) 41 } 42 43 func TestK8sGracePeriodOverrideEmpty(t *testing.T) { 44 f := newFixture(t) 45 f.File("Tiltfile", ` 46 ci_settings(k8s_grace_period='3m') 47 ci_settings() 48 `) 49 50 result, err := f.ExecFile("Tiltfile") 51 require.NoError(t, err) 52 53 ci, err := GetState(result) 54 require.NoError(t, err) 55 require.Equal(t, 3*time.Minute, ci.K8sGracePeriod.Duration) 56 } 57 58 func TestTimeout(t *testing.T) { 59 f := newFixture(t) 60 f.File("Tiltfile", ` 61 ci_settings(timeout='3m') 62 ci_settings() 63 `) 64 65 result, err := f.ExecFile("Tiltfile") 66 require.NoError(t, err) 67 68 ci, err := GetState(result) 69 require.NoError(t, err) 70 require.Equal(t, 3*time.Minute, ci.Timeout.Duration) 71 } 72 73 func newFixture(t testing.TB) *starkit.Fixture { 74 return starkit.NewFixture(t, NewPlugin(model.CITimeoutFlag(model.CITimeoutDefault))) 75 }