Skip to content

Commit 57be69e

Browse files
committed
test: improve coverage
1 parent 690d07b commit 57be69e

File tree

4 files changed

+236
-0
lines changed

4 files changed

+236
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package dev.openfga.sdk.api.client.model;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import dev.openfga.sdk.api.model.WriteRequestWrites;
6+
import java.util.List;
7+
import org.junit.jupiter.api.Test;
8+
9+
public class ClientTupleKeyTest {
10+
11+
@Test
12+
public void testAsWriteRequestWrites_withNullOnDuplicate() {
13+
// Given
14+
List<ClientTupleKey> tuples = List.of(new ClientTupleKey()
15+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
16+
.relation("viewer")
17+
._object("document:roadmap"));
18+
19+
// When
20+
WriteRequestWrites writes = ClientTupleKey.asWriteRequestWrites(tuples, null);
21+
22+
// Then
23+
assertNotNull(writes);
24+
assertEquals(1, writes.getTupleKeys().size());
25+
// When null is passed, onDuplicate should use the default (ERROR)
26+
assertEquals(WriteRequestWrites.OnDuplicateEnum.ERROR, writes.getOnDuplicate());
27+
}
28+
29+
@Test
30+
public void testAsWriteRequestWrites_withOnDuplicateIgnore() {
31+
// Given
32+
List<ClientTupleKey> tuples = List.of(new ClientTupleKey()
33+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
34+
.relation("viewer")
35+
._object("document:roadmap"));
36+
37+
// When
38+
WriteRequestWrites writes =
39+
ClientTupleKey.asWriteRequestWrites(tuples, WriteRequestWrites.OnDuplicateEnum.IGNORE);
40+
41+
// Then
42+
assertNotNull(writes);
43+
assertEquals(1, writes.getTupleKeys().size());
44+
assertEquals(WriteRequestWrites.OnDuplicateEnum.IGNORE, writes.getOnDuplicate());
45+
}
46+
47+
@Test
48+
public void testAsWriteRequestWrites_withOnDuplicateError() {
49+
// Given
50+
List<ClientTupleKey> tuples = List.of(new ClientTupleKey()
51+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
52+
.relation("viewer")
53+
._object("document:roadmap"));
54+
55+
// When
56+
WriteRequestWrites writes =
57+
ClientTupleKey.asWriteRequestWrites(tuples, WriteRequestWrites.OnDuplicateEnum.ERROR);
58+
59+
// Then
60+
assertNotNull(writes);
61+
assertEquals(1, writes.getTupleKeys().size());
62+
assertEquals(WriteRequestWrites.OnDuplicateEnum.ERROR, writes.getOnDuplicate());
63+
}
64+
65+
@Test
66+
public void testAsWriteRequestWrites_noArguments_usesDefaultBehavior() {
67+
// Given
68+
List<ClientTupleKey> tuples = List.of(new ClientTupleKey()
69+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
70+
.relation("viewer")
71+
._object("document:roadmap"));
72+
73+
// When - using the original method without onDuplicate parameter
74+
WriteRequestWrites writes = ClientTupleKey.asWriteRequestWrites(tuples);
75+
76+
// Then
77+
assertNotNull(writes);
78+
assertEquals(1, writes.getTupleKeys().size());
79+
// Default behavior should use ERROR
80+
assertEquals(WriteRequestWrites.OnDuplicateEnum.ERROR, writes.getOnDuplicate());
81+
}
82+
}
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package dev.openfga.sdk.api.client.model;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import dev.openfga.sdk.api.model.WriteRequestDeletes;
6+
import java.util.List;
7+
import org.junit.jupiter.api.Test;
8+
9+
public class ClientTupleKeyWithoutConditionTest {
10+
11+
@Test
12+
public void testAsWriteRequestDeletes_withNullOnMissing() {
13+
// Given
14+
List<ClientTupleKeyWithoutCondition> tuples = List.of(new ClientTupleKeyWithoutCondition()
15+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
16+
.relation("viewer")
17+
._object("document:roadmap"));
18+
19+
// When
20+
WriteRequestDeletes deletes = ClientTupleKeyWithoutCondition.asWriteRequestDeletes(tuples, null);
21+
22+
// Then
23+
assertNotNull(deletes);
24+
assertEquals(1, deletes.getTupleKeys().size());
25+
// When null is passed, onMissing should use the default (ERROR)
26+
assertEquals(WriteRequestDeletes.OnMissingEnum.ERROR, deletes.getOnMissing());
27+
}
28+
29+
@Test
30+
public void testAsWriteRequestDeletes_withOnMissingIgnore() {
31+
// Given
32+
List<ClientTupleKeyWithoutCondition> tuples = List.of(new ClientTupleKeyWithoutCondition()
33+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
34+
.relation("viewer")
35+
._object("document:roadmap"));
36+
37+
// When
38+
WriteRequestDeletes deletes =
39+
ClientTupleKeyWithoutCondition.asWriteRequestDeletes(tuples, WriteRequestDeletes.OnMissingEnum.IGNORE);
40+
41+
// Then
42+
assertNotNull(deletes);
43+
assertEquals(1, deletes.getTupleKeys().size());
44+
assertEquals(WriteRequestDeletes.OnMissingEnum.IGNORE, deletes.getOnMissing());
45+
}
46+
47+
@Test
48+
public void testAsWriteRequestDeletes_withOnMissingError() {
49+
// Given
50+
List<ClientTupleKeyWithoutCondition> tuples = List.of(new ClientTupleKeyWithoutCondition()
51+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
52+
.relation("viewer")
53+
._object("document:roadmap"));
54+
55+
// When
56+
WriteRequestDeletes deletes =
57+
ClientTupleKeyWithoutCondition.asWriteRequestDeletes(tuples, WriteRequestDeletes.OnMissingEnum.ERROR);
58+
59+
// Then
60+
assertNotNull(deletes);
61+
assertEquals(1, deletes.getTupleKeys().size());
62+
assertEquals(WriteRequestDeletes.OnMissingEnum.ERROR, deletes.getOnMissing());
63+
}
64+
65+
@Test
66+
public void testAsWriteRequestDeletes_noArguments_usesDefaultBehavior() {
67+
// Given
68+
List<ClientTupleKeyWithoutCondition> tuples = List.of(new ClientTupleKeyWithoutCondition()
69+
.user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
70+
.relation("viewer")
71+
._object("document:roadmap"));
72+
73+
// When - using the original method without onMissing parameter
74+
WriteRequestDeletes deletes = ClientTupleKeyWithoutCondition.asWriteRequestDeletes(tuples);
75+
76+
// Then
77+
assertNotNull(deletes);
78+
assertEquals(1, deletes.getTupleKeys().size());
79+
// Default behavior should use ERROR
80+
assertEquals(WriteRequestDeletes.OnMissingEnum.ERROR, deletes.getOnMissing());
81+
}
82+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package dev.openfga.sdk.api.model;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class WriteRequestDeletesTest {
8+
9+
@Test
10+
public void testOnMissingEnum_fromValue_validValues() {
11+
assertEquals(WriteRequestDeletes.OnMissingEnum.ERROR, WriteRequestDeletes.OnMissingEnum.fromValue("error"));
12+
assertEquals(WriteRequestDeletes.OnMissingEnum.IGNORE, WriteRequestDeletes.OnMissingEnum.fromValue("ignore"));
13+
}
14+
15+
@Test
16+
public void testOnMissingEnum_fromValue_unknownValue() {
17+
// This tests the fallback behavior when an unknown value is received from the API
18+
assertEquals(
19+
WriteRequestDeletes.OnMissingEnum.UNKNOWN_DEFAULT_OPEN_API,
20+
WriteRequestDeletes.OnMissingEnum.fromValue("unknown"));
21+
assertEquals(
22+
WriteRequestDeletes.OnMissingEnum.UNKNOWN_DEFAULT_OPEN_API,
23+
WriteRequestDeletes.OnMissingEnum.fromValue("invalid"));
24+
assertEquals(
25+
WriteRequestDeletes.OnMissingEnum.UNKNOWN_DEFAULT_OPEN_API,
26+
WriteRequestDeletes.OnMissingEnum.fromValue("something-else"));
27+
}
28+
29+
@Test
30+
public void testOnMissingEnum_fromValue_nullValue() {
31+
// Verify behavior with null input
32+
assertEquals(
33+
WriteRequestDeletes.OnMissingEnum.UNKNOWN_DEFAULT_OPEN_API,
34+
WriteRequestDeletes.OnMissingEnum.fromValue(null));
35+
}
36+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package dev.openfga.sdk.api.model;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class WriteRequestWritesTest {
8+
9+
@Test
10+
public void testOnDuplicateEnum_fromValue_validValues() {
11+
assertEquals(WriteRequestWrites.OnDuplicateEnum.ERROR, WriteRequestWrites.OnDuplicateEnum.fromValue("error"));
12+
assertEquals(WriteRequestWrites.OnDuplicateEnum.IGNORE, WriteRequestWrites.OnDuplicateEnum.fromValue("ignore"));
13+
}
14+
15+
@Test
16+
public void testOnDuplicateEnum_fromValue_unknownValue() {
17+
// This tests the fallback behavior when an unknown value is received from the API
18+
assertEquals(
19+
WriteRequestWrites.OnDuplicateEnum.UNKNOWN_DEFAULT_OPEN_API,
20+
WriteRequestWrites.OnDuplicateEnum.fromValue("unknown"));
21+
assertEquals(
22+
WriteRequestWrites.OnDuplicateEnum.UNKNOWN_DEFAULT_OPEN_API,
23+
WriteRequestWrites.OnDuplicateEnum.fromValue("invalid"));
24+
assertEquals(
25+
WriteRequestWrites.OnDuplicateEnum.UNKNOWN_DEFAULT_OPEN_API,
26+
WriteRequestWrites.OnDuplicateEnum.fromValue("something-else"));
27+
}
28+
29+
@Test
30+
public void testOnDuplicateEnum_fromValue_nullValue() {
31+
// Verify behavior with null input
32+
assertEquals(
33+
WriteRequestWrites.OnDuplicateEnum.UNKNOWN_DEFAULT_OPEN_API,
34+
WriteRequestWrites.OnDuplicateEnum.fromValue(null));
35+
}
36+
}

0 commit comments

Comments
 (0)