Skip to content

Commit 4c259cc

Browse files
authored
Fix Quality Gate issues (#1933)
1 parent 021d4ef commit 4c259cc

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

sonar-python-plugin/src/main/java/org/sonar/plugins/python/IPynb.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*/
2020
package org.sonar.plugins.python;
2121

22+
import java.util.Objects;
2223
import org.sonar.api.config.Configuration;
2324
import org.sonar.api.resources.AbstractLanguage;
2425

@@ -41,4 +42,24 @@ public String[] getFileSuffixes() {
4142
String[] suffixes = filterEmptyStrings(configuration.getStringArray(PythonPlugin.IPYNB_FILE_SUFFIXES_KEY));
4243
return suffixes.length == 0 ? DEFAULT_FILE_SUFFIXES : suffixes;
4344
}
45+
46+
@Override
47+
public boolean equals(Object o) {
48+
if (this == o) {
49+
return true;
50+
}
51+
if (o == null || getClass() != o.getClass()){
52+
return false;
53+
}
54+
if (!super.equals(o)) {
55+
return false;
56+
}
57+
IPynb iPynb = (IPynb) o;
58+
return Objects.equals(configuration, iPynb.configuration);
59+
}
60+
61+
@Override
62+
public int hashCode() {
63+
return Objects.hash(super.hashCode(), configuration);
64+
}
4465
}

sonar-python-plugin/src/test/java/org/sonar/plugins/python/IPynbTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import org.sonar.api.config.internal.MapSettings;
2525

2626
import static org.assertj.core.api.Assertions.assertThat;
27+
import static org.junit.jupiter.api.Assertions.assertEquals;
28+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
2729
import static org.sonar.plugins.python.PythonPlugin.IPYNB_FILE_SUFFIXES_KEY;
2830

2931
class IPynbTest {
@@ -53,4 +55,31 @@ void empty_file_suffixes() {
5355
IPynb language = new IPynb(settings.asConfig());
5456
assertThat(language.getFileSuffixes()).hasSize(1).contains("ipynb");
5557
}
58+
59+
@Test
60+
void equals() {
61+
ConfigurationBridge emptyConfig = new ConfigurationBridge(new MapSettings());
62+
IPynb one = new IPynb(emptyConfig);
63+
IPynb other = new IPynb(emptyConfig);
64+
IPynb nullConfig = null;
65+
66+
MapSettings settings = new MapSettings();
67+
settings.setProperty(IPYNB_FILE_SUFFIXES_KEY, "ipynb,my_custom_extension");
68+
IPynb customConfig = new IPynb(settings.asConfig());
69+
70+
assertEquals(one, one);
71+
assertEquals(one, other);
72+
assertNotEquals(one, nullConfig);
73+
assertNotEquals(one, customConfig);
74+
assertNotEquals(one, new Python(new ConfigurationBridge(new MapSettings())));
75+
}
76+
77+
@Test
78+
void hashcode() {
79+
ConfigurationBridge emptyConfig = new ConfigurationBridge(new MapSettings());
80+
IPynb one = new IPynb(emptyConfig);
81+
IPynb other = new IPynb(emptyConfig);
82+
assertEquals(one.hashCode(), other.hashCode());
83+
assertNotEquals(one.hashCode(), "test".hashCode());
84+
}
5685
}

sonar-python-plugin/src/test/java/org/sonar/plugins/python/indexer/SonarLintPythonIndexerTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.junit.jupiter.api.extension.RegisterExtension;
3535
import org.slf4j.event.Level;
3636
import org.sonar.api.batch.fs.InputFile;
37-
import org.sonar.api.batch.fs.internal.DefaultInputFile;
3837
import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
3938
import org.sonar.api.batch.sensor.internal.SensorContextTester;
4039
import org.sonar.api.testfixtures.log.LogTesterJUnit5;

0 commit comments

Comments
 (0)