示例#1
0
        /// <summary>
        /// Mock image web response
        /// </summary>
        /// <param name="mockImageConfig">Mock image config</param>
        /// <returns>Mocked instance</returns>
        public static HttpWebResponse MockImageWebResponse(MockImageWebResponseConfig mockImageConfig)
        {
            // Generate mock
            var webResponse = MockRepository.GenerateMock <HttpWebResponse>();

            // Define stubs
            webResponse.Stub(x => x.StatusCode).Return(mockImageConfig.StatusCode);
            webResponse.Stub(x => x.ContentType).Return(mockImageConfig.ContentType);
            webResponse.Stub(x => x.GetResponseStream()).WhenCalled(invocation =>
            {
                invocation.ReturnValue = new MemoryStream(mockImageConfig.GetImageBytes());
            }).Return(null).Repeat.Any();

            // Return result
            return(webResponse);
        }
        /// <summary>
        /// Arrange image web response mocks on client
        /// </summary>
        /// <param name="client">Client</param>
        /// <param name="mockImageConfig">Mock image config</param>
        /// <returns>Result mocks</returns>
        public static ClientAPIWebQueryMocks ArrangeImageWebResponseMocks(this IMapsAPIClient client,
                                                                          MockImageWebResponseConfig mockImageConfig)
        {
            // Web response
            var webResponse = ClientAPIMockUtils.MockImageWebResponse(mockImageConfig);

            // Web request
            var webRequest = MockRepository.GenerateMock <HttpWebRequest>();

            webRequest.Stub(x => x.GetResponse()).Return(webResponse);

            // Web request util
            var webRequestUtil = MockRepository.GeneratePartialMock <WebRequestUtility>(client);

            webRequestUtil.Stub(x => x.CreateWebRequest(null)).IgnoreArguments().Return(webRequest);

            // Client
            client.Stub(x => x.WebRequestUtility).Return(webRequestUtil);

            // Return result
            return(new ClientAPIWebQueryMocks(webRequestUtil, webRequest, webResponse));
        }