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  }