1
+ package com .spotify .reaper ;
2
+
3
+ import org .apache .cassandra .repair .RepairParallelism ;
4
+ import org .hibernate .validator .HibernateValidator ;
5
+ import org .junit .Before ;
6
+ import org .junit .Test ;
7
+
8
+ import javax .validation .Validation ;
9
+ import javax .validation .Validator ;
10
+
11
+ import io .dropwizard .db .DataSourceFactory ;
12
+
13
+ import static org .fest .assertions .api .Assertions .assertThat ;
14
+
15
+ public class ReaperApplicationConfigurationTest {
16
+
17
+ private final Validator validator = Validation
18
+ .byProvider (HibernateValidator .class )
19
+ .configure ()
20
+ .buildValidatorFactory ()
21
+ .getValidator ();
22
+
23
+ private final ReaperApplicationConfiguration config = new ReaperApplicationConfiguration ();
24
+
25
+ @ Before
26
+ public void setUp () {
27
+ //create a valid config
28
+ DataSourceFactory dataSourceFactory = new DataSourceFactory ();
29
+ dataSourceFactory .setDriverClass ("org.postgresql.Driver" );
30
+ dataSourceFactory .setUrl ("jdbc:postgresql://db.example.com/db-prod" );
31
+ dataSourceFactory .setUser ("user" );
32
+ config .setDataSourceFactory (dataSourceFactory );
33
+ config .setHangingRepairTimeoutMins (1 );
34
+ config .setRepairParallelism (RepairParallelism .DATACENTER_AWARE );
35
+ config .setRepairRunThreadCount (1 );
36
+ config .setSegmentCount (1 );
37
+ config .setStorageType ("foo" );
38
+ }
39
+
40
+ @ Test
41
+ public void testRepairIntensity () {
42
+ config .setRepairIntensity (-0.1 );
43
+ assertThat (validator .validate (config )).hasSize (1 );
44
+
45
+ config .setRepairIntensity (0 );
46
+ assertThat (validator .validate (config )).hasSize (1 );
47
+
48
+ config .setRepairIntensity (1 );
49
+ assertThat (validator .validate (config )).hasSize (0 );
50
+ }
51
+ }
0 commit comments