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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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]);
        }