@@ -118,8 +118,23 @@ protected Cloudinary GetCloudinaryInstance(Account account)
118118 /// <param name="requestParams">Parameters for Cloudinary call</param>
119119 /// <param name="cloudinaryCall">Cloudinary call, e.g. "(cloudinaryInstance, params) => {return cloudinaryInstance.Text(params); }"</param>
120120 /// <returns></returns>
121- protected string GetMockBodyOfCoudinaryRequest < TParams , TResult > ( TParams requestParams , Func < Cloudinary , TParams , TResult > cloudinaryCall )
122- where TParams : BaseParams
121+ protected string GetMockBodyOfCoudinaryRequest < TParams , TResult > ( TParams requestParams , Func < Cloudinary , TParams , TResult > cloudinaryCall )
122+ where TParams : BaseParams
123+ where TResult : BaseResult
124+ {
125+ HttpWebRequest request = null ;
126+ return GetMockBodyOfCoudinaryRequest ( requestParams , cloudinaryCall , out request ) ;
127+ }
128+
129+ /// <summary>
130+ /// Get stream represented as String and request object from mock request to Cloudinary API
131+ /// </summary>
132+ /// <param name="requestParams">Parameters for Cloudinary call</param>
133+ /// <param name="cloudinaryCall">Cloudinary call, e.g. "(cloudinaryInstance, params) => {return cloudinaryInstance.Text(params); }"</param>
134+ /// <param name="request">HttpWebRequest object as out parameter for further analyze of properties</param>
135+ /// <returns></returns>
136+ protected string GetMockBodyOfCoudinaryRequest < TParams , TResult > ( TParams requestParams , Func < Cloudinary , TParams , TResult > cloudinaryCall , out HttpWebRequest request )
137+ where TParams : BaseParams
123138 where TResult : BaseResult
124139 {
125140 #region Mock infrastructure
@@ -129,12 +144,12 @@ protected string GetMockBodyOfCoudinaryRequest<TParams, TResult>(TParams request
129144 mock . Setup ( x => x . GetResponse ( ) ) . Returns ( ( WebResponse ) null ) ;
130145 mock . CallBase = true ;
131146
132- HttpWebRequest request = null ;
147+ HttpWebRequest localRequest = null ;
133148 Func < string , HttpWebRequest > requestBuilder = ( x ) =>
134149 {
135- request = mock . Object ;
136- request . Headers = new WebHeaderCollection ( ) ;
137- return request ;
150+ localRequest = mock . Object ;
151+ localRequest . Headers = new WebHeaderCollection ( ) ;
152+ return localRequest ;
138153 } ;
139154 #endregion
140155
@@ -148,7 +163,8 @@ protected string GetMockBodyOfCoudinaryRequest<TParams, TResult>(TParams request
148163 // consciously return null in GetResponse() and extinguish the ArgumentNullException while parsing response, 'cause it's not in focus of current test
149164 catch ( ArgumentNullException ) { }
150165
151- MemoryStream stream = request . GetRequestStream ( ) as MemoryStream ;
166+ MemoryStream stream = localRequest . GetRequestStream ( ) as MemoryStream ;
167+ request = localRequest ;
152168 return System . Text . Encoding . Default . GetString ( stream . ToArray ( ) ) ;
153169 }
154170
0 commit comments