github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/store/helpers_test.go (about)

     1  package store
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/tilt-dev/tilt/pkg/model"
     9  )
    10  
    11  func newState(manifests []model.Manifest) *EngineState {
    12  	ret := NewState()
    13  	for _, m := range manifests {
    14  		ret.ManifestTargets[m.Name] = NewManifestTarget(m)
    15  		ret.ManifestDefinitionOrder = append(ret.ManifestDefinitionOrder, m.Name)
    16  	}
    17  
    18  	return ret
    19  }
    20  
    21  type fakeSubscriber struct {
    22  	onChange      chan onChangeCall
    23  	setupCount    int
    24  	teardownCount int
    25  }
    26  
    27  func newFakeSubscriber() *fakeSubscriber {
    28  	return &fakeSubscriber{
    29  		onChange: make(chan onChangeCall),
    30  	}
    31  }
    32  
    33  type onChangeCall struct {
    34  	done    chan error
    35  	summary ChangeSummary
    36  }
    37  
    38  func (f *fakeSubscriber) assertOnChangeCount(t *testing.T, count int) {
    39  	t.Helper()
    40  
    41  	for i := 0; i < count; i++ {
    42  		f.assertOnChange(t)
    43  	}
    44  
    45  	select {
    46  	case <-time.After(50 * time.Millisecond):
    47  		return
    48  
    49  	case call := <-f.onChange:
    50  		close(call.done)
    51  		t.Fatalf("Expected only %d OnChange calls. Got: %d", count, count+1)
    52  	}
    53  }
    54  
    55  func (f *fakeSubscriber) assertOnChange(t *testing.T) {
    56  	t.Helper()
    57  
    58  	select {
    59  	case <-time.After(50 * time.Millisecond):
    60  		t.Fatalf("timed out waiting for subscriber.OnChange")
    61  	case call := <-f.onChange:
    62  		close(call.done)
    63  	}
    64  }
    65  
    66  func (f *fakeSubscriber) OnChange(ctx context.Context, st RStore, summary ChangeSummary) error {
    67  	call := onChangeCall{done: make(chan error), summary: summary}
    68  	f.onChange <- call
    69  	return <-call.done
    70  }
    71  
    72  func (f *fakeSubscriber) SetUp(ctx context.Context, st RStore) error {
    73  	f.setupCount++
    74  	return nil
    75  }
    76  
    77  func (f *fakeSubscriber) TearDown(ctx context.Context) {
    78  	f.teardownCount++
    79  }
    80  
    81  var _ SetUpper = &fakeSubscriber{}
    82  var _ TearDowner = &fakeSubscriber{}