1 // Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 
6 package org.rocksdb;
7 
8 import org.junit.ClassRule;
9 import org.junit.Test;
10 
11 import static org.assertj.core.api.Assertions.assertThat;
12 
13 public class CompactionJobInfoTest {
14 
15   @ClassRule
16   public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
17       new RocksNativeLibraryResource();
18 
19   @Test
20   public void columnFamilyName() {
21     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
22       assertThat(compactionJobInfo.columnFamilyName())
23           .isEmpty();
24     }
25   }
26 
27   @Test
columnFamilyDescriptorName()28   public void status() {
29     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
30       assertThat(compactionJobInfo.status().getCode())
31           .isEqualTo(Status.Code.Ok);
32     }
33   }
34 
35   @Test
36   public void threadId() {
37     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
38       assertThat(compactionJobInfo.threadId())
columnFamilyDescriptorOptions()39           .isEqualTo(0);
40     }
41   }
try(final ColumnFamilyOptions cfOptions = new ColumnFamilyOptions() .setCompressionType(CompressionType.BZLIB2_COMPRESSION))42 
43   @Test
44   public void jobId() {
45     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
46       assertThat(compactionJobInfo.jobId())
47           .isEqualTo(0);
48     }
49   }
50 
51   @Test
52   public void baseInputLevel() {
listColumnFamilies()53     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
54       assertThat(compactionJobInfo.baseInputLevel())
55           .isEqualTo(0);
56     }
57   }
58 
59   @Test
60   public void outputLevel() {
61     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
62       assertThat(compactionJobInfo.outputLevel())
63           .isEqualTo(0);
64     }
65   }
66 
67   @Test
defaultColumnFamily()68   public void inputFiles() {
69     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
70       assertThat(compactionJobInfo.inputFiles())
71           .isEmpty();
72     }
73   }
74 
75   @Test
76   public void outputFiles() {
77     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
78       assertThat(compactionJobInfo.outputFiles())
79           .isEmpty();
80     }
81   }
82 
83   @Test
84   public void tableProperties() {
85     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
86       assertThat(compactionJobInfo.tableProperties())
87           .isEmpty();
88     }
89   }
90 
91   @Test
92   public void compactionReason() {
93     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
94       assertThat(compactionJobInfo.compactionReason())
createColumnFamily()95           .isEqualTo(CompactionReason.kUnknown);
96     }
97   }
98 
99   @Test
try(final Options options = new Options().setCreateIfMissing(true); final RocksDB db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath()))100   public void compression() {
101     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
102       assertThat(compactionJobInfo.compression())
103           .isEqualTo(CompressionType.NO_COMPRESSION);
104     }
105   }
106 
107   @Test
108   public void stats() {
109     try (final CompactionJobInfo compactionJobInfo = new CompactionJobInfo()) {
110       assertThat(compactionJobInfo.stats())
111           .isNotNull();
112     }
113   }
114 }
115