/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.web.webdav;
import org.apache.jackrabbit.webdav.DavResourceLocator;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import com.enonic.cms.core.servlet.ServletRequestAccessor;
import com.enonic.cms.core.vhost.VirtualHostHelper;
public class DavLocatorFactoryImplTest
{
private MockHttpServletRequest httpServletRequest = new MockHttpServletRequest();
private DavLocatorFactoryImpl davLocatorFactory = new DavLocatorFactoryImpl();
@Before
public void before()
{
ServletRequestAccessor.setRequest( httpServletRequest );
}
@Test
public void testCreateResourceLocator_dav()
{
VirtualHostHelper.setBasePath( httpServletRequest, "/dav" );
final DavResourceLocator resourceLocator = davLocatorFactory.createResourceLocator( "http://localhost:8080", "/dav/config" );
Assert.assertEquals( "http://localhost:8080/dav", resourceLocator.getPrefix() );
Assert.assertEquals( "/config", resourceLocator.getResourcePath() );
}
@Test
public void testCreateResourceLocator_gfdav()
{
VirtualHostHelper.setBasePath( httpServletRequest, "/gfdav" );
final DavResourceLocator resourceLocator = davLocatorFactory.createResourceLocator( "http://localhost:8080", "/gfdav/config" );
Assert.assertEquals( "http://localhost:8080/gfdav", resourceLocator.getPrefix() );
// before D-01768 it was "/gfdav/config" . must be "/config"
Assert.assertEquals( "/config", resourceLocator.getResourcePath() );
}
@Test
public void testCreateResourceLocator_gfdav_dav()
{
VirtualHostHelper.setBasePath( httpServletRequest, "/gfdav" );
final DavResourceLocator resourceLocator = davLocatorFactory.createResourceLocator( "http://localhost:8080", "/dav/config" );
Assert.assertEquals( "http://localhost:8080/gfdav", resourceLocator.getPrefix() );
Assert.assertEquals( "/config", resourceLocator.getResourcePath() );
}
}