@@ -36,12 +36,15 @@ public void Setup()
36
36
mockClient . SetupGet ( x => x . DefaultParameters ) . Returns ( new List < Parameter > ( ) ) ;
37
37
38
38
mockRequest = new Mock < RestRequest > ( ) ;
39
+
40
+ mockWorkflow = new Mock < OAuthWorkflow > ( ) ;
39
41
}
40
42
41
43
private OAuth1Authenticator authenticator ;
42
44
43
45
private Mock < RestRequest > mockRequest ;
44
46
private Mock < IRestClient > mockClient ;
47
+ private Mock < OAuthWorkflow > mockWorkflow ;
45
48
46
49
[ Test ]
47
50
public void Authenticate_ShouldAddAuthorizationAsTextValueToRequest_OnHttpAuthorizationHeaderHandling ( )
@@ -97,5 +100,26 @@ public void Authenticate_ShouldAddSignatureToRequestAsSeparateParameters_OnUrlOr
97
100
Assert . IsNotNull ( parameters . FirstOrDefault ( x => x . Type == ParameterType . GetOrPost && x . Name == "oauth_nonce" && ! string . IsNullOrWhiteSpace ( ( string ) x . Value ) && x . ContentType == null ) ) ;
98
101
Assert . IsNotNull ( parameters . FirstOrDefault ( x => x . Type == ParameterType . GetOrPost && x . Name == "oauth_timestamp" && ! string . IsNullOrWhiteSpace ( ( string ) x . Value ) && x . ContentType == null ) ) ;
99
102
}
103
+
104
+ [ Test ]
105
+ public void AddOAuthData_ProtectedResource_ShouldRetainQueryParamsFromUrl ( )
106
+ {
107
+ authenticator . Type = OAuthType . ProtectedResource ;
108
+
109
+ var uri = new Uri ( "https://no-query.string?queryparameter=foobartemp" ) ;
110
+ mockClient . Setup ( x => x . BuildUri ( It . IsAny < IRestRequest > ( ) ) ) . Returns ( uri ) ;
111
+
112
+ var mockCall = mockWorkflow
113
+ . Setup ( x => x . BuildProtectedResourceInfo ( It . IsAny < string > ( ) , It . IsAny < WebParameterCollection > ( ) , It . IsAny < string > ( ) ) )
114
+ . Callback < string , WebParameterCollection , string > ( ( methodValue , webParamsValue , urlValue ) =>
115
+ {
116
+ Assert . AreEqual ( uri , urlValue ) ;
117
+ } )
118
+ . Returns ( new OAuthWebQueryInfo ( ) ) ;
119
+
120
+ mockClient . SetupGet ( x => x . DefaultParameters ) . Returns ( new List < Parameter > ( ) ) ;
121
+
122
+ authenticator . AddOAuthData ( mockClient . Object , mockRequest . Object , mockWorkflow . Object ) ;
123
+ }
100
124
}
101
125
}
0 commit comments