@@ -32,20 +32,29 @@ func TestClientRateLimiter(t *testing.T) {
3232 mockedServerState .requestTimesByMethod [r .Method ] = append (mockedServerState .requestTimesByMethod [r .Method ], time .Now ())
3333 t .Logf ("request %s %s %s" , time .Now ().Format ("15:04:05" ), r .Method , r .URL .String ())
3434
35- if r .Method == http .MethodPost {
35+ switch r .Method {
36+ case http .MethodPost :
3637 sessionId := mockedServerState .nextSessionId
3738 mockedServerState .nextSessionId ++
3839 w .WriteHeader (http .StatusOK )
39- w .Write ([]byte (fmt .Sprintf ("{\" id\" :\" %d\" ,\" stepsCompleted\" :0,\" totalSteps\" :%d}" , sessionId , totalSteps )))
40- } else if r .Method == http .MethodGet {
40+ _ , err := fmt .Fprintf (w , "{\" id\" :\" %d\" ,\" stepsCompleted\" :0,\" totalSteps\" :%d}" , sessionId , totalSteps )
41+ if err != nil {
42+ t .Fatalf ("failed to write response: %v" , err )
43+ }
44+
45+ case http .MethodGet :
4146 sessionId := r .URL .Path
4247 lastStepSeen , err := strconv .Atoi (r .URL .Query ().Get ("lastStepSeen" ))
4348 if err != nil {
4449 t .Fatalf ("failed to parse path %s: %v" , r .URL .String (), err )
4550 }
4651 w .WriteHeader (http .StatusOK )
47- w .Write ([]byte (fmt .Sprintf ("{\" id\" :\" %s\" ,\" stepsCompleted\" :%d,\" totalSteps\" :%d}" , sessionId , lastStepSeen + 1 , totalSteps )))
48- } else if r .Method == http .MethodDelete {
52+ _ , err = fmt .Fprintf (w , "{\" id\" :\" %s\" ,\" stepsCompleted\" :%d,\" totalSteps\" :%d}" , sessionId , lastStepSeen + 1 , totalSteps )
53+ if err != nil {
54+ t .Fatalf ("failed to write response: %v" , err )
55+ }
56+
57+ case http .MethodDelete :
4958 w .WriteHeader (http .StatusOK )
5059 }
5160 }))
@@ -69,14 +78,21 @@ func TestClientRateLimiter(t *testing.T) {
6978 }
7079
7180 var waitGroup sync.WaitGroup
81+ var clientErr error
7282 for i := 0 ; i < 3 ; i ++ {
7383 waitGroup .Add (1 )
7484 go func () {
7585 defer waitGroup .Done ()
76- datasetClient .DoLRQRequest (context .Background (), request )
86+ _ , err := datasetClient .DoLRQRequest (context .Background (), request )
87+ if err != nil {
88+ clientErr = err
89+ }
7790 }()
7891 }
7992 waitGroup .Wait ()
93+ if clientErr != nil {
94+ t .Fatalf ("failed to execute (at least one) request: %v" , clientErr )
95+ }
8096
8197 // Find the minimum time difference between consecutive elements.
8298 // The elements are expected to be already sorted ascendingly.
0 commit comments