@@ -773,6 +773,7 @@ mod test {
773773 let _ = env_logger:: builder ( ) . is_test ( true ) . try_init ( ) ;
774774
775775 let _m = mock ( "GET" , "/api/v8/application/client_name/credentials" )
776+ . match_query ( Matcher :: Any )
776777 . with_body (
777778 serde_json:: json!( {
778779 "application_id" : "id" ,
@@ -782,6 +783,7 @@ mod test {
782783 )
783784 . create ( ) ;
784785 let _m = mock ( "POST" , "/oauth/token" )
786+ . match_query ( Matcher :: Any )
785787 . with_body (
786788 serde_json:: json!( {
787789 "access_token" : "token" ,
@@ -807,8 +809,10 @@ mod test {
807809 fn gets_organizations ( ) {
808810 let ( core, _addr) = init ( ) ;
809811 let _m = mock ( "GET" , "/api/v8/org.json" )
810- . match_header ( "client" , "some_client" )
811- . match_header ( "client_version" , "some_ver" )
812+ . match_query ( Matcher :: AllOf ( vec ! [
813+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
814+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
815+ ] ) )
812816 . with_body (
813817 serde_json:: json!( [
814818 {
@@ -830,8 +834,10 @@ mod test {
830834 fn downloads_or_update_exercises ( ) {
831835 let ( core, _addr) = init ( ) ;
832836 let _m = mock ( "GET" , "/api/v8/core/exercises/1234/download" )
833- . match_header ( "client" , "some_client" )
834- . match_header ( "client_version" , "some_ver" )
837+ . match_query ( Matcher :: AllOf ( vec ! [
838+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
839+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
840+ ] ) )
835841 . with_body_from_file ( Path :: new ( "tests/data/81842.zip" ) )
836842 . create ( ) ;
837843
@@ -847,8 +853,10 @@ mod test {
847853 fn gets_course_details ( ) {
848854 let ( core, _addr) = init ( ) ;
849855 let _m = mock ( "GET" , "/api/v8/core/courses/1234" )
850- . match_header ( "client" , "some_client" )
851- . match_header ( "client_version" , "some_ver" )
856+ . match_query ( Matcher :: AllOf ( vec ! [
857+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
858+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
859+ ] ) )
852860 . with_body ( serde_json:: json!( {
853861 "course" : {
854862 "id" : 588 ,
@@ -899,8 +907,10 @@ mod test {
899907 fn lists_courses ( ) {
900908 let ( core, _addr) = init ( ) ;
901909 let _m = mock ( "GET" , "/api/v8/core/org/slug/courses" )
902- . match_header ( "client" , "some_client" )
903- . match_header ( "client_version" , "some_ver" )
910+ . match_query ( Matcher :: AllOf ( vec ! [
911+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
912+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
913+ ] ) )
904914 . with_body ( serde_json:: json!( [
905915 {
906916 "id" : 277 ,
@@ -928,8 +938,10 @@ mod test {
928938 let ( core, url) = init ( ) ;
929939 let submission_url = Url :: parse ( & format ! ( "{}/submission" , url) ) . unwrap ( ) ;
930940 let _m = mock ( "POST" , "/submission" )
931- . match_header ( "client" , "some_client" )
932- . match_header ( "client_version" , "some_ver" )
941+ . match_query ( Matcher :: AllOf ( vec ! [
942+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
943+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
944+ ] ) )
933945 . match_body ( Matcher :: Regex ( "paste" . to_string ( ) ) )
934946 . match_body ( Matcher :: Regex ( "message_for_paste" . to_string ( ) ) )
935947 . match_body ( Matcher :: Regex ( "abcdefg" . to_string ( ) ) )
@@ -972,8 +984,10 @@ mod test {
972984 let ( core, url) = init ( ) ;
973985 let feedback_url = Url :: parse ( & format ! ( "{}/feedback" , url) ) . unwrap ( ) ;
974986 let _m = mock ( "POST" , "/feedback" )
975- . match_header ( "client" , "some_client" )
976- . match_header ( "client_version" , "some_ver" )
987+ . match_query ( Matcher :: AllOf ( vec ! [
988+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
989+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
990+ ] ) )
977991 . match_body ( Matcher :: AllOf ( vec ! [
978992 Matcher :: Regex ( r#"answers\[0\]\[question_id\]"# . to_string( ) ) ,
979993 Matcher :: Regex ( r#"answers\[0\]\[answer\]"# . to_string( ) ) ,
@@ -1016,8 +1030,10 @@ mod test {
10161030 let ( core, url) = init ( ) ;
10171031 let submission_url = Url :: parse ( & format ! ( "{}/submission" , url) ) . unwrap ( ) ;
10181032 let _m = mock ( "POST" , "/submission" )
1019- . match_header ( "client" , "some_client" )
1020- . match_header ( "client_version" , "some_ver" )
1033+ . match_query ( Matcher :: AllOf ( vec ! [
1034+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1035+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1036+ ] ) )
10211037 . match_body ( Matcher :: Regex ( r#"submission\[file\]"# . to_string ( ) ) )
10221038 . with_body (
10231039 serde_json:: json!( {
@@ -1046,8 +1062,10 @@ mod test {
10461062 fn gets_exercise_updates ( ) {
10471063 let ( core, _addr) = init ( ) ;
10481064 let _m = mock ( "GET" , "/api/v8/core/courses/1234" )
1049- . match_header ( "client" , "some_client" )
1050- . match_header ( "client_version" , "some_ver" )
1065+ . match_query ( Matcher :: AllOf ( vec ! [
1066+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1067+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1068+ ] ) )
10511069 . with_body ( serde_json:: json!( {
10521070 "course" : {
10531071 "id" : 588 ,
@@ -1164,8 +1182,10 @@ mod test {
11641182 let ( core, addr) = init ( ) ;
11651183 let reviews_url = Url :: parse ( & format ! ( "{}/reviews" , addr) ) . unwrap ( ) ;
11661184 let _m = mock ( "GET" , "/reviews" )
1167- . match_header ( "client" , "some_client" )
1168- . match_header ( "client_version" , "some_ver" )
1185+ . match_query ( Matcher :: AllOf ( vec ! [
1186+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1187+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1188+ ] ) )
11691189 . with_body (
11701190 serde_json:: json!( [
11711191 {
@@ -1197,8 +1217,10 @@ mod test {
11971217 let ( core, url) = init ( ) ;
11981218 let submission_url = Url :: parse ( & format ! ( "{}/submission" , url) ) . unwrap ( ) ;
11991219 let _m = mock ( "POST" , "/submission" )
1200- . match_header ( "client" , "some_client" )
1201- . match_header ( "client_version" , "some_ver" )
1220+ . match_query ( Matcher :: AllOf ( vec ! [
1221+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1222+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1223+ ] ) )
12021224 . match_body ( Matcher :: Regex ( "request_review" . to_string ( ) ) )
12031225 . match_body ( Matcher :: Regex ( "message_for_reviewer" . to_string ( ) ) )
12041226 . match_body ( Matcher :: Regex ( "abcdefg" . to_string ( ) ) )
@@ -1231,8 +1253,10 @@ mod test {
12311253 let ( core, addr) = init ( ) ;
12321254 let solution_url = Url :: parse ( & format ! ( "{}/solution" , addr) ) . unwrap ( ) ;
12331255 let _m = mock ( "GET" , "/solution" )
1234- . match_header ( "client" , "some_client" )
1235- . match_header ( "client_version" , "some_ver" )
1256+ . match_query ( Matcher :: AllOf ( vec ! [
1257+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1258+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1259+ ] ) )
12361260 . with_body_from_file ( Path :: new ( "tests/data/81842.zip" ) )
12371261 . create ( ) ;
12381262
@@ -1247,8 +1271,10 @@ mod test {
12471271 fn checks_submission_processing ( ) {
12481272 let ( core, addr) = init ( ) ;
12491273 let _m = mock ( "GET" , "/submission-url" )
1250- . match_header ( "client" , "some_client" )
1251- . match_header ( "client_version" , "some_ver" )
1274+ . match_query ( Matcher :: AllOf ( vec ! [
1275+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1276+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1277+ ] ) )
12521278 . with_body (
12531279 serde_json:: json!( {
12541280 "status" : "processing" ,
@@ -1272,6 +1298,10 @@ mod test {
12721298 fn checks_submission_finished ( ) {
12731299 let ( core, addr) = init ( ) ;
12741300 let _m = mock ( "GET" , "/submission-url" )
1301+ . match_query ( Matcher :: AllOf ( vec ! [
1302+ Matcher :: UrlEncoded ( "client" . into( ) , "some_client" . into( ) ) ,
1303+ Matcher :: UrlEncoded ( "client_version" . into( ) , "some_ver" . into( ) ) ,
1304+ ] ) )
12751305 . with_body ( serde_json:: json!( {
12761306 "api_version" : 7 ,
12771307 "all_tests_passed" : true ,
0 commit comments