package com.googlecode.mgwt.linker.server.propertyprovider.test;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import javax.servlet.http.HttpServletRequest;
import com.googlecode.mgwt.linker.server.propertyprovider.MobileUserAgentProvider;
import com.googlecode.mgwt.linker.server.propertyprovider.PropertyProviderException;
public class MobileUserAgentPropertyProviderTest {
private MobileUserAgentProvider provider;
@Before
public void setUp() throws Exception {
provider = new MobileUserAgentProvider();
}
@Test
public void testGetPropertyName() {
Assert.assertEquals("mobile.user.agent", provider.getPropertyName());
}
@Test
public void testGetPropertyValueIphone() throws PropertyProviderException {
HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
UserAgents.IPHONE_IOS5_USER_AGENT);
Assert.assertEquals("mobilesafari", provider.getPropertyValue(mockServletRequest));
}
@Test
public void testGetPropertyValueIpad() throws PropertyProviderException {
HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
UserAgents.IPAD_IOS5_USER_AGENT);
Assert.assertEquals("mobilesafari", provider.getPropertyValue(mockServletRequest));
}
@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);
Assert.assertEquals("mobilesafari", provider.getPropertyValue(mockServletRequest));
}
@Test
public void testGetPropertyValueBlackberry() throws PropertyProviderException {
HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
UserAgents.BLACKBERRY_USER_AGENT);
Assert.assertEquals("not_mobile", provider.getPropertyValue(mockServletRequest));
}
@Test
public void testGetPropertyValueDesktop() throws PropertyProviderException {
HttpServletRequest mockServletRequest = Mockito.mock(HttpServletRequest.class);
Mockito.when(mockServletRequest.getHeader("User-Agent")).thenReturn(
UserAgents.DESKTOP_USER_AGENT_CHROME);
Assert.assertEquals("not_mobile", provider.getPropertyValue(mockServletRequest));
}
}