package net.sourceforge.wurfl.spring;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Collections;
import net.sourceforge.wurfl.core.WURFLManager;
import org.junit.Before;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mobile.device.Device;
import org.springframework.mock.web.MockHttpServletRequest;
public class WurflDeviceResolutionServiceTest {
private WURFLManager manager;
@Before
public void setUp() throws Exception {
WurflManagerFactoryBean factory = new WurflManagerFactoryBean(new ClassPathResource("test-wurfl.xml", getClass()));
factory.afterPropertiesSet();
manager = factory.getObject();
}
@Test
public void resolveMobile() throws Exception {
WurflDeviceResolver service = new WurflDeviceResolver(manager);
MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("User-Agent", "AUDIOVOX-CDM180");
Device device = service.resolveDevice(request);
assertTrue(device.isMobile());
}
@Test
public void resolveWebBrowserNoPatch() throws Exception {
WurflDeviceResolver service = new WurflDeviceResolver(manager);
MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("User-Agent", "Firefox");
Device device = service.resolveDevice(request);
assertTrue(device.isMobile());
}
@Test
public void resolveWebBrowserPatch() throws Exception {
WurflManagerFactoryBean factory = new WurflManagerFactoryBean(new ClassPathResource("test-wurfl.xml", getClass()));
factory.setPatchLocations(Collections.singletonList(new ClassPathResource("test-wurfl-patch.xml", getClass())));
factory.afterPropertiesSet();
manager = factory.getObject();
WurflDeviceResolver service = new WurflDeviceResolver(manager);
MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("User-Agent", "Firefox");
Device device = service.resolveDevice(request);
System.out.println(device);
assertFalse(device.isMobile());
}
}