Ejemplo n.º 1
0
        public void GetSingleContactWithContactId()
        {
            var contactsProxy = new ContactsProxy();

            //Find Test contact to obtain their Id.
            var contactsResponse = AssertContactProxy(contactsProxy, givenName: "carl", familyName: "o'neil", contactId: "GLD879");

            Assert.IsTrue(contactsResponse.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");

            var proxy = new ContactProxy();

            var id = contactsResponse.DataObject.Contacts[0].Id;
            Assert.IsNotNull(id);
            var response = proxy.GetContact(id.Value);

            Assert.IsNotNull(response);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);
            Assert.IsNotNull(response.DataObject._links);
            Assert.IsTrue(response.DataObject._links.Count > 0);
            Assert.IsTrue(response.DataObject.Id == id);
        }
Ejemplo n.º 2
0
        public void GetContactsShouldReturnContactsUsingOAuth()
        {
            var accessToken = TestHelper.SignInAndGetAccessToken();

            var proxy = new ContactsProxy(accessToken);
            AssertContactProxy(proxy);
        }
Ejemplo n.º 3
0
 public void GetContactsShouldReturnContactsUsingWsAccessKey()
 {
     var proxy = new ContactsProxy();
     AssertContactProxy(proxy);
 }
        public void ValidBearerTokenButNoFileIdShouldFailWhenMakingApiCall()
        {
            var proxy = new AuthorisationProxy();
            var scope = new AuthorisationScope[] { new AuthorisationScope { ScopeType = AuthorisationScopeType.Full } }.ToTextValues();
            var response = proxy.PasswordCredentialsGrantRequest(TestConfig.TestUser, TestConfig.TestUserPassword, scope);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsTrue(response.DataObject.IsSuccessfull);
            proxy.BearerToken = response.DataObject.AccessGrant.access_token;

            var contactProxy = new ContactsProxy(response.DataObject.AccessGrant.access_token);
            contactProxy.FileId = 0; // invalid file id so it should fail.
            var contactResponse = contactProxy.GetContacts();

            Assert.IsNotNull(contactResponse, "No response returned wwhen access contacts resource");
            Assert.IsFalse(contactResponse.IsSuccessfull, "Expected GET Contacts to fail as used an invalid File Id");
            Assert.AreEqual(contactResponse.StatusCode, HttpStatusCode.Unauthorized, "Expected Unauthorized status code as used an invalid FileId");
        }
Ejemplo n.º 5
0
        public void GetContactsSecondPage()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy, pageNumber: 1, pageSize: 2);

            var idsFromPage1 = response.DataObject.Contacts.Select(c => c.Id).ToList();

            response = AssertContactProxy(proxy, pageNumber: 2, pageSize: 2);

            response.DataObject.Contacts.ForEach(c => Assert.IsFalse(idsFromPage1.Contains(c.Id), "Record(s) from page 1 were returned"));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Search for fictious partner contact.
 /// </summary>
 private static ProxyResponse<ContactResponse> SearchBrad(ContactsProxy proxy)
 {
     var response = proxy.GetContacts(givenName: "brad", familyName: "o'neil", organisationName: "o'neil partner");
     return response;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Search for fictious supplier contact.
 /// </summary>
 private static ProxyResponse<ContactResponse> SearchJenny(ContactsProxy proxy)
 {
     var response = proxy.GetContacts(givenName: "jenny", familyName: "o'neil", organisationName: "o'neil supplier");
     return response;
 }
Ejemplo n.º 8
0
        public void GetContactsFilterOnContactId()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy, contactId: "GLD879");

            Assert.IsTrue(response.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");
        }
Ejemplo n.º 9
0
        public void GetContactsFilterOnEmail()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy, email: "*****@*****.**");

            Assert.IsTrue(response.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");
        }
Ejemplo n.º 10
0
        public void GetContactsFilterActiveContractor()
        {
            var proxy = new ContactsProxy();

            AssertContactProxy(proxy, isActive: true, isContractor: true);
        }
Ejemplo n.º 11
0
        public void GetContactsFilterActiveSupplier()
        {
            var proxy = new ContactsProxy();

            AssertContactProxy(proxy, isActive: true, isSupplier: true);
        }
Ejemplo n.º 12
0
        public void GetContactsAll()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy);
        }
Ejemplo n.º 13
0
        public static ProxyResponse<ContactResponse> AssertContactProxy(ContactsProxy proxy, int? pageNumber = null, int? pageSize = null, DateTime? lastModifiedFromDate = null, DateTime? lastModifiedToDate = null,
            string givenName = null, string familyName = null, string organisationName = null,
            bool? isActive = null, bool? isCustomer = null, bool? isSupplier = null, bool? isContractor = null, bool? isPartner = null,
            string tags = null, string tagSelection = null, string email = null, string contactId = null)
        {
            var response = proxy.GetContacts(pageNumber, pageSize, lastModifiedFromDate, lastModifiedToDate,
                givenName, familyName, organisationName,
                isActive, isCustomer, isSupplier, isContractor, isPartner,
                tags, tagSelection, email, contactId);

            Assert.IsNotNull(response);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);
            Assert.IsNotNull(response.DataObject.Contacts);
            Assert.IsNotNull(response.DataObject._links);
            Assert.IsTrue(response.DataObject._links.Count > 0);
            Assert.IsTrue(response.DataObject.Contacts.Count > 0);

            return response;
        }
Ejemplo n.º 14
0
        private void CreateTestContacts()
        {
            //Billing contact.
            var response = new ContactsProxy().GetContacts(givenName: "TestAPIInvoice", familyName: "BillingContact");

            if (response.DataObject.Contacts.Count == 0)
            {
                var dto = new Ola.RestClient.Dto.ContactDto
                    {
                        GivenName = "TestAPIInvoice",
                        FamilyName = "BillingContact"
                    };

                Ola.RestClient.Proxies.CrudProxy proxy = new Ola.RestClient.Proxies.ContactProxy();
                proxy.Insert(dto);
            }
            else
            {
                _BillingContactId = response.DataObject.Contacts[0].Id.Value;
            }

            //Shipping contact.
            response = new ContactsProxy().GetContacts(givenName: "TestAPIInvoice", familyName: "ShippingContact");

            if (response.DataObject.Contacts.Count == 0)
            {
                var dto = new Ola.RestClient.Dto.ContactDto
                {
                    GivenName = "TestAPIInvoice",
                    FamilyName = "ShippingContact"
                };

                Ola.RestClient.Proxies.CrudProxy proxy = new Ola.RestClient.Proxies.ContactProxy();
                proxy.Insert(dto);
            }
            else
            {
                _ShippingContactId = response.DataObject.Contacts[0].Id.Value;
            }
        }
Ejemplo n.º 15
0
        public void ModifyingContactsIsBooleanFieldsShouldNotAffectOtherIsBooleanFields()
        {
            var contactsProxy = new ContactsProxy();

            //Find Test contact to obtain their Id.
            var contactsResponse = AssertContactProxy(contactsProxy, givenName: "carl", familyName: "o'neil", contactId: "GLD879");

            Assert.IsTrue(contactsResponse.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");

            var proxy = new ContactProxy();

            var testId = contactsResponse.DataObject.Contacts[0].Id;
            var response = proxy.GetContact(testId.Value);
            Assert.IsNotNull(response);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);

            // Now Modify the IsCustomer, IsContractor, IsSupplier, Is... fields and ensure setting one does not clear the other
            var testContact = response.DataObject;
            testContact.IsContractor = true;
            testContact.IsCustomer = true;
            testContact.IsPartner = true;
            testContact.IsSupplier = true;
            var updateResponse = proxy.UpdateContact(testContact, testContact.Id.Value);
            Assert.IsNotNull(updateResponse);
            Assert.IsTrue(updateResponse.IsSuccessfull);

            var updatedResponse1 = proxy.GetContact(testContact.Id.Value);
            Assert.IsTrue(updatedResponse1.IsSuccessfull);
            Assert.AreEqual(testContact.IsContractor, updatedResponse1.DataObject.IsContractor);
            Assert.AreEqual(testContact.IsCustomer, updatedResponse1.DataObject.IsCustomer);
            Assert.AreEqual(testContact.IsPartner, updatedResponse1.DataObject.IsPartner);
            Assert.AreEqual(testContact.IsSupplier, updatedResponse1.DataObject.IsSupplier);

            testContact.LastUpdatedId = updateResponse.DataObject.LastUpdatedId;
            testContact.IsSupplier = false;
            testContact.IsPartner = false;
            var updateResponse2 = proxy.UpdateContact(testContact, testContact.Id.Value);
            Assert.IsNotNull(updateResponse2);
            Assert.IsTrue(updateResponse2.IsSuccessfull);

            var updatedResponse2 = proxy.GetContact(testContact.Id.Value);
            Assert.IsTrue(updatedResponse2.IsSuccessfull);
            Assert.AreEqual(testContact.IsContractor, updatedResponse2.DataObject.IsContractor);
            Assert.AreEqual(testContact.IsCustomer, updatedResponse2.DataObject.IsCustomer);
            Assert.AreEqual(testContact.IsPartner, updatedResponse2.DataObject.IsPartner);
            Assert.AreEqual(testContact.IsSupplier, updatedResponse2.DataObject.IsSupplier);
        }
Ejemplo n.º 16
0
        public void GetContactsFilterOnModifiedDates()
        {
            var proxy = new ContactsProxy();

            //use a year ago and tomorrow as date filters to make sure the test contact Carl O'Brien is picked up.
            AssertContactProxy(proxy, lastModifiedFromDate: DateTime.Now.AddYears(-1), lastModifiedToDate: DateTime.Now.AddDays(1));
        }
Ejemplo n.º 17
0
        internal static ProxyResponse<ContactResponse> VerifyTestContactExistsOrCreate(ContactType contactType)
        {
            var proxy = new ContactsProxy();
            ProxyResponse<ContactResponse> response = null;

            switch (contactType)
            {
                case Ola.RestClient.ContactType.Customer:
                    {
                        response = SearchCarl(proxy);
                        if (response.DataObject.Contacts.Count == 0)
                        {
                            AddCarlCustomer(proxy.WsAccessKey, proxy.FileId);
                            response = SearchCarl(proxy);
                        }
                        break;
                    }
                case Ola.RestClient.ContactType.Supplier:
                    {
                        response = SearchJenny(proxy);
                        if (response.DataObject.Contacts.Count == 0)
                        {
                            AddJennySupplier(proxy.WsAccessKey, proxy.FileId);
                            response = SearchJenny(proxy);
                        }
                        break;
                    }
                case Ola.RestClient.ContactType.Partner:
                    {
                        response = SearchBrad(proxy);
                        if (response.DataObject.Contacts.Count == 0)
                        {
                            AddBradPartner(proxy.WsAccessKey, proxy.FileId);
                            response = SearchBrad(proxy);
                        }
                        break;
                    }
                case Ola.RestClient.ContactType.Contractor:
                    {
                        response = SearchKathy(proxy);
                        if (response.DataObject.Contacts.Count == 0)
                        {
                            AddKathyContractor(proxy.WsAccessKey, proxy.FileId);
                            response = SearchKathy(proxy);
                        }
                        break;
                    }
            }

            if (response != null)
            {
                Assert.IsTrue(response.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");
            }
            else
            {
                Assert.Fail("No contact type specified to be created.");
            }

            return response;
        }
Ejemplo n.º 18
0
        public void GetContactsFilterOnPersonNameAndOrganisationName()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy, givenName: "Carl", familyName: "O'Neil", organisationName: "O'Neil Capital");

            Assert.IsTrue(response.DataObject.Contacts.Count >= 1, "Incorrect number of contacts found.");
        }
Ejemplo n.º 19
0
 /// <summary>
 /// Search for fictious customer contact.
 /// </summary>
 private static ProxyResponse<ContactResponse> SearchCarl(ContactsProxy proxy)
 {
     var response = proxy.GetContacts(givenName: "carl", familyName: "o'neil", organisationName: "o'neil capital");
     return response;
 }
Ejemplo n.º 20
0
        public void GetContactsOnePageOneRecord()
        {
            var proxy = new ContactsProxy();

            var response = AssertContactProxy(proxy, pageNumber: 1, pageSize: 1);

            Assert.AreEqual(1, response.DataObject.Contacts.Count, "Paging of 1 page and 1 record is returning the wrong number of records");
        }
Ejemplo n.º 21
0
 /// <summary>
 /// Search for fictious contractor contact.
 /// </summary>
 private static ProxyResponse<ContactResponse> SearchKathy(ContactsProxy proxy)
 {
     var response = proxy.GetContacts(givenName: "kathy", familyName: "o'neil", organisationName: "o'neil contractor", isContractor: true);
     return response;
 }
        public void ShouldNotBeAbleToUseRefreshTokenToAccessApi()
        {
            var proxy = new AuthorisationProxy();
            var scope = new AuthorisationScope[] { new AuthorisationScope { ScopeType = AuthorisationScopeType.Full } }.ToTextValues();
            var response = proxy.PasswordCredentialsGrantRequest(TestConfig.TestUser, TestConfig.TestUserPassword, scope);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsTrue(response.DataObject.IsSuccessfull);

            var contactProxy = new ContactsProxy(response.DataObject.AccessGrant.refresh_token);
            var contactResponse = contactProxy.GetContacts();
            Assert.IsNotNull(contactResponse, "No response returned wwhen access contacts resource");
            Assert.IsFalse(contactResponse.IsSuccessfull, "Expected GET Contacts to fail used refreshToken instead of access token to access API");
            Assert.AreEqual(contactResponse.StatusCode, HttpStatusCode.Unauthorized, "Expected Unauthorised Status code as used an invalid access token");

            // And now just reverify that we can access via the access token
            contactProxy.BearerToken = response.DataObject.AccessGrant.access_token;
            contactResponse = contactProxy.GetContacts();
            Assert.IsNotNull(contactResponse, "No response returned wwhen access contacts resource");
            Assert.IsTrue(contactResponse.IsSuccessfull, "Expected GET Contacts to succeed since we used valid accessToken to access API");
        }