simple fuse create/read/write file test

This commit is contained in:
2024-06-14 14:48:04 +02:00
parent 8c7287af83
commit 311b98c0ce
5 changed files with 54 additions and 8 deletions

View File

@@ -46,7 +46,7 @@ public class DhfsFuse extends FuseStubFS {
try {
found = fileService.getDirEntry(path).await().indefinitely();
} catch (Exception e) {
Log.error(e);
Log.error("When accessing " + path, e);
return -ErrorCodes.ENOENT();
}
if (found.isEmpty()) {

View File

@@ -7,13 +7,22 @@ import com.usatiuk.dhfs.storage.files.service.DhfsFileService;
import com.usatiuk.dhfs.storage.objects.jrepository.JObjectRepository;
import com.usatiuk.dhfs.storage.objects.repository.ObjectRepository;
import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.junit.QuarkusTestProfile;
import io.quarkus.test.junit.TestProfile;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.UUID;
class Profiles {
public static class DhfsFileServiceSimpleTestProfile implements QuarkusTestProfile {
}
}
@QuarkusTest
@TestProfile(Profiles.DhfsFileServiceSimpleTestProfile.class)
public class DhfsFileServiceSimpleTest extends SimpleFileRepoTest {
@Inject
DhfsFileService fileService;

View File

@@ -0,0 +1,36 @@
package com.usatiuk.dhfs.fuse;
import com.usatiuk.dhfs.storage.SimpleFileRepoTest;
import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.junit.QuarkusTestProfile;
import io.quarkus.test.junit.TestProfile;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
class Profiles {
public static class DhfsFuseTestProfile implements QuarkusTestProfile {
}
}
@QuarkusTest
@TestProfile(Profiles.DhfsFuseTestProfile.class)
public class DhfsFuseTest extends SimpleFileRepoTest {
@ConfigProperty(name = "dhfs.fuse.root")
String root;
@Test
void readWriteFileTest() throws IOException, InterruptedException {
byte[] testString = "test file thing".getBytes();
Path testPath = Path.of(root).resolve("test1");
Assertions.assertDoesNotThrow(() -> Files.createFile(testPath));
Assertions.assertDoesNotThrow(() -> Files.write(testPath, testString));
Assertions.assertDoesNotThrow(() -> Files.readAllBytes(testPath));
Assertions.assertArrayEquals(Files.readAllBytes(testPath), testString);
}
}

View File

@@ -4,14 +4,21 @@ import com.google.protobuf.ByteString;
import com.usatiuk.dhfs.storage.objects.api.*;
import io.quarkus.grpc.GrpcClient;
import io.quarkus.test.junit.QuarkusTest;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import io.quarkus.test.junit.QuarkusTestProfile;
import io.quarkus.test.junit.TestProfile;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.time.Duration;
import java.util.List;
class Profiles {
public static class DhfsObjectGrpcServiceTestProfile implements QuarkusTestProfile {
}
}
@QuarkusTest
@TestProfile(Profiles.DhfsObjectGrpcServiceTestProfile.class)
class DhfsObjectGrpcServiceTest extends SimpleFileRepoTest {
@GrpcClient
DhfsObjectGrpc dhfsObjectGrpc;

View File

@@ -3,7 +3,6 @@ package com.usatiuk.dhfs.storage;
import io.quarkus.test.junit.QuarkusTest;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import java.io.File;
import java.nio.file.Path;
@@ -22,11 +21,6 @@ public abstract class SimpleFileRepoTest {
}
}
@BeforeEach
void setup() {
purgeDirectory(Path.of(tempDirectory).toFile());
}
@AfterEach
void teardown() {
purgeDirectory(Path.of(tempDirectory).toFile());