public void ServiceBaseGenerates_WebRequestEntities_From_SharedWebRequestFactory() { // arrange var uri = new Uri("http://www.google.com"); var factory = new TestWebRequestFactoryEx(); var user = new UserContract { Name = "Freddie" }; factory.RegisterResultForUri(uri.ToString(), user.ToJson()); // if our hook is working then we should get contracts from google and not a search page WebRequestFactory.SetSharedWebRequestFactory(factory); // act var service = new TestServiceBase(new ApiConfiguration("<<clientid>>", "<<clientsecret>>", "<<redirecturl>>"), null, null); // assert var contract = service.Get(uri); Assert.AreNotSame(user, contract); Assert.AreEqual(user.Name, contract.Name); }
public void BodyIsReturned_AfterUpdateOperation([ValueSource("_putActionsEx")] Tuple <string, Func <TestMutableService, CompanyFile, UserContract> > action) { var cf = new CompanyFile() { Uri = new Uri("https://dc1.api.myob.com/accountright/7D5F5516-AF68-4C5B-844A-3F054E00DF10") }; var location = cf.Uri.AbsoluteUri + "/Test/User/Contract/" + UID; var entity = new UserContract() { UID = UID }; _webFactory.RegisterResultForUri(cf.Uri.AbsoluteUri + "/Test/User/Contract/" + UID + "?returnbody=true", entity.ToJson(), HttpStatusCode.OK, location); // act var received = action.Item2(_service, cf); // assert Assert.IsNotNull(received, "Incorrect data received during {0} operation", action.Item1); Assert.AreEqual(entity.UID, received.UID); }
public void GetCompanyUsingCompanyFileBaseUrl([ValueSource("_testGetOnlyActions")] Tuple <string, Func <TestGetOnlyService, CompanyFile, UserContract> > action) { //arrange var contract = new UserContract { UID = _uid }; var cf = new CompanyFile { Uri = new Uri("https://dc1.api.myob.com/accountright/7D5F5516-AF68-4C5B-844A-3F054E00DF10") }; _webFactory.RegisterResultForUri(cf.Uri.AbsoluteUri + "/Test/User/Contract", contract.ToJson()); // act var received = action.Item2(_service, cf); // assert Assert.AreEqual(_uid, received.UID, "Incorrect data received during {0} operation", action.Item1); }
public void Get_IfRequestIsMadeWithETag_IfNoneMatchHeaderIsAttachedToRequest([ValueSource("_getByUriActionsEtag")] Tuple <string, Func <TestGetOnlyService, CompanyFile, UserContract> > action) { // arrange var contract = new UserContract { UID = _uid }; var cf = new CompanyFile() { Uri = new Uri("https://dc1.api.myob.com/accountright/7D5F5516-AF68-4C5B-844A-3F054E00DF10") }; _webFactory.RegisterResultForUri(cf.Uri.AbsoluteUri + "/Test/User/Contract", contract.ToJson()); HttpWebRequest request = null; _webFactory.CreatedWebRequest += _ => request = (HttpWebRequest)_; // act var received = action.Item2(_service, cf); // assert Assert.AreEqual("987654321", request.Headers[HttpRequestHeader.IfNoneMatch]); }