Package com.googlecode.mgwt.linker.server.propertyprovider.test

Source Code of com.googlecode.mgwt.linker.server.propertyprovider.test.MgwtOsPropertyProviderTest

package com.googlecode.mgwt.linker.server.propertyprovider.test;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;

import com.googlecode.mgwt.linker.server.propertyprovider.MgwtOsPropertyProvider;
import com.googlecode.mgwt.linker.server.propertyprovider.PropertyProviderException;

public class MgwtOsPropertyProviderTest {

  private MgwtOsPropertyProvider provider;

  @Before
  public void setUp() throws Exception {

    provider = new MgwtOsPropertyProvider();
  }

  @Test
  public void testGetPropertyName() {
    Assert.assertEquals("mgwt.os", provider.getPropertyName());
  }

  @Test
  public void testGetPropertyValueIphoneWithoutScreenCookie() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPHONE_IOS5_USER_AGENT);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(new Cookie[0]);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("iphone_undefined", propertyValue);

  }

  @Test
  public void testGetPropertyValueIphoneScreenCookieRetina() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPHONE_IOS5_USER_AGENT);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("mgwt_ios_retina", "1")});

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("retina", propertyValue);

  }

  @Test
  public void testGetPropertyValueIphoneScreenCookieNonRetina() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPHONE_IOS5_USER_AGENT);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("mgwt_ios_retina", "0")});
    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("iphone", propertyValue);

  }

  @Test
  public void testGetPropertyValueIpad() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPAD_IOS5_USER_AGENT);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("ipad_undefined", propertyValue);

  }

  @Test
  public void testGetPropertyValueIpadNonRetina() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPAD_IOS5_USER_AGENT);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("mgwt_ios_retina", "0")});

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("ipad", propertyValue);

  }

  @Test
  public void testGetPropertyValueIpadRetina() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.IPAD_IOS5_USER_AGENT);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("mgwt_ios_retina", "1")});

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("ipad_retina", propertyValue);
  }

  @Test
  public void testGetPropertyValueAndroid() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.ANDROID_2_X_PHONE_NEXUS_S_USER_AGENT);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("android", propertyValue);
  }

  @Test
  public void testGetPropertyValueAndroidTablet() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.ANDROID_3_0_TABLET_MOTOROLA_XOOM_USER_AGENT);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("android_tablet", propertyValue);
  }

  @Test
  public void testGetPropertyValueDesktopChrome() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.DESKTOP_USER_AGENT_CHROME);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("desktop", propertyValue);
  }

  @Test
  public void testGetPropertyValueDesktopSafari() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.DESKTOP_USER_AGENT_SAFARI);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("desktop", propertyValue);
  }

  @Test
  public void testGetPropertyValueDesktopFirefox() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.DESKTOP_USER_AGENT_FIREFOX);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("desktop", propertyValue);
  }

  @Test
  public void testGetPropertyValueBlackberry() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
        UserAgents.BLACKBERRY_USER_AGENT);

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("blackberry", propertyValue);
  }

  @Test
  public void testGetPropertyValueDesktopAsDefault() throws PropertyProviderException {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn("");

    String propertyValue = provider.getPropertyValue(mockServletRequest);

    Assert.assertEquals("desktop", propertyValue);
  }

  @Test
  public void testGetRetinaCookieValueValid() {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("test", "bla"), new Cookie("mgwt_ios_retina", "bla")});
    String retinaCookieValue = provider.getRetinaCookieValue(mockServletRequest);

    Assert.assertEquals("bla", retinaCookieValue);
  }

  @Test
  public void testGetRetinaCookieValueInvalid() {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
    Mockito.when(mockServletRequest.getCookies()).thenReturn(
        new Cookie[] {new Cookie("test", "bla")});

    String retinaCookieValue = provider.getRetinaCookieValue(mockServletRequest);

    Assert.assertNull(retinaCookieValue);
  }

  @Test
  public void testGetRetinaCookieValueWithoutCookiesValues() {
    HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);

    String retinaCookieValue = provider.getRetinaCookieValue(mockServletRequest);

    Assert.assertNull(retinaCookieValue);
  }

}
TOP

Related Classes of com.googlecode.mgwt.linker.server.propertyprovider.test.MgwtOsPropertyProviderTest

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.