File tree Expand file tree Collapse file tree
main/java/io/aiven/klaw/service
test/java/io/aiven/klaw/service Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package io .aiven .klaw .service ;
2+
3+ public class DataBaseConnectivitySettingsService {
4+ private static String globalConnectionString = "jdbc:mysql://localhost:3306/default_db" ;
5+ private static final String DEFAULT_CONNECTION_STRING = "jdbc:mysql://localhost:3306/default_db" ;
6+
7+ public static String obtainActualConnectionString () {
8+ return globalConnectionString ;
9+ }
10+
11+ public static void performConnectionStringUpdate (String newConnectionString ) {
12+ if (newConnectionString != null && !newConnectionString .isBlank ()) {
13+ globalConnectionString = newConnectionString ;
14+ } else {
15+ throw new IllegalArgumentException ("Provided connection string is invalid!" );
16+ }
17+ }
18+
19+ public static void resetConnectionStringToDefault () {
20+ globalConnectionString = DEFAULT_CONNECTION_STRING ;
21+ }
22+
23+ public static boolean isUsingDefaultConnectionString () {
24+ return DEFAULT_CONNECTION_STRING .equals (globalConnectionString );
25+ }
26+ }
Original file line number Diff line number Diff line change 1+ package io .aiven .klaw .service ;
2+
3+ import org .junit .jupiter .api .AfterEach ;
4+ import org .junit .jupiter .api .Test ;
5+
6+ import static org .junit .jupiter .api .Assertions .assertEquals ;
7+ import static org .junit .jupiter .api .Assertions .assertThrows ;
8+ import static org .junit .jupiter .api .Assertions .assertTrue ;
9+
10+ public class DataBaseConnectivitySettingsServiceTest {
11+
12+ @ Test
13+ public void returnDefaultConnectionStringInitially () {
14+ assertTrue (DataBaseConnectivitySettingsService .isUsingDefaultConnectionString ());
15+ }
16+
17+ @ Test
18+ public void updateConnectionStringSuccessfully () {
19+ DataBaseConnectivitySettingsService .performConnectionStringUpdate ("jdbc:mysql://localhost:3306/test_db" );
20+ assertEquals ("jdbc:mysql://localhost:3306/test_db" ,
21+ DataBaseConnectivitySettingsService .obtainActualConnectionString ());
22+ }
23+
24+ @ Test
25+ public void throwExceptionWhenConnectionStringIsInvalid () {
26+ Exception exception = assertThrows (IllegalArgumentException .class , () -> {
27+ DataBaseConnectivitySettingsService .performConnectionStringUpdate ("" );
28+ });
29+ assertEquals ("Provided connection string is invalid!" , exception .getMessage ());
30+ }
31+
32+ @ Test
33+ public void resetConnectionStringToDefault () {
34+ DataBaseConnectivitySettingsService .performConnectionStringUpdate ("jdbc:mysql://localhost:3306/another_db" );
35+
36+ DataBaseConnectivitySettingsService .resetConnectionStringToDefault ();
37+
38+ assertTrue (DataBaseConnectivitySettingsService .isUsingDefaultConnectionString ());
39+ }
40+ }
You can’t perform that action at this time.
0 commit comments