Bump Spring Boot to version 3.5.0

This commit is contained in:
Erik C. Thauvin 2025-05-23 13:39:41 -07:00
parent e6f3fdc984
commit 22a4c53d66
Signed by: erik
GPG key ID: 776702A6A2DA330E
4 changed files with 29 additions and 20 deletions

View file

@ -0,0 +1,135 @@
/*
* Copyright 2023-2025 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
*
* https://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 rife.bld.extension;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
import rife.bld.blueprints.BaseProjectBlueprint;
import rife.tools.FileUtils;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import static org.junit.jupiter.api.Assertions.*;
class BootUtilsTests {
@Nested
@DisplayName("FileSize Tests")
class FileSizeTests {
private static final String TMP_FILE_PREFIX = "filesize-tmp-";
@Test
void fileSizeInBytes() throws IOException {
var file = File.createTempFile(TMP_FILE_PREFIX, null);
file.deleteOnExit();
Files.write(file.toPath(), "1234".getBytes());
assertEquals("4 B", BootUtils.fileSize(file));
}
@Test
void fileSizeInGigabytes() {
// This test simulates a 3 GB file by mocking the length method
var file = new File("testFile") {
@Override
public long length() {
return 3L * 1024 * 1024 * 1024; // 3 GB
}
};
assertEquals("3 GB", BootUtils.fileSize(file));
}
@Test
void fileSizeInKilobytes() throws IOException {
var file = File.createTempFile(TMP_FILE_PREFIX, null);
file.deleteOnExit();
var data = new byte[1500]; // ~1.46 KB
Files.write(file.toPath(), data);
assertEquals("1.5 KB", BootUtils.fileSize(file));
}
@Test
void fileSizeInMegabytes() throws IOException {
var file = File.createTempFile(TMP_FILE_PREFIX, null);
file.deleteOnExit();
var data = new byte[5 * 1024 * 1024]; // 5 MB
Files.write(file.toPath(), data);
assertEquals("5 MB", BootUtils.fileSize(file));
}
@Test
void fileSizeZeroBytes() throws IOException {
var file = File.createTempFile(TMP_FILE_PREFIX, null);
file.deleteOnExit();
assertEquals("0 B", BootUtils.fileSize(file));
}
}
@Nested
@DisplayName("LauncherClass Tests")
class LauncherClassTests {
private final File examplesProjectDir = new File("examples");
@Test
void jarLauncher() {
var launcher = BootUtils.launcherClass(new BaseProjectBlueprint(
examplesProjectDir, "com.example", "examples", "Examples"), "JarLauncher");
assertEquals("org.springframework.boot.loader.JarLauncher", launcher);
}
@Test
void warLauncher() {
var launcher = BootUtils.launcherClass(new BaseProjectBlueprint(
examplesProjectDir, "com.example", "examples", "Examples"), "WarLauncher");
assertEquals("org.springframework.boot.loader.WarLauncher", launcher);
}
}
@Nested
@DisplayName("MkDirs Tests")
class MkDirsTests {
@Test
void mkDirsCreatesDirectories() throws IOException {
var tmpDir = File.createTempFile("mkdirs-tmp-", null);
FileUtils.deleteDirectory(tmpDir);
assertFalse(tmpDir.exists());
BootUtils.mkDirs(tmpDir);
assertTrue(tmpDir.exists());
FileUtils.deleteDirectory(tmpDir);
}
@Test
@DisabledOnOs(OS.WINDOWS)
void mkDirsThrowsIOException() {
var tmpFile = new File("/foo/bar.txt");
tmpFile.deleteOnExit();
var exception = assertThrows(IOException.class, () -> BootUtils.mkDirs(tmpFile));
assertEquals("Unable to create: " + tmpFile.getAbsolutePath(), exception.getMessage());
}
}
}