public void CountryPersonalisationGroupCriteria_MatchesVisitor_WithValidDefinitionWithEmptyCountryLists_ReturnsFalse() { // Arrange var mockIpProvider = MockIpProvider(); var mockCountryGeoLocationProvider = MockGeoLocationProvider(); var criteria = new CountryPersonalisationGroupCriteria(mockIpProvider.Object, mockCountryGeoLocationProvider.Object); var definition = "{ \"match\": \"IsLocatedIn\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }
public void CountryPersonalisationGroupCriteria_MatchesVisitor_WithValidDefinitionWithMatchingCountryListAndNotInCheck_ReturnsFalse() { // Arrange var mockIpProvider = MockIpProvider(); var mockCountryGeoLocationProvider = MockGeoLocationProvider(); var criteria = new CountryPersonalisationGroupCriteria(mockIpProvider.Object, mockCountryGeoLocationProvider.Object); var definition = string.Format(DefinitionFormat, "IsNotLocatedIn", "GB", "IT"); // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }
public void CountryPersonalisationGroupCriteria_MatchesVisitor_WithValidDefinitionForCouldNotBeLocatedWhenCannotLocate_ReturnsTrue() { // Arrange var mockIpProvider = MockIpProvider(); var mockCountryGeoLocationProvider = MockGeoLocationProvider(canGeolocate: false); var criteria = new CountryPersonalisationGroupCriteria(mockIpProvider.Object, mockCountryGeoLocationProvider.Object); var definition = "{ \"match\": \"CouldNotBeLocated\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsTrue(result); }
public void CountryPersonalisationGroupCriteria_UsingCloudFlareCdnHeaderCountryCodeProvider_MatchesVisitor_WithValidDefinitionForCouldNotBeLocatedWhenCanLocate_ReturnsFalse() { // Arrange var mockRequestHeadersProvider = MockRequestHeadersProvider(); var countryCodeProvider = new CdnHeaderCountryCodeProvider(mockRequestHeadersProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = "{ \"match\": \"CouldNotBeLocated\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }
public void CountryPersonalisationGroupCriteria_UsingCloudFlareCdnHeaderCountryCodeProvider_MatchesVisitor_WithValidDefinitionWithMatchingCountryListAndNotInCheck_ReturnsFalse() { // Arrange var mockRequestHeadersProvider = MockRequestHeadersProvider(); var countryCodeProvider = new CdnHeaderCountryCodeProvider(mockRequestHeadersProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = string.Format(DefinitionFormat, "IsNotLocatedIn", "GB", "IT"); // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }
public void CountryPersonalisationGroupCriteria_UsingMockedMaxMindDatabaseCountryCodeProvider_MatchesVisitor_WithValidDefinitionWithDifferentCountryListAndNotInCheck_ReturnsTrue() { // Arrange var mockIpProvider = MockIpProvider(); var mockCountryGeoLocationProvider = MockGeoLocationProvider(); var countryCodeProvider = new MaxMindCountryCodeFromIpProvider(mockIpProvider.Object, mockCountryGeoLocationProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = string.Format(DefinitionFormat, "IsNotLocatedIn", "ES", "IT"); // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsTrue(result); }
public void CountryPersonalisationGroupCriteria_UsingMockedMaxMindDatabaseCountryCodeProvider_MatchesVisitor_WithValidDefinitionForCouldNotBeLocatedWhenCanLocate_ReturnsFalse() { // Arrange var mockIpProvider = MockIpProvider(); var mockCountryGeoLocationProvider = MockGeoLocationProvider(); var countryCodeProvider = new MaxMindCountryCodeFromIpProvider(mockIpProvider.Object, mockCountryGeoLocationProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = "{ \"match\": \"CouldNotBeLocated\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }
public void CountryPersonalisationGroupCriteria_UsingCloudFlareCdnHeaderCountryCodeProvider_MatchesVisitor_WithValidDefinitionForCouldNotBeLocatedWhenCannotLocateAsEmptyHeader_ReturnsTrue() { // Arrange var config = Options.Create(new PersonalisationGroupsConfig()); var mockRequestHeadersProvider = MockRequestHeadersProvider(withValue: false); var countryCodeProvider = new CdnHeaderCountryCodeProvider(config, mockRequestHeadersProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = "{ \"match\": \"CouldNotBeLocated\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsTrue(result); }
public void CountryPersonalisationGroupCriteria_UsingCloudFlareCdnHeaderCountryCodeProvider_MatchesVisitor_WithValidDefinitionWithDifferentCountryListAndNotInCheck_ReturnsTrue() { // Arrange var config = Options.Create(new PersonalisationGroupsConfig()); var mockRequestHeadersProvider = MockRequestHeadersProvider(); var countryCodeProvider = new CdnHeaderCountryCodeProvider(config, mockRequestHeadersProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = string.Format(DefinitionFormat, "IsNotLocatedIn", "ES", "IT"); // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsTrue(result); }
public void CountryPersonalisationGroupCriteria_UsingCloudFlareCdnHeaderCountryCodeProvider_MatchesVisitor_WithValidDefinitionWithEmptyCountryLists_ReturnsFalse() { // Arrange var config = Options.Create(new PersonalisationGroupsConfig()); var mockRequestHeadersProvider = MockRequestHeadersProvider(); var countryCodeProvider = new CdnHeaderCountryCodeProvider(config, mockRequestHeadersProvider.Object); var criteria = new CountryPersonalisationGroupCriteria(countryCodeProvider); var definition = "{ \"match\": \"IsLocatedIn\", \"codes\": [] }"; // Act var result = criteria.MatchesVisitor(definition); // Assert Assert.IsFalse(result); }