Skip to content

Commit c482f2f

Browse files
committed
fix: added more tests for PreferencesTest
1 parent c120a5f commit c482f2f

1 file changed

Lines changed: 142 additions & 68 deletions

File tree

tests/src/test/java/io/snyk/eclipse/plugin/properties/preferences/PreferencesTest.java

Lines changed: 142 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import static org.junit.jupiter.api.Assertions.assertFalse;
55
import static org.junit.jupiter.api.Assertions.assertTrue;
66

7+
import java.util.Optional;
8+
79
import org.apache.commons.lang3.SystemUtils;
810
import org.junit.jupiter.api.BeforeEach;
911
import org.junit.jupiter.api.Test;
@@ -15,72 +17,144 @@
1517

1618
class PreferencesTest {
1719

18-
@BeforeEach
19-
void setUp() {
20-
PreferencesUtils.setPreferences(null);
21-
}
22-
23-
@Test
24-
void test_DefaultPreferences() {
25-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
26-
LsRuntimeEnvironment lsRuntimeEnv = new LsRuntimeEnvironment();
27-
28-
assertEquals("false", prefs.getPref(Preferences.ACTIVATE_SNYK_CODE_SECURITY));
29-
assertEquals("true", prefs.getPref(Preferences.ACTIVATE_SNYK_OPEN_SOURCE));
30-
assertEquals("true", prefs.getPref(Preferences.ACTIVATE_SNYK_IAC));
31-
assertEquals("true", prefs.getPref(Preferences.SEND_ERROR_REPORTS));
32-
assertEquals("true", prefs.getPref(Preferences.ENABLE_TELEMETRY));
33-
assertEquals("true", prefs.getPref(Preferences.MANAGE_BINARIES_AUTOMATICALLY));
34-
assertEquals("true", prefs.getPref(Preferences.MANAGE_BINARIES_AUTOMATICALLY));
35-
assertEquals("1", prefs.getPref(Preferences.LSP_VERSION));
36-
assertTrue(prefs.getCliPath().endsWith(lsRuntimeEnv.getDownloadBinaryName()));
37-
}
38-
39-
@Test
40-
void test_ExistingTokenInEnvironment_IsStoredInPreferences() {
41-
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
42-
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_TOKEN, "")).thenReturn("token");
43-
44-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
45-
46-
assertEquals(prefs.getAuthToken(), "token");
47-
}
48-
}
49-
50-
@Test
51-
void test_ExistingEndpointInEnvironment_IsStoredInPreferences() {
52-
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
53-
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_API, "")).thenReturn("https://custom.endpoint.io");
54-
55-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
56-
57-
assertEquals(prefs.getEndpoint(), "https://custom.endpoint.io");
58-
}
59-
}
60-
61-
@Test
62-
void test_ExistingOrgInEnvironment_IsStoredInPreferences() {
63-
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
64-
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_ORG, "")).thenReturn("myOrg");
65-
66-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
67-
68-
assertEquals(prefs.getPref(Preferences.ORGANIZATION_KEY), "myOrg");
69-
}
70-
}
71-
72-
@Test
73-
void test_GetBoolean_returnsBooleanProperty() {
74-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
75-
76-
assertFalse(prefs.getBooleanPref(Preferences.ACTIVATE_SNYK_CODE_SECURITY));
77-
assertTrue(prefs.getBooleanPref(Preferences.ACTIVATE_SNYK_OPEN_SOURCE));
78-
}
79-
80-
@Test
81-
void test_GetBoolean_returnsFalseForNonBooleanProperty() {
82-
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
83-
84-
assertFalse(prefs.getBooleanPref(Preferences.CLI_PATH));
85-
}
20+
@BeforeEach
21+
void setUp() {
22+
PreferencesUtils.setPreferences(null);
23+
}
24+
25+
@Test
26+
void test_DefaultPreferences() {
27+
Preferences preferences = Preferences.getInstance(new InMemoryPreferenceStore());
28+
LsRuntimeEnvironment lsRuntimeEnv = new LsRuntimeEnvironment();
29+
30+
assertEquals("false", preferences.getPref(Preferences.ACTIVATE_SNYK_CODE_SECURITY));
31+
assertEquals("false", preferences.getPref(Preferences.ACTIVATE_SNYK_CODE_QUALITY));
32+
assertEquals("true", preferences.getPref(Preferences.ACTIVATE_SNYK_OPEN_SOURCE));
33+
assertEquals("true", preferences.getPref(Preferences.ACTIVATE_SNYK_IAC));
34+
assertEquals("false", preferences.getPref(Preferences.FILTER_CRITICAL));
35+
assertEquals("false", preferences.getPref(Preferences.FILTER_HIGH));
36+
assertEquals("false", preferences.getPref(Preferences.FILTER_MEDIUM));
37+
assertEquals("false", preferences.getPref(Preferences.FILTER_LOW));
38+
assertEquals("false", preferences.getPref(Preferences.FILTER_DELTA_NEW_ISSUES));
39+
assertEquals("true", preferences.getPref(Preferences.FILTER_IGNORES_SHOW_OPEN_ISSUES));
40+
assertEquals("true", preferences.getPref(Preferences.FILTER_IGNORES_SHOW_IGNORED_ISSUES));
41+
assertEquals("false", preferences.getPref(Preferences.FILTER_FIXABLE_ISSUES));
42+
assertEquals("false", preferences.getPref(Preferences.FILTER_OSS_FIXABLE_ISSUES));
43+
assertEquals("true", preferences.getPref(Preferences.SEND_ERROR_REPORTS));
44+
assertEquals("true", preferences.getPref(Preferences.ENABLE_TELEMETRY));
45+
assertEquals("true", preferences.getPref(Preferences.MANAGE_BINARIES_AUTOMATICALLY));
46+
assertEquals("1", preferences.getPref(Preferences.LSP_VERSION));
47+
assertEquals("false", preferences.getPref(Preferences.IS_GLOBAL_IGNORES_FEATURE_ENABLED));
48+
assertEquals("https://api.snyk.io", preferences.getPref(Preferences.ENDPOINT_KEY));
49+
assertEquals("https://downloads.snyk.io", preferences.getPref(Preferences.CLI_BASE_URL));
50+
assertEquals("true", preferences.getPref(Preferences.SCANNING_MODE_AUTOMATIC));
51+
assertEquals("false", preferences.getPref(Preferences.USE_TOKEN_AUTH));
52+
assertEquals("false", preferences.getPref(Preferences.ANALYTICS_PLUGIN_INSTALLED_SENT));
53+
assertEquals("stable", preferences.getPref(Preferences.RELEASE_CHANNEL));
54+
assertTrue(preferences.getCliPath().endsWith(lsRuntimeEnv.getDownloadBinaryName()));
55+
}
56+
57+
@Test
58+
void test_ExistingTokenInEnvironment_IsStoredInPreferences() {
59+
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
60+
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_TOKEN, ""))
61+
.thenReturn("token");
62+
63+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
64+
65+
assertEquals(prefs.getAuthToken(), "token");
66+
}
67+
}
68+
69+
@Test
70+
void test_ExistingEndpointInEnvironment_IsStoredInPreferences() {
71+
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
72+
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_API, ""))
73+
.thenReturn("https://custom.endpoint.io");
74+
75+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
76+
77+
assertEquals(prefs.getEndpoint(), "https://custom.endpoint.io");
78+
}
79+
}
80+
81+
@Test
82+
void test_ExistingOrgInEnvironment_IsStoredInPreferences() {
83+
try (MockedStatic<SystemUtils> mockedSystemUtils = Mockito.mockStatic(SystemUtils.class)) {
84+
mockedSystemUtils.when(() -> SystemUtils.getEnvironmentVariable(EnvironmentConstants.ENV_SNYK_ORG, ""))
85+
.thenReturn("myOrg");
86+
87+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
88+
89+
assertEquals(prefs.getPref(Preferences.ORGANIZATION_KEY), "myOrg");
90+
}
91+
}
92+
93+
@Test
94+
void test_GetBoolean_returnsBooleanProperty() {
95+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
96+
97+
assertFalse(prefs.getBooleanPref(Preferences.ACTIVATE_SNYK_CODE_SECURITY));
98+
assertTrue(prefs.getBooleanPref(Preferences.ACTIVATE_SNYK_OPEN_SOURCE));
99+
}
100+
101+
@Test
102+
void test_GetBoolean_returnsFalseForNonBooleanProperty() {
103+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
104+
105+
assertFalse(prefs.getBooleanPref(Preferences.CLI_PATH));
106+
}
107+
108+
@Test
109+
public void testGetPath() {
110+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
111+
prefs.store(Preferences.PATH_KEY, "/test/path");
112+
assertEquals(Optional.of("/test/path"), prefs.getPath());
113+
}
114+
115+
@Test
116+
public void testGetPathEmpty() {
117+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
118+
assertEquals(Optional.empty(), prefs.getPath());
119+
}
120+
121+
@Test
122+
public void testIsInsecure() {
123+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
124+
prefs.setIsInsecure(true);
125+
assertTrue(prefs.isInsecure());
126+
}
127+
128+
@Test
129+
public void testIsManagedBinaries() {
130+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
131+
assertTrue(prefs.isManagedBinaries());
132+
prefs.store(Preferences.MANAGE_BINARIES_AUTOMATICALLY, "false");
133+
assertFalse(prefs.isManagedBinaries());
134+
}
135+
136+
@Test
137+
public void testGetReleaseChannel() {
138+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
139+
assertEquals("stable", prefs.getReleaseChannel());
140+
prefs.store(Preferences.RELEASE_CHANNEL, "beta");
141+
assertEquals("beta", prefs.getReleaseChannel());
142+
}
143+
144+
@Test
145+
public void testSetAndIsTest() {
146+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
147+
assertFalse(prefs.isTest());
148+
prefs.setTest(true);
149+
assertTrue(prefs.isTest());
150+
}
151+
152+
@Test
153+
public void testGetLspVersion() {
154+
Preferences prefs = Preferences.getInstance(new InMemoryPreferenceStore());
155+
assertEquals("1", prefs.getLspVersion());
156+
prefs.store(Preferences.LSP_VERSION, "2");
157+
assertEquals("2", prefs.getLspVersion());
158+
}
159+
86160
}

0 commit comments

Comments
 (0)