MCPcopy
hub / github.com/passteque/gluetun / Test_Server_Run_success

Function Test_Server_Run_success

internal/httpserver/run_test.go:13–46  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func Test_Server_Run_success(t *testing.T) {
14 t.Parallel()
15
16 ctrl := gomock.NewController(t)
17
18 logger := NewMockLogger(ctrl)
19 logger.EXPECT().Info(newRegexMatcher("^http server listening on 127.0.0.1:[1-9][0-9]{0,4}$"))
20 const shutdownTimeout = 10 * time.Second
21
22 server := &Server{
23 address: "127.0.0.1:0",
24 addressSet: make(chan struct{}),
25 logger: logger,
26 shutdownTimeout: shutdownTimeout,
27 }
28
29 ctx, cancel := context.WithCancel(context.Background())
30 ready := make(chan struct{})
31 done := make(chan struct{})
32
33 go server.Run(ctx, ready, done)
34
35 addressRegex := regexp.MustCompile(`^127.0.0.1:[1-9][0-9]{0,4}$`)
36 address := server.GetAddress()
37 assert.Regexp(t, addressRegex, address)
38 address = server.GetAddress()
39 assert.Regexp(t, addressRegex, address)
40
41 <-ready
42
43 cancel()
44 _, ok := <-done
45 assert.False(t, ok)
46}
47
48func Test_Server_Run_failure(t *testing.T) {
49 t.Parallel()

Callers

nothing calls this directly

Calls 6

EXPECTMethod · 0.95
RunMethod · 0.95
GetAddressMethod · 0.95
NewMockLoggerFunction · 0.70
newRegexMatcherFunction · 0.70
InfoMethod · 0.65

Tested by

no test coverage detected