public void XPathRepository_GetXPathNavigator_CheckDefaultSettings_WithDefaultValueForMissingPropertyDefaultPersistDurationInDays_ReturnValid() { // Arrange var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 0 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode" } }; var testPhoneManagerData = dataModel.ToXmlString(); var method = MockProviders.Repository(testPhoneManagerData); // Act var act = method.GetDefaultSettings(); // Assert Assert.IsTrue(act.DefaultCampaignQueryStringKey == dataModel.DefaultCampaignQueryStringKey); Assert.IsTrue(act.DefaultPersistDurationInDays == 30); }
public void XPathRepository_GetXPathNavigator_ListAllCampaignDetailRecords_ReturnAllRecords() { // Arrange var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 0 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode" }, new PhoneManagerCampaignDetail() { Id = "1202", TelephoneNumber = "0800 000 4567", CampaignCode = "testcode2" } }; var testPhoneManagerData = dataModel.ToXmlString(); var method = MockProviders.Repository(testPhoneManagerData); // Act var act = method.ListAllCampaignDetailRecords(); // Assert Assert.IsTrue(act.Count == 2); }
public void XPathRepository_GetXPathNavigator_GetCampaignDetailById_WithMatchingRecord_ReturnValid() { // Arrange var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 0 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode" }, new PhoneManagerCampaignDetail() { Id = "1202", TelephoneNumber = "0800 000 4567", CampaignCode = "testcode2" } }; var testPhoneManagerData = dataModel.ToXmlString(); var method = MockProviders.Repository(testPhoneManagerData); // Act var act = method.GetCampaignDetailById("1202"); // Assert Assert.AreEqual("1202", act.Id); }
internal void AddProviders(params string[] providerIds) { foreach (var p in providerIds) { MockProviders.Add(p); } }
public void CriteriaProcessor_GetMatchingRecordsFromPhoneManagerTest_WithMatchingData_EntryPageAndCampaignCodeAndReferrer_ReturnsValidResult() { // Arrange // generate test data var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "thisisrubbish", Referrer = "sub.domain.co.uk" }, new PhoneManagerCampaignDetail() { Id = "1302", TelephoneNumber = "0800 000 0000", CampaignCode = "dummy", Referrer = "domain.co.uk" }, new PhoneManagerCampaignDetail() { Id = "1203", TelephoneNumber = "9999 999 9999", CampaignCode = "dummy2", EntryPage = "AboutUs" }, new PhoneManagerCampaignDetail() { Id = "1204", TelephoneNumber = "8888 888 8888", CampaignCode = "testcode", EntryPage = "AboutUs" }, new PhoneManagerCampaignDetail() { Id = "1205", TelephoneNumber = "7777 777 7777", CampaignCode = "testcode", EntryPage = "AboutUs", Referrer = "domain.co.uk" } }; var testPhoneManagerData = dataModel.ToXmlString(); IRepository _repository = MockProviders.Repository(testPhoneManagerData); var criteriaParameters = new CriteriaParameterHolder() { CleansedQueryStrings = new NameValueCollection() { { "fsource", "testcode" } }, RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail() { Referrer = "www.domain.co.uk", EntryPage = "AboutUs" } }; var criteria = new CriteriaProcessor(criteriaParameters, _repository); // Act var results = criteria.GetMatchingRecordFromPhoneManager(); // Assert Assert.IsNotNull(results); Assert.AreEqual(results.Id, "1205"); }
public void QueryStringProvider_GetCleansedQueryStrings_WithNullData_ReturnsNotNull() { // Arrange var mockQueryStringProviderSource = MockProviders.QueryStringImplementation(null); var criteria = new QueryStringProvider(mockQueryStringProviderSource.Object); // Act var results = criteria.GetQueryStrings(); // Assert Assert.IsNotNull(results); }
public void ReferrerCriteria_GetMatchingRecordsFromPhoneManagerTest_WithTopTierDomainAndSubDomainWithMatchingReferrerAndCloseMatch_ReturnsCorrectResult() { // Arrange // generate test data var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode", Referrer = "www.google.co.uk" }, new PhoneManagerCampaignDetail() { Id = "1202", TelephoneNumber = "9909 999 9999", CampaignCode = "testcode2", Referrer = "google.com" }, new PhoneManagerCampaignDetail() { Id = "1203", TelephoneNumber = "8888 888 8888", CampaignCode = "testcode3", Referrer = "google.co.uk" } }; var testPhoneManagerData = dataModel.ToXmlString(); IRepository _repository = MockProviders.Repository(testPhoneManagerData); var criteriaParameters = new CriteriaParameterHolder() { CleansedQueryStrings = null, RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail() { Referrer = "www.search.google.co.uk" } }; var criteria = new ReferrerCriteria(); // Act var results = criteria.GetMatchingRecordsFromPhoneManager(criteriaParameters, _repository); // Assert Assert.IsNotNull(results); Assert.AreEqual(results.Count(), 1); Assert.AreEqual(results.First().Id, "1203"); }
public void QueryStringProvider_GetCleansedQueryStrings_WithDangerousData_ReturnsTrue() { // Arrange var mockQueryStringProviderSource = MockProviders.QueryStringImplementation(new NameValueCollection { { "dummykey", " 'or 1 = 1'" } }); var criteria = new QueryStringProvider(mockQueryStringProviderSource.Object); // Act var results = criteria.GetQueryStrings(); // Assert Assert.IsTrue(results.Count == 1); Assert.IsTrue(results.GetKey(0) == "dummykey"); Assert.IsTrue(results.GetValues("dummykey").First() == "or11"); }
public void QueryStringProvider_GetCleansedQueryStrings_WithValidData_ReturnsTrue() { // Arrange var mockQueryStringProviderSource = MockProviders.QueryStringImplementation(new NameValueCollection { { MockConstants.DefaultData.DefaultCampaignQuerystringKey, MockConstants.MockTestPhoneNumberData.CampaignCode } }); var criteria = new QueryStringProvider(mockQueryStringProviderSource.Object); // Act var results = criteria.GetQueryStrings(); // Assert Assert.IsTrue(results.Count == 1); Assert.IsTrue(results.GetKey(0) == MockConstants.DefaultData.DefaultCampaignQuerystringKey); Assert.IsTrue(results.GetValues(MockConstants.DefaultData.DefaultCampaignQuerystringKey).Contains(MockConstants.MockTestPhoneNumberData.CampaignCode)); }
public void QueryStringCriteria_GetMatchingRecordsFromPhoneManagerTest_WithMatchingQS_ReturnsCorrectResults() { // Arrange // generate test data var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode" } }; var testPhoneManagerData = dataModel.ToXmlString(); IRepository _repository = MockProviders.Repository(testPhoneManagerData); var criteriaParameters = new CriteriaParameterHolder() { CleansedQueryStrings = new NameValueCollection() { { "dummykey", "nothing" }, { "fsource", "testcode" } }, RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail() { EntryPage = dataModel.PhoneManagerCampaignDetail.First().EntryPage } }; var criteria = new QueryStringCriteria(); // Act var results = criteria.GetMatchingRecordsFromPhoneManager(criteriaParameters, _repository); // Assert Assert.IsNotNull(results); Assert.AreEqual(results.Count(), 1); Assert.AreEqual(results.First().CampaignCode, dataModel.PhoneManagerCampaignDetail.First().CampaignCode); }
public void CriteriaProcessor_GetMatchingRecordsFromPhoneManagerTest_WithNoMatchingData_ButWithDefault_ReturnsDefaultRecord() { // Arrange // generate test data var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode" }, new PhoneManagerCampaignDetail() { Id = "1202", TelephoneNumber = "0800 000 0000", IsDefault = true } }; var testPhoneManagerData = dataModel.ToXmlString(); IRepository _repository = MockProviders.Repository(testPhoneManagerData); var criteriaParameters = new CriteriaParameterHolder() { CleansedQueryStrings = null, RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail() { } }; var criteria = new CriteriaProcessor(criteriaParameters, _repository); // Act var results = criteria.GetMatchingRecordFromPhoneManager(); // Assert Assert.IsNotNull(results); Assert.AreEqual("1202", results.Id); }
public void ReferrerCriteria_GetMatchingRecordsFromPhoneManagerTest_WithNoMatchingReferrer_ReturnsEmptyResults() { // Arrange // generate test data var dataModel = new PhoneManagerModel() { DefaultCampaignQueryStringKey = "fsource", DefaultPersistDurationInDays = 32 }; dataModel.PhoneManagerCampaignDetail = new List <PhoneManagerCampaignDetail>() { new PhoneManagerCampaignDetail() { Id = "1201", TelephoneNumber = "0800 123 4567", CampaignCode = "testcode", Referrer = "google.co.uk" } }; var testPhoneManagerData = dataModel.ToXmlString(); IRepository _repository = MockProviders.Repository(testPhoneManagerData); var criteriaParameters = new CriteriaParameterHolder() { CleansedQueryStrings = null, RequestInfo_NotIncludingQueryStrings = new PhoneManagerCampaignDetail() { Referrer = "bing.com" } }; var criteria = new ReferrerCriteria(); // Act var results = criteria.GetMatchingRecordsFromPhoneManager(criteriaParameters, _repository); // Assert Assert.IsNotNull(results); Assert.AreEqual(results.Count(), 0); }