Browse Source

Add FileUtilsTest.java , the unit test for FileUtils (#1493) (#1)

pull/2/head
Tboy 5 years ago committed by GitHub
parent
commit
c8f3e2ea41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 109
      dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java
  2. 1
      pom.xml

109
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/utils/FileUtilsTest.java

@ -0,0 +1,109 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.dolphinscheduler.api.utils;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.mockito.Mockito;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import static org.junit.Assert.*;
public class FileUtilsTest {
private static final Logger logger = LoggerFactory.getLogger(FileUtilsTest.class);
@Rule
public TemporaryFolder folder = null;
private String rootPath = null;
@Before
public void setUp() throws Exception {
folder = new TemporaryFolder();
folder.create();
rootPath = folder.getRoot().getAbsolutePath();
}
@After
public void tearDown() throws Exception {
folder.delete();
}
/**
* Use mock to test copyFile
* @throws IOException
*/
@Test
public void testCopyFile() throws IOException {
//Define dest file path
String destFilename = rootPath + System.getProperty("file.separator") + "data.txt";
logger.info("destFilename: "+destFilename);
//Define InputStream for MultipartFile
String data = "data text";
InputStream targetStream = new ByteArrayInputStream(data.getBytes());
//Use Mockito to mock MultipartFile
MultipartFile file = Mockito.mock(MultipartFile.class);
Mockito.when(file.getInputStream()).thenReturn(targetStream);
//Invoke copyFile
FileUtils.copyFile(file,destFilename);
//Test file exists
File destFile = new File(destFilename);
assertTrue(destFile.exists());
}
@Test
public void testFile2Resource() throws IOException {
//Define dest file path
String destFilename = rootPath + System.getProperty("file.separator") + "data.txt";
logger.info("destFilename: "+destFilename);
//Define test resource
File file = folder.newFile("resource.txt");
//Invoke file2Resource and test not null
Resource resource = FileUtils.file2Resource(file.getAbsolutePath());
assertNotNull(resource);
//Invoke file2Resource and test null
Resource resource1 = FileUtils.file2Resource(file.getAbsolutePath()+"abc");
assertNull(resource1);
}
}

1
pom.xml

@ -613,6 +613,7 @@
<configuration> <configuration>
<includes> <includes>
<include>**/api/utils/CheckUtilsTest.java</include> <include>**/api/utils/CheckUtilsTest.java</include>
<include>**/api/utils/FileUtilsTest.java</include>
<include>**/common/graph/*.java</include> <include>**/common/graph/*.java</include>
<include>**/*CollectionUtilsTest.java</include><!--run test classes--> <include>**/*CollectionUtilsTest.java</include><!--run test classes-->
</includes> </includes>

Loading…
Cancel
Save