/*******************************************************************************
* Copyright (c) 2014 EclipseSource and others. All rights reserved. This program and the
* accompanying materials are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html Contributors: EclipseSource - initial API and
* implementation
******************************************************************************/
package com.eclipsesource.tabris.tracking.internal.piwik.model;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeyProvider.getRequestKey;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.IS_BOT;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.NEW_VISIT;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.TOKEN_AUTH;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_CITY_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_COUNTRY_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_DATETIME_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_ID_ENFORCED;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_IP_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_LATITUDE_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_LONGITUDE_OVERRIDE;
import static com.eclipsesource.tabris.tracking.internal.piwik.request.RequestKeys.VISITOR_REGION_OVERRIDE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Map;
import org.junit.Test;
public class AdvancedConfigurationTest {
public static final String FAKE_TOKEN = "5nUcfF0yL7JHnpgwCQjFjB1hwwuX2Pvk";
@Test
public void testParametersAreNotNull() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
Map<String, Object> parameters = advancedConfiguration.getParameter();
assertNotNull( parameters );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullTokenAuth() {
new AdvancedConfiguration( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithTokenAuthWithWrongLength() {
new AdvancedConfiguration( "foo" );
}
@Test
public void testAddsTokenAuthToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
assertEquals( FAKE_TOKEN, advancedConfiguration.getParameter().get( getRequestKey( TOKEN_AUTH ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullVisitorIpOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setVisitorIpOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyVisitorIpOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setVisitorIpOverride( "" );
}
@Test
public void testAddsVisitorIpToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setVisitorIpOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_IP_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullDatetimeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setDatetimeOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyDatetimeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setDatetimeOverride( "" );
}
@Test
public void testAddsDatetimeToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setDatetimeOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_DATETIME_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullVisitorIdEnforced() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setVisitorIdEnforced( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyVisitorIdEnforced() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setVisitorIdEnforced( "" );
}
@Test
public void testAddsVisitorIdEnforcedToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setVisitorIdEnforced( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_ID_ENFORCED ) ) );
}
@Test
public void testAddsNewVisitToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setNewVisit( true );
assertEquals( Boolean.valueOf( true ), advancedConfiguration.getParameter().get( getRequestKey( NEW_VISIT ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullCountryOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setCountryOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyCountryOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setCountryOverride( "" );
}
@Test
public void testAddsVisitorCountryOverrideToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setCountryOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_COUNTRY_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullRegionOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setRegionOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyRegionOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setRegionOverride( "" );
}
@Test
public void testAddsRegionOverrideToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setRegionOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_REGION_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullCityOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setCityOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyCityOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setCityOverride( "" );
}
@Test
public void testAddsCityOverrideToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setCityOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_CITY_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullLatitudeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setLatitudeOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyLatitudeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setLatitudeOverride( "" );
}
@Test
public void testAddsLatitudeOverrideToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setLatitudeOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_LATITUDE_OVERRIDE ) ) );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullLongitudeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setLongitudeOverride( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyLongitudeOverride() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN );
advancedConfiguration.setLongitudeOverride( "" );
}
@Test
public void testAddsLongitudeOverrideToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setLongitudeOverride( "foo" );
assertEquals( "foo", advancedConfiguration.getParameter().get( getRequestKey( VISITOR_LONGITUDE_OVERRIDE ) ) );
}
@Test
public void testAddsIsBotToParameters() {
AdvancedConfiguration advancedConfiguration = new AdvancedConfiguration( FAKE_TOKEN ).setIsBot( true );
assertEquals( Boolean.valueOf( true ), advancedConfiguration.getParameter().get( getRequestKey( IS_BOT ) ) );
}
}