-
Notifications
You must be signed in to change notification settings - Fork 97
Expand file tree
/
Copy pathDataLoaderFactoryTest.java
More file actions
51 lines (38 loc) · 2.17 KB
/
DataLoaderFactoryTest.java
File metadata and controls
51 lines (38 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package org.dataloader;
import org.junit.jupiter.api.Test;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.jupiter.api.Assertions.assertNotNull;
class DataLoaderFactoryTest {
@Test
void can_create_via_builder() {
BatchLoaderWithContext<String, String> loader = (keys, environment) -> CompletableFuture.completedFuture(keys);
DataLoaderOptions options = DataLoaderOptions.newOptionsBuilder().setBatchingEnabled(true).build();
DataLoader<String, String> dl = DataLoaderFactory.<String, String>builder()
.name("x").batchLoader(loader).options(options).build();
assertNotNull(dl.getName());
assertThat(dl.getName(), equalTo("x"));
assertThat(dl.getBatchLoadFunction(), equalTo(loader));
assertThat(dl.getOptions(), equalTo(options));
BatchLoaderWithContext<String, Try<String>> loaderTry = (keys, environment)
-> CompletableFuture.completedFuture(keys.stream().map(Try::succeeded).collect(Collectors.toList()));
DataLoader<String, Try<String>> dlTry = DataLoaderFactory.<String, Try<String>>builder()
.name("try").batchLoader(loaderTry).options(options).build();
assertNotNull(dlTry.getName());
assertThat(dlTry.getName(), equalTo("try"));
assertThat(dlTry.getBatchLoadFunction(), equalTo(loaderTry));
assertThat(dlTry.getOptions(), equalTo(options));
MappedBatchLoader<String, Try<String>> mappedLoaderTry = (keys)
-> CompletableFuture.completedFuture(
keys.stream().collect(Collectors.toMap(k -> k, Try::succeeded))
);
DataLoader<String, Try<String>> dlTry2 = DataLoaderFactory.<String, Try<String>>builder()
.name("try2").mappedBatchLoader(mappedLoaderTry).options(options).build();
assertNotNull(dlTry2.getName());
assertThat(dlTry2.getName(), equalTo("try2"));
assertThat(dlTry2.getBatchLoadFunction(), equalTo(mappedLoaderTry));
assertThat(dlTry2.getOptions(), equalTo(options));
}
}