github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/testutils/uiresourcebuilder/uiresourcebuilder.go (about) 1 package uiresourcebuilder 2 3 import ( 4 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 5 6 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 7 ) 8 9 type UIResourceBuilder struct { 10 name string 11 disabledCount int 12 disableSource *v1alpha1.DisableSource 13 labels map[string]string 14 } 15 16 func New(name string) *UIResourceBuilder { 17 return &UIResourceBuilder{ 18 name: name, 19 labels: make(map[string]string), 20 } 21 } 22 23 func (u *UIResourceBuilder) WithDisabledCount(i int) *UIResourceBuilder { 24 u.disabledCount = i 25 return u 26 } 27 28 func (u *UIResourceBuilder) WithDisableSource(s v1alpha1.DisableSource) *UIResourceBuilder { 29 u.disableSource = &s 30 return u 31 } 32 33 func (u *UIResourceBuilder) WithLabel(l string) *UIResourceBuilder { 34 u.labels[l] = l 35 return u 36 } 37 38 func (u *UIResourceBuilder) Build() *v1alpha1.UIResource { 39 result := &v1alpha1.UIResource{ 40 ObjectMeta: metav1.ObjectMeta{ 41 Name: u.name, 42 Labels: u.labels, 43 }, 44 Status: v1alpha1.UIResourceStatus{ 45 DisableStatus: v1alpha1.DisableResourceStatus{ 46 DisabledCount: int32(u.disabledCount), 47 }, 48 }, 49 } 50 if u.disableSource != nil { 51 result.Status.DisableStatus.Sources = append(result.Status.DisableStatus.Sources, *u.disableSource) 52 } 53 54 return result 55 }