The interfaces:- 

 public interface IHttp
    {
        Task<HttpResult> GetAsync(string url, string userAgent = null, 
string cookie = null);
        Task<HttpResult> PostAsync(string uri, Dictionary<string, string> 
formData, string userAgent = null, string cookie = null);
        List<MetaRefreshElement> GetMetaRefreshElements(List<string> list);
        bool StatusIsSuccess(iPassGISHttpStatusCode code);
        bool StatusIsRedirect(iPassGISHttpStatusCode code);
        bool StatusIsSuccessOrRedirect(iPassGISHttpStatusCode code);
        Task<HttpResult> GetOrPostAsync(iPassHttpMethodType method, string 
url, Dictionary<string, string> formData, string userAgent, string cookie = 
null);
    }

The called function :-

 public async Task<bool> AmIOnAsync()
        {
            try
            {
                
                string cookie = "";
                var httpResult = await _http.GetAsync(_url, _userAgent, 
cookie);

                if (_http.StatusIsSuccess(httpResult.StatusCode))
                {
                    
                    if 
(httpResult.Message.Contains(_amIONUrlEntry.ResponseSubstring))
                    {
                       
                        return true;
                    }
                }
              
            }
            catch (Exception exp)
            {
               
            }
            return false;
        }

The test function with stubbed method:-

 
    [TestFixture]
    public class AmIOnTest
    {
        private  MockRepository  mock = null;
        private AmIOnHelper AmIOnObject=null;
        private HttpResult _httpResult = null;
        private  AmIONUrlEntryType _amIONUrlEntry = null;
        private IHttp _http;
        string _url = "";
        string _userAgent = "";
        string cookie = "";
        [SetUp]
        public void setup()
        {
            _httpResult = new HttpResult(); 
            mock = new MockRepository();
            _http = mock.Stub<IHttp>();
            AmIOnObject = new AmIOnHelper(_http);
            _amIONUrlEntry = AmIONUrlEntryType.Default;
            _url = _amIONUrlEntry.Url;
            _userAgent = _amIONUrlEntry.UserAgent;
           


        }
        
        [Test]
        public async Task AmIOnSuccessReturnTrue()
        {
                    
                
                _httpResult.StatusCode = iPassGISHttpStatusCode.OK;
                _httpResult.Message = GisConsts.ResponseSubString;
                _http.Expect(x => x.GetAsync(_url, _userAgent, 
cookie)).Return(new Task<HttpResult>(()=>_httpResult));
                _http.Expect(x 
=>x.StatusIsSuccess(_httpResult.StatusCode)).Return(true);
           
                 bool result = await AmIOnObject.AmIOnAsync();
                  Assert.IsTrue(result, "AmIOn should Have succeed");
      }

     [TearDown]
        public void teardown()
        {
            _http = null;
            AmIOnObject = null;
            _httpResult = null;
        }




-- 
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rhinomocks.
For more options, visit https://groups.google.com/d/optout.

Reply via email to