Package com.eclipsesource.tabris.tracking.internal.piwik

Source Code of com.eclipsesource.tabris.tracking.internal.piwik.PiwikTest

/*******************************************************************************
* 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;

import static com.eclipsesource.tabris.tracking.internal.piwik.model.AdvancedConfigurationTest.FAKE_TOKEN;
import static com.github.restdriver.clientdriver.RestClientDriver.giveEmptyResponse;
import static com.github.restdriver.clientdriver.RestClientDriver.onRequestTo;

import java.util.regex.Pattern;

import org.junit.Rule;
import org.junit.Test;

import com.eclipsesource.tabris.tracking.internal.piwik.model.AdvancedConfiguration;
import com.eclipsesource.tabris.tracking.internal.piwik.model.PiwikConfiguration;
import com.eclipsesource.tabris.tracking.internal.piwik.model.VisitorInformation;
import com.eclipsesource.tabris.tracking.internal.piwik.model.action.Action;
import com.github.restdriver.clientdriver.ClientDriverRule;

public class PiwikTest {

  private static final Pattern RANDOM = Pattern.compile( "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" );

  @Rule
  public ClientDriverRule driver = new ClientDriverRule();

  @Test( expected = IllegalArgumentException.class )
  public void testFailsWithNullPiwikUrl() {
    new Piwik( null, new PiwikConfiguration( "piwikUrl", 2 ) );
  }

  @Test( expected = IllegalArgumentException.class )
  public void testFailsWithEmptyPiwikUrl() {
    new Piwik( "", new PiwikConfiguration( "piwikUrl", 2 ) );
  }

  @Test( expected = IllegalArgumentException.class )
  public void testFailsWithNullPiwikConfiguration() {
    new Piwik( "piwikUrl", null );
  }

  @Test
  public void testSendsRequestWithVisitorInformation() throws Exception {
    driver.addExpectation( onRequestTo( "/" ).withParam( "idsite", 2 )
      .withParam( "rec", 1 )
      .withParam( "apiv", "apiVersion" )
      .withParam( "rand", RANDOM )
      .withParam( "url", "actionUrl" )
      .withParam( "token_auth", FAKE_TOKEN )
      .withParam( "res", "1280x1024" ), giveEmptyResponse().withStatus( 200 ) );

    Piwik piwik = new Piwik( driver.getBaseUrl(), new PiwikConfiguration( "apiVersion", 2 ) );

    piwik.track( new Action( "actionUrl" ),
                 new VisitorInformation().setScreenResolution( "1280x1024" ),
                 new AdvancedConfiguration( FAKE_TOKEN ) );
  }

}
TOP

Related Classes of com.eclipsesource.tabris.tracking.internal.piwik.PiwikTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.