/* * Copyright 2002-2013 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.integration.file; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import java.io.File; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.BeanFactory; /** * @author Mark Fisher * @author Gary Russell * @since 1.0.3 */ public class AutoCreateDirectoryTests { private static final String BASE_PATH = System.getProperty("java.io.tmpdir") + File.separator + "AutoCreateDirectoryTests"; private static final String INBOUND_PATH = BASE_PATH + File.separator + "inbound"; private static final String OUTBOUND_PATH = BASE_PATH + File.separator + "outbound"; @Before @After public void clearDirectories() { File baseDir = new File(BASE_PATH); File inboundDir = new File(INBOUND_PATH); File outboundDir = new File(OUTBOUND_PATH); if (inboundDir.exists()) { inboundDir.delete(); } if (outboundDir.exists()) { outboundDir.delete(); } if (baseDir.exists()) { baseDir.delete(); } } @Test public void autoCreateForInboundEnabledByDefault() { FileReadingMessageSource source = new FileReadingMessageSource(); source.setDirectory(new File(INBOUND_PATH)); source.setBeanFactory(mock(BeanFactory.class)); source.afterPropertiesSet(); assertTrue(new File(INBOUND_PATH).exists()); } @Test(expected = IllegalArgumentException.class) public void autoCreateForInboundDisabled() { FileReadingMessageSource source = new FileReadingMessageSource(); source.setDirectory(new File(INBOUND_PATH)); source.setAutoCreateDirectory(false); source.setBeanFactory(mock(BeanFactory.class)); source.afterPropertiesSet(); } @Test public void autoCreateForOutboundEnabledByDefault() { FileWritingMessageHandler handler = new FileWritingMessageHandler( new File(OUTBOUND_PATH)); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet(); assertTrue(new File(OUTBOUND_PATH).exists()); } @Test(expected = IllegalArgumentException.class) public void autoCreateForOutboundDisabled() { FileWritingMessageHandler handler = new FileWritingMessageHandler( new File(OUTBOUND_PATH)); handler.setBeanFactory(mock(BeanFactory.class)); handler.setAutoCreateDirectory(false); handler.afterPropertiesSet(); } }