github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/controllers/core/cmd/probe_fake.go (about) 1 package cmd 2 3 import ( 4 "context" 5 "net/http" 6 "net/url" 7 "sync/atomic" 8 9 "github.com/tilt-dev/probe/pkg/prober" 10 ) 11 12 func NewFakeProberManager() *FakeProberManager { 13 return &FakeProberManager{} 14 } 15 16 type FakeProberManager struct { 17 probeCount int32 18 19 httpURL *url.URL 20 httpHeaders http.Header 21 22 tcpHost string 23 tcpPort int 24 25 execName string 26 execArgs []string 27 } 28 29 func (m *FakeProberManager) HTTPGet(u *url.URL, headers http.Header) prober.ProberFunc { 30 m.httpURL = u 31 m.httpHeaders = headers 32 atomic.AddInt32(&m.probeCount, 1) 33 return successProbe 34 } 35 36 func (m *FakeProberManager) TCPSocket(host string, port int) prober.ProberFunc { 37 m.tcpHost = host 38 m.tcpPort = port 39 atomic.AddInt32(&m.probeCount, 1) 40 return successProbe 41 } 42 43 func (m *FakeProberManager) Exec(name string, args ...string) prober.ProberFunc { 44 m.execName = name 45 m.execArgs = args 46 atomic.AddInt32(&m.probeCount, 1) 47 return successProbe 48 } 49 50 func (m *FakeProberManager) ProbeCount() int { 51 return int(atomic.LoadInt32(&m.probeCount)) 52 } 53 54 func successProbe(_ context.Context) (prober.Result, string, error) { 55 return prober.Success, "fake probe succeeded!", nil 56 }