Skip to content

Commit b0112bb

Browse files
committed
Add tests
1 parent e9f9ac4 commit b0112bb

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

src/test/java/org/lmdbjava/EnvTest.java

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.nio.ByteBuffer;
3333
import java.nio.file.Files;
3434
import java.nio.file.Path;
35+
import java.util.List;
3536
import java.util.Random;
3637
import org.junit.jupiter.api.Test;
3738
import org.lmdbjava.Env.AlreadyClosedException;
@@ -371,8 +372,11 @@ void detectTransactionThreadViolation() {
371372
void info() {
372373
FileUtil.useTempFile(
373374
file -> {
374-
try (Env<ByteBuffer> env =
375-
Env.create().setMaxReaders(4).setMapSize(123_456).setEnvFlags(MDB_NOSUBDIR).open(file)) {
375+
try (Env<ByteBuffer> env = Env.create()
376+
.setMaxReaders(4)
377+
.setMapSize(123_456)
378+
.setEnvFlags(MDB_NOSUBDIR)
379+
.open(file)) {
376380
final EnvInfo info = env.info();
377381
assertThat(info).isNotNull();
378382
assertThat(info.lastPageNumber).isEqualTo(1L);
@@ -470,6 +474,10 @@ void setMapSize() {
470474
}
471475
assertThat(mapFullExThrown).isTrue();
472476

477+
assertThatThrownBy(() -> {
478+
env.setMapSize(-1, ByteUnit.KIBIBYTES);
479+
}).isInstanceOf(IllegalArgumentException.class);
480+
473481
env.setMapSize(1024, ByteUnit.KIBIBYTES);
474482

475483
try (Txn<ByteBuffer> roTxn = env.txnRead()) {
@@ -528,4 +536,44 @@ void testDefaultOpen() {
528536
}
529537
});
530538
}
539+
540+
@Test
541+
void testDefaultOpenNoName1() {
542+
FileUtil.useTempDir(
543+
dir -> {
544+
try (Env<ByteBuffer> env = Env.create().setMapSize(10, ByteUnit.MEBIBYTES).open(dir)) {
545+
final EnvInfo info = env.info();
546+
assertThat(info.maxReaders).isEqualTo(MAX_READERS_DEFAULT);
547+
final Dbi<ByteBuffer> db = env.openDbi((String) null, MDB_CREATE);
548+
db.put(bb("abc"), allocateDirect(1));
549+
db.put(bb("def"), allocateDirect(1));
550+
551+
// As this is the unnamed database it returns all keys in the unnamed db
552+
final List<byte[]> dbiNames = env.getDbiNames();
553+
assertThat(dbiNames)
554+
.hasSize(2);
555+
assertThat(dbiNames.get(0))
556+
.isEqualTo("abc".getBytes(Env.DEFAULT_NAME_CHARSET));
557+
}
558+
});
559+
}
560+
561+
@Test
562+
void testDefaultOpenNoName2() {
563+
FileUtil.useTempDir(
564+
dir -> {
565+
try (Env<ByteBuffer> env = Env.create().setMapSize(10, ByteUnit.MEBIBYTES).open(dir)) {
566+
final EnvInfo info = env.info();
567+
assertThat(info.maxReaders).isEqualTo(MAX_READERS_DEFAULT);
568+
final Dbi<ByteBuffer> db = env.openDbi((byte[]) null, MDB_CREATE);
569+
570+
// As this is the unnamed database it returns all keys in the unnamed db
571+
final List<byte[]> dbiNames = env.getDbiNames();
572+
assertThat(dbiNames)
573+
.hasSize(1);
574+
assertThat(dbiNames.get(0))
575+
.isEqualTo(new byte[0]);
576+
}
577+
});
578+
}
531579
}

0 commit comments

Comments
 (0)