@@ -2737,45 +2737,16 @@ func TestPageOnResponse(t *testing.T) {
2737
2737
},
2738
2738
}
2739
2739
2740
- // Compare each request one by one for better test failure visibility
2740
+ // Compare each response one by one for better test failure visibility
2741
2741
for _ , resp := range responses {
2742
- i := - 1
2743
- for j , e := range expected {
2744
- if resp .RequestURL == e .RequestURL {
2745
- i = j
2746
- break
2747
- }
2748
- }
2749
- assert .NotEqual (t , - 1 , i , "failed to find expected response with request URL %s" , resp .RequestURL )
2750
-
2751
- assert .Equal (t , expected [i ].AllHeaders , resp .AllHeaders , "AllHeaders mismatch" )
2752
- assert .Equal (t , expected [i ].Body , resp .Body , "Body mismatch" )
2753
- assert .Equal (t , expected [i ].FrameURL , resp .FrameURL , "FrameUrl mismatch" )
2754
- assert .Equal (t , expected [i ].AcceptLanguageHeader , resp .AcceptLanguageHeader , "AcceptLanguageHeader mismatch" )
2755
- assert .Equal (t , expected [i ].AcceptLanguageHeaders , resp .AcceptLanguageHeaders , "AcceptLanguageHeaders mismatch" )
2756
- assert .Equal (t , expected [i ].Headers , resp .Headers , "Headers mismatch" )
2757
- assert .Equal (t , expected [i ].JSON , resp .JSON , "JSON mismatch" )
2758
- assert .Equal (t , expected [i ].OK , resp .OK , "OK mismatch" )
2759
- assert .Equal (t , expected [i ].RequestURL , resp .RequestURL , "RequestURL mismatch" )
2760
- assert .Equal (t , expected [i ].SecurityDetails , resp .SecurityDetails , "SecurityDetails mismatch" )
2761
- assert .Equal (t , expected [i ].ServerAddr , resp .ServerAddr , "ServerAddr mismatch" )
2762
- assert .Equal (t , expected [i ].Size , resp .Size , "Size mismatch" )
2763
- assert .Equal (t , expected [i ].Status , resp .Status , "Status mismatch" )
2764
- assert .Equal (t , expected [i ].StatusText , resp .StatusText , "StatusText mismatch" )
2765
- assert .Equal (t , expected [i ].URL , resp .URL , "URL mismatch" )
2766
- assert .Equal (t , expected [i ].Text , resp .Text , "Text mismatch" )
2767
-
2768
- // Compare HeadersArray elements one by one
2769
- assert .Equal (t , len (expected [i ].HeadersArray ), len (resp .HeadersArray ), "HeadersArray length mismatch" )
2770
- for _ , expectedHeader := range expected [i ].HeadersArray {
2771
- found := false
2772
- for _ , actualHeader := range resp .HeadersArray {
2773
- if expectedHeader ["name" ] == actualHeader ["name" ] && expectedHeader ["value" ] == actualHeader ["value" ] {
2774
- found = true
2775
- break
2776
- }
2777
- }
2778
- assert .True (t , found , fmt .Sprintf ("Expected header {name: %s, value: %s} not found in actual headers" , expectedHeader ["name" ], expectedHeader ["value" ]))
2742
+ i := slices .IndexFunc (expected , func (r response ) bool { return resp .URL == r .URL })
2743
+ assert .NotEqual (t , - 1 , i , "failed to find expected request with URL %s" , resp .URL )
2744
+
2745
+ sortByName := func (m1 , m2 map [string ]string ) int {
2746
+ return strings .Compare (m1 ["name" ], m2 ["name" ])
2779
2747
}
2748
+ slices .SortFunc (resp .HeadersArray , sortByName )
2749
+ slices .SortFunc (expected [i ].HeadersArray , sortByName )
2750
+ assert .Equal (t , expected [i ], resp )
2780
2751
}
2781
2752
}
0 commit comments