1 /*============LICENSE_START=======================================================
2 * oom-truststore-merger
3 * ================================================================================
4 * Copyright (C) 2020 Nokia. All rights reserved.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ============LICENSE_END=========================================================
20 package org.onap.oom.truststoremerger.common;
22 import static org.assertj.core.api.Assertions.assertThat;
25 import java.io.IOException;
26 import java.nio.charset.Charset;
27 import org.apache.commons.io.FileUtils;
28 import org.junit.jupiter.api.AfterEach;
29 import org.junit.jupiter.api.Test;
30 import org.junit.jupiter.api.io.TempDir;
31 import org.onap.oom.truststoremerger.merger.exception.CreateBackupException;
32 import org.onap.oom.truststoremerger.merger.model.TestCertificateProvider;
34 public class FileToolsTest {
36 public static final String BAK_EXTENSION = ".bak";
42 void shouldCreateBackupProvidedFile() throws Exception {
44 File fileToBackup = createFile("truststore.pem", "arbitrary content");
45 String backupFilePath = fileToBackup.getPath() + BAK_EXTENSION;
47 new FileTools().createBackup(fileToBackup);
49 assertThat(fileToBackup.equals(new File(backupFilePath)));
53 void shouldCopyFile() throws IOException {
55 File sourceFile = createFile("source.p12", "any content");
56 File destinationFile = new File(dir.getAbsolutePath() + "destination.p12");
58 new FileTools().copy(sourceFile, destinationFile);
60 assertThat(sourceFile.equals(destinationFile));
64 private File createFile(String name, String content) throws IOException {
65 File file = new File(dir.getAbsolutePath() + File.pathSeparator + name);
66 if (file.createNewFile()) {
67 FileUtils.write(file, content, Charset.defaultCharset());
69 throw new IllegalStateException("File could not be created: " + file.getAbsolutePath());