File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
internal/awslambda/extension/telemetry Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -3,8 +3,10 @@ package telemetry
33import (
44 "bytes"
55 "context"
6+ "fmt"
67 "net"
78 "net/http"
9+ "strings"
810 "testing"
911 "time"
1012
@@ -75,6 +77,10 @@ func TestRuntimeDoneHook(t *testing.T) {
7577 defer cancel ()
7678 go s .Start (ctx )
7779
80+ if err := waitForListener (l .Addr ().String (), 1 * time .Second ); err != nil {
81+ panic (err )
82+ }
83+
7884 res , err := http .Post (s .Endpoint (), "application/json" , bytes .NewReader (p ))
7985 require .NoError (t , err )
8086 defer res .Body .Close ()
@@ -85,6 +91,21 @@ func TestRuntimeDoneHook(t *testing.T) {
8591 }
8692}
8793
94+ func waitForListener (addr string , timeout time.Duration ) error {
95+ stop := time .Now ().Add (timeout )
96+ var err error
97+ for time .Now ().Before (stop ) {
98+ var c net.Conn
99+ if c , err = net .Dial ("tcp" , addr ); err == nil {
100+ _ = c .Close ()
101+ return nil
102+ } else if ! strings .Contains (err .Error (), "connection refused" ) {
103+ return err
104+ }
105+ }
106+ return fmt .Errorf ("timed out waiting for listener: %w" , err )
107+ }
108+
88109func TestServerReturnsCorrectEndpoint (t * testing.T ) {
89110 t .Parallel ()
90111 s := NewServer (LambdaRuntimeAvailableAddr , logrus .New (), NoopHook ())
You can’t perform that action at this time.
0 commit comments