@@ -2718,45 +2718,16 @@ func TestPageOnResponse(t *testing.T) {
2718
2718
},
2719
2719
}
2720
2720
2721
- // Compare each request one by one for better test failure visibility
2721
+ // Compare each response one by one for better test failure visibility
2722
2722
for _ , resp := range responses {
2723
- i := - 1
2724
- for j , e := range expected {
2725
- if resp .RequestURL == e .RequestURL {
2726
- i = j
2727
- break
2728
- }
2729
- }
2730
- assert .NotEqual (t , - 1 , i , "failed to find expected response with request URL %s" , resp .RequestURL )
2731
-
2732
- assert .Equal (t , expected [i ].AllHeaders , resp .AllHeaders , "AllHeaders mismatch" )
2733
- assert .Equal (t , expected [i ].Body , resp .Body , "Body mismatch" )
2734
- assert .Equal (t , expected [i ].FrameURL , resp .FrameURL , "FrameUrl mismatch" )
2735
- assert .Equal (t , expected [i ].AcceptLanguageHeader , resp .AcceptLanguageHeader , "AcceptLanguageHeader mismatch" )
2736
- assert .Equal (t , expected [i ].AcceptLanguageHeaders , resp .AcceptLanguageHeaders , "AcceptLanguageHeaders mismatch" )
2737
- assert .Equal (t , expected [i ].Headers , resp .Headers , "Headers mismatch" )
2738
- assert .Equal (t , expected [i ].JSON , resp .JSON , "JSON mismatch" )
2739
- assert .Equal (t , expected [i ].OK , resp .OK , "OK mismatch" )
2740
- assert .Equal (t , expected [i ].RequestURL , resp .RequestURL , "RequestURL mismatch" )
2741
- assert .Equal (t , expected [i ].SecurityDetails , resp .SecurityDetails , "SecurityDetails mismatch" )
2742
- assert .Equal (t , expected [i ].ServerAddr , resp .ServerAddr , "ServerAddr mismatch" )
2743
- assert .Equal (t , expected [i ].Size , resp .Size , "Size mismatch" )
2744
- assert .Equal (t , expected [i ].Status , resp .Status , "Status mismatch" )
2745
- assert .Equal (t , expected [i ].StatusText , resp .StatusText , "StatusText mismatch" )
2746
- assert .Equal (t , expected [i ].URL , resp .URL , "URL mismatch" )
2747
- assert .Equal (t , expected [i ].Text , resp .Text , "Text mismatch" )
2748
-
2749
- // Compare HeadersArray elements one by one
2750
- assert .Equal (t , len (expected [i ].HeadersArray ), len (resp .HeadersArray ), "HeadersArray length mismatch" )
2751
- for _ , expectedHeader := range expected [i ].HeadersArray {
2752
- found := false
2753
- for _ , actualHeader := range resp .HeadersArray {
2754
- if expectedHeader ["name" ] == actualHeader ["name" ] && expectedHeader ["value" ] == actualHeader ["value" ] {
2755
- found = true
2756
- break
2757
- }
2758
- }
2759
- assert .True (t , found , fmt .Sprintf ("Expected header {name: %s, value: %s} not found in actual headers" , expectedHeader ["name" ], expectedHeader ["value" ]))
2723
+ i := slices .IndexFunc (expected , func (r response ) bool { return resp .URL == r .URL })
2724
+ assert .NotEqual (t , - 1 , i , "failed to find expected request with URL %s" , resp .URL )
2725
+
2726
+ sortByName := func (m1 , m2 map [string ]string ) int {
2727
+ return strings .Compare (m1 ["name" ], m2 ["name" ])
2760
2728
}
2729
+ slices .SortFunc (resp .HeadersArray , sortByName )
2730
+ slices .SortFunc (expected [i ].HeadersArray , sortByName )
2731
+ assert .Equal (t , expected [i ], resp )
2761
2732
}
2762
2733
}
0 commit comments