/**
* DataCleaner (community edition)
* Copyright (C) 2014 Neopost - Customer Information Management
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
* Lesser General Public License, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301 USA
*/
package org.datacleaner.util.convert;
import org.datacleaner.repository.Repository;
import org.datacleaner.repository.RepositoryFile;
import org.datacleaner.repository.RepositoryFileResource;
import org.datacleaner.repository.RepositoryFolder;
import org.easymock.EasyMock;
import junit.framework.TestCase;
public class RepositoryFileResourceTypeHandlerTest extends TestCase {
public void testConvertFromAndToString() throws Exception {
final RepositoryFile mockFile = EasyMock.createMock(RepositoryFile.class);
final RepositoryFolder mockFolder = EasyMock.createMock(RepositoryFolder.class);
final Repository mockRepo = EasyMock.createMock(Repository.class);
EasyMock.expect(mockRepo.getFolder("ten1")).andReturn(mockFolder);
EasyMock.expect(mockFolder.getQualifiedPath()).andReturn("/ten1").times(2);
EasyMock.expect(mockFile.getQualifiedPath()).andReturn("/ten1/foo/bar.txt");
EasyMock.expect(mockRepo.getRepositoryNode("/ten1/foo/bar.txt")).andReturn(mockFile);
EasyMock.replay(mockFile, mockFolder, mockRepo);
final RepositoryFileResourceTypeHandler handler = new RepositoryFileResourceTypeHandler(mockRepo, "ten1");
final String path = handler.createPath(new RepositoryFileResource(mockFile));
assertEquals("foo/bar.txt", path);
final RepositoryFileResource resource = handler.parsePath(path);
final RepositoryFile returnedFile = resource.getRepositoryFile();
assertSame(mockFile, returnedFile);
EasyMock.verify(mockFile, mockFolder, mockRepo);
}
}