Skip to content

Commit c1db90b

Browse files
committed
add tests for fuseConfInfoImpl317
1 parent 3a06885 commit c1db90b

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

jfuse-linux-aarch64/src/test/java/org/cryptomator/jfuse/linux/aarch64/FuseConnInfoImpl317Test.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,45 @@
55
import org.junit.jupiter.api.Assertions;
66
import org.junit.jupiter.api.DisplayName;
77
import org.junit.jupiter.api.Named;
8+
import org.junit.jupiter.api.Test;
89
import org.junit.jupiter.params.ParameterizedTest;
910
import org.junit.jupiter.params.provider.Arguments;
1011
import org.junit.jupiter.params.provider.MethodSource;
12+
import org.mockito.Answers;
13+
import org.mockito.Mockito;
1114

1215
import java.lang.foreign.Arena;
1316
import java.lang.foreign.MemorySegment;
1417
import java.util.function.BiConsumer;
1518
import java.util.function.Function;
1619
import java.util.stream.Stream;
1720

21+
import static org.mockito.ArgumentMatchers.any;
22+
import static org.mockito.ArgumentMatchers.anyLong;
23+
1824
public class FuseConnInfoImpl317Test {
1925

26+
@DisplayName("XFeatureFlag methods are delegating to FuseFunctions")
27+
@Test
28+
void testXFeatureFlagMethods() {
29+
try (var arena = Arena.ofConfined();
30+
var fuseFunctionsMock = Mockito.mockStatic(FuseFunctions.class)) {
31+
var segment = fuse_conn_info.allocate(arena);
32+
var connInfo = new FuseConnInfoImpl317(segment);
33+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_set_feature_flag(any(), anyLong())).thenReturn(true);
34+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_unset_feature_flag(any(), anyLong())).then(Answers.RETURNS_DEFAULTS);
35+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_get_feature_flag(any(), anyLong())).thenReturn(true);
36+
37+
Assertions.assertDoesNotThrow(() -> connInfo.setFeatureFlag(3003L));
38+
Assertions.assertDoesNotThrow(() -> connInfo.getFeatureFlag(3003L));
39+
Assertions.assertDoesNotThrow(() -> connInfo.unsetFeatureFlag(3003L));
40+
41+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_set_feature_flag(segment, 3003L));
42+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_unset_feature_flag(segment, 3003L));
43+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_get_feature_flag(segment, 3003L));
44+
}
45+
}
46+
2047
@DisplayName("test long getters")
2148
@ParameterizedTest(name = "{1}")
2249
@MethodSource

jfuse-linux-amd64/src/test/java/org/cryptomator/jfuse/linux/amd64/FuseConnInfoImpl317Test.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,45 @@
55
import org.junit.jupiter.api.Assertions;
66
import org.junit.jupiter.api.DisplayName;
77
import org.junit.jupiter.api.Named;
8+
import org.junit.jupiter.api.Test;
89
import org.junit.jupiter.params.ParameterizedTest;
910
import org.junit.jupiter.params.provider.Arguments;
1011
import org.junit.jupiter.params.provider.MethodSource;
12+
import org.mockito.Answers;
13+
import org.mockito.Mockito;
1114

1215
import java.lang.foreign.Arena;
1316
import java.lang.foreign.MemorySegment;
1417
import java.util.function.BiConsumer;
1518
import java.util.function.Function;
1619
import java.util.stream.Stream;
1720

21+
import static org.mockito.ArgumentMatchers.any;
22+
import static org.mockito.ArgumentMatchers.anyLong;
23+
1824
public class FuseConnInfoImpl317Test {
1925

26+
@DisplayName("XFeatureFlag methods are delegating to FuseFunctions")
27+
@Test
28+
void testXFeatureFlagMethods() {
29+
try (var arena = Arena.ofConfined();
30+
var fuseFunctionsMock = Mockito.mockStatic(FuseFunctions.class)) {
31+
var segment = fuse_conn_info.allocate(arena);
32+
var connInfo = new FuseConnInfoImpl317(segment);
33+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_set_feature_flag(any(), anyLong())).thenReturn(true);
34+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_unset_feature_flag(any(), anyLong())).then(Answers.RETURNS_DEFAULTS);
35+
fuseFunctionsMock.when(() -> FuseFunctions.fuse_get_feature_flag(any(), anyLong())).thenReturn(true);
36+
37+
Assertions.assertDoesNotThrow(() -> connInfo.setFeatureFlag(3003L));
38+
Assertions.assertDoesNotThrow(() -> connInfo.getFeatureFlag(3003L));
39+
Assertions.assertDoesNotThrow(() -> connInfo.unsetFeatureFlag(3003L));
40+
41+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_set_feature_flag(segment, 3003L));
42+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_unset_feature_flag(segment, 3003L));
43+
fuseFunctionsMock.verify(() -> FuseFunctions.fuse_get_feature_flag(segment, 3003L));
44+
}
45+
}
46+
2047
@DisplayName("test long getters")
2148
@ParameterizedTest(name = "{1}")
2249
@MethodSource

0 commit comments

Comments
 (0)