Skip to content

Commit 68059f8

Browse files
committed
Added unit test for Dao
1 parent 24ce20c commit 68059f8

File tree

1 file changed

+73
-1
lines changed

1 file changed

+73
-1
lines changed

data-loader/core/src/test/java/com/scalar/db/dataloader/core/dataimport/dao/ScalarDbDaoTest.java

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,22 @@
22

33
import static com.scalar.db.dataloader.core.UnitTestUtils.*;
44
import static org.assertj.core.api.Assertions.assertThat;
5-
5+
import static org.junit.jupiter.api.Assertions.assertEquals;
6+
import static org.junit.jupiter.api.Assertions.assertNotNull;
7+
import static org.mockito.ArgumentMatchers.any;
8+
import static org.mockito.Mockito.mock;
9+
import static org.mockito.Mockito.when;
10+
import static org.mockito.Mockito.withSettings;
11+
12+
import com.scalar.db.api.DistributedStorage;
13+
import com.scalar.db.api.DistributedTransactionManager;
614
import com.scalar.db.api.Scan;
715
import com.scalar.db.api.ScanBuilder;
16+
import com.scalar.db.api.Scanner;
17+
import com.scalar.db.api.TransactionManagerCrudOperable;
818
import com.scalar.db.dataloader.core.ScanRange;
19+
import com.scalar.db.exception.storage.ExecutionException;
20+
import com.scalar.db.exception.transaction.CrudException;
921
import com.scalar.db.io.Key;
1022
import java.util.*;
1123
import org.junit.jupiter.api.BeforeEach;
@@ -15,10 +27,14 @@ class ScalarDbDaoTest {
1527

1628
private static final int TEST_VALUE_INT_MIN = 1;
1729
private ScalarDbDao dao;
30+
private DistributedTransactionManager distributedTransactionManager;
31+
private DistributedStorage distributedStorage;
1832

1933
@BeforeEach
2034
void setUp() {
2135
this.dao = new ScalarDbDao();
36+
this.distributedStorage = mock(DistributedStorage.class);
37+
this.distributedTransactionManager = mock(DistributedTransactionManager.class);
2238
}
2339

2440
@Test
@@ -151,6 +167,62 @@ void createScan_scanAllWithLimitAndProjection_shouldCreateScanAllObjectWithLimit
151167
assertThat(scan.toString()).isEqualTo(expectedResult.toString());
152168
}
153169

170+
@Test
171+
void createScanner_withTransactionManager_ShouldCreateScannerObject()
172+
throws CrudException, ScalarDbDaoException {
173+
// Create Scan Object
174+
TransactionManagerCrudOperable.Scanner mockScanner =
175+
mock(
176+
TransactionManagerCrudOperable.Scanner.class,
177+
withSettings().extraInterfaces(Scanner.class));
178+
when(distributedTransactionManager.getScanner(any())).thenReturn(mockScanner);
179+
Scanner result =
180+
this.dao.createScanner(
181+
TEST_NAMESPACE,
182+
TEST_TABLE_NAME,
183+
null,
184+
new ScanRange(null, null, false, false),
185+
new ArrayList<>(),
186+
new ArrayList<>(),
187+
0,
188+
distributedTransactionManager);
189+
// Assert
190+
assertNotNull(result);
191+
assertEquals(mockScanner, result);
192+
result =
193+
this.dao.createScanner(
194+
TEST_NAMESPACE, TEST_TABLE_NAME, null, 0, distributedTransactionManager);
195+
// Assert
196+
assertNotNull(result);
197+
assertEquals(mockScanner, result);
198+
}
199+
200+
@Test
201+
void createScanner_withStorage_ShouldCreateScannerObject()
202+
throws CrudException, ExecutionException, ScalarDbDaoException {
203+
// Create Scan Object
204+
Scanner mockScanner = mock(Scanner.class);
205+
when(distributedStorage.scan(any())).thenReturn(mockScanner);
206+
Scanner result =
207+
this.dao.createScanner(
208+
TEST_NAMESPACE,
209+
TEST_TABLE_NAME,
210+
null,
211+
new ScanRange(null, null, false, false),
212+
new ArrayList<>(),
213+
new ArrayList<>(),
214+
0,
215+
distributedStorage);
216+
// Assert
217+
assertNotNull(result);
218+
assertEquals(mockScanner, result);
219+
220+
result = this.dao.createScanner(TEST_NAMESPACE, TEST_TABLE_NAME, null, 0, distributedStorage);
221+
// Assert
222+
assertNotNull(result);
223+
assertEquals(mockScanner, result);
224+
}
225+
154226
/**
155227
* Create Scan Object
156228
*

0 commit comments

Comments
 (0)