Skip to content

Commit 1a583f9

Browse files
SLCORE-1091 stop using deprecated setHtmlDesc method in tests
1 parent 36e755c commit 1a583f9

File tree

5 files changed

+51
-36
lines changed

5 files changed

+51
-36
lines changed

backend/core/src/main/java/org/sonarsource/sonarlint/core/rules/RuleDetailsAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ private static RuleMonolithicDescriptionDto transformMonolithicDescription(RuleD
109109
htmlSnippets.addAll(ruleDetails.getDescriptionSectionsByKey().get("default").stream().map(RuleDetails.DescriptionSection::getHtmlContent).collect(Collectors.toList()));
110110
} else {
111111
htmlSnippets.add(ruleDetails.getHtmlDescription());
112-
htmlSnippets.add(ruleDetails.getExtendedDescription());
113112
}
113+
htmlSnippets.add(ruleDetails.getExtendedDescription());
114114
htmlSnippets.add(getCleanCodePrinciplesContent(ruleDetails.getCleanCodePrincipleKeys()));
115115
return new RuleMonolithicDescriptionDto(concat(htmlSnippets));
116116
}

backend/server-api/src/test/java/org/sonarsource/sonarlint/core/serverapi/rules/RulesApiTests.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,13 @@ void should_get_rule() {
6565
.setSeverity("MINOR")
6666
.setType(Common.RuleType.VULNERABILITY)
6767
.setLang(SonarLanguage.PYTHON.getSonarLanguageKey())
68-
.setHtmlDesc("htmlDesc")
6968
.setHtmlNote("htmlNote")
69+
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
70+
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
71+
.setKey("default")
72+
.setContent("desc")
73+
.build())
74+
.build())
7075
.setCleanCodeAttribute(Common.CleanCodeAttribute.COMPLETE)
7176
.setImpacts(Rules.Rule.Impacts.newBuilder().addImpacts(Common.Impact.newBuilder().setSeverity(Common.ImpactSeverity.HIGH).setSoftwareQuality(Common.SoftwareQuality.MAINTAINABILITY).build()).build())
7277
.build())
@@ -76,8 +81,9 @@ void should_get_rule() {
7681

7782
var rule = rulesApi.getRule("java:S1234", new SonarLintCancelMonitor()).get();
7883

79-
assertThat(rule).extracting("name", "severity", "type", "language", "htmlDesc", "htmlNote", "cleanCodeAttribute", "impacts")
80-
.contains("name", IssueSeverity.MINOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlDesc", "htmlNote", CleanCodeAttribute.COMPLETE, Map.of(SoftwareQuality.MAINTAINABILITY, ImpactSeverity.HIGH));
84+
assertThat(rule).extracting("name", "severity", "type", "language", "htmlNote", "cleanCodeAttribute", "impacts")
85+
.contains("name", IssueSeverity.MINOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlNote", CleanCodeAttribute.COMPLETE, Map.of(SoftwareQuality.MAINTAINABILITY, ImpactSeverity.HIGH));
86+
assertThat(rule.getDescriptionSections().get(0).getHtmlContent()).isEqualTo("desc");
8187
}
8288

8389
@Test
@@ -89,7 +95,6 @@ void should_get_rule_with_description_sections() {
8995
.setSeverity("MINOR")
9096
.setType(Common.RuleType.VULNERABILITY)
9197
.setLang(SonarLanguage.PYTHON.getSonarLanguageKey())
92-
.setHtmlDesc("htmlDesc")
9398
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
9499
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder().setKey("sectionKey").setContent("htmlContent").build())
95100
.addDescriptionSections(
@@ -106,8 +111,8 @@ void should_get_rule_with_description_sections() {
106111

107112
var rule = rulesApi.getRule("java:S1234", new SonarLintCancelMonitor()).get();
108113

109-
assertThat(rule).extracting("name", "severity", "type", "language", "htmlDesc", "htmlNote", "cleanCodeAttribute", "impacts")
110-
.contains("name", IssueSeverity.MINOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlDesc", "htmlNote", CleanCodeAttribute.CONVENTIONAL, Map.of(SoftwareQuality.RELIABILITY, ImpactSeverity.LOW));
114+
assertThat(rule).extracting("name", "severity", "type", "language","htmlNote", "cleanCodeAttribute", "impacts")
115+
.contains("name", IssueSeverity.MINOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlNote", CleanCodeAttribute.CONVENTIONAL, Map.of(SoftwareQuality.RELIABILITY, ImpactSeverity.LOW));
111116

112117
var sections = rule.getDescriptionSections();
113118
assertThat(sections).hasSize(2);
@@ -131,17 +136,23 @@ void should_get_rule_from_organization() {
131136
.setSeverity("MAJOR")
132137
.setType(Common.RuleType.VULNERABILITY)
133138
.setLang(SonarLanguage.PYTHON.getSonarLanguageKey())
134-
.setHtmlDesc("htmlDesc")
135139
.setHtmlNote("htmlNote")
140+
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
141+
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
142+
.setKey("default")
143+
.setContent("desc")
144+
.build())
145+
.build())
136146
.build())
137147
.build());
138148

139149
var rulesApi = new RulesApi(mockServer.serverApiHelper("orgKey"));
140150

141151
var rule = rulesApi.getRule("java:S1234", new SonarLintCancelMonitor()).get();
142152

143-
assertThat(rule).extracting("name", "severity", "type", "language", "htmlDesc", "htmlNote")
144-
.contains("name", IssueSeverity.MAJOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlDesc", "htmlNote");
153+
assertThat(rule).extracting("name", "severity", "type", "language", "htmlNote")
154+
.contains("name", IssueSeverity.MAJOR, RuleType.VULNERABILITY, SonarLanguage.PYTHON, "htmlNote");
155+
assertThat(rule.getDescriptionSections().get(0).getHtmlContent()).isEqualTo("desc");
145156
}
146157

147158
@Test

medium-tests/src/test/java/mediumtest/EffectiveRulesMediumTests.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void it_should_merge_rule_from_storage_and_server_when_project_is_bound() {
164164
.withConnectedEmbeddedPluginAndEnabledLanguage(TestPlugin.PYTHON)
165165
.build();
166166
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:S139", Rules.ShowResponse.newBuilder()
167-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc").build())
167+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc").build())
168168
.build());
169169

170170
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -188,7 +188,7 @@ void it_should_merge_rule_from_storage_and_server_when_parent_project_is_bound()
188188
.withConnectedEmbeddedPluginAndEnabledLanguage(TestPlugin.PYTHON)
189189
.build();
190190
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:S139", Rules.ShowResponse.newBuilder()
191-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc").build())
191+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc").build())
192192
.build());
193193

194194
var details = getEffectiveRuleDetails("childScopeId", "python:S139");
@@ -213,7 +213,6 @@ void it_return_single_section_from_server_when_project_is_bound() {
213213
.build();
214214
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=jssecurity:S5696", Rules.ShowResponse.newBuilder()
215215
.setRule(Rules.Rule.newBuilder().setName(name).setSeverity("BLOCKER").setType(Common.RuleType.VULNERABILITY).setLang("js")
216-
.setHtmlDesc(desc)
217216
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
218217
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
219218
.setKey("default")
@@ -278,7 +277,14 @@ void it_should_merge_template_rule_from_storage_and_server_when_project_is_bound
278277
.withConnectedEmbeddedPluginAndEnabledLanguage(TestPlugin.PYTHON)
279278
.build();
280279
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:custom", Rules.ShowResponse.newBuilder()
281-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc").build())
280+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc")
281+
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
282+
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
283+
.setKey("default")
284+
.setContent("desc")
285+
.build())
286+
.build())
287+
.build())
282288
.build());
283289

284290
var details = getEffectiveRuleDetails("scopeId", "python:custom");
@@ -300,7 +306,14 @@ void it_should_merge_rule_from_storage_and_server_rule_when_rule_is_unknown_in_l
300306
.withEnabledLanguageInStandaloneMode(PYTHON)
301307
.build();
302308
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:S139", Rules.ShowResponse.newBuilder()
303-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc").build())
309+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc")
310+
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
311+
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
312+
.setKey("default")
313+
.setContent("desc")
314+
.build())
315+
.build())
316+
.build())
304317
.build());
305318

306319
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -410,7 +423,7 @@ void it_should_add_a_more_info_tab_if_no_resource_section_exists_and_extended_de
410423
.withEnabledLanguageInStandaloneMode(PYTHON)
411424
.build();
412425
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:S139", Rules.ShowResponse.newBuilder()
413-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc")
426+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc")
414427
.setEducationPrinciples(Rules.Rule.EducationPrinciples.newBuilder().addEducationPrinciples("never_trust_user_input").build())
415428
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
416429
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()
@@ -486,7 +499,7 @@ private void prepareForRuleDescriptionSectionsAndContext() {
486499
.withEnabledLanguageInStandaloneMode(PYTHON)
487500
.build();
488501
mockWebServerExtension.addProtobufResponse("/api/rules/show.protobuf?key=python:S139", Rules.ShowResponse.newBuilder()
489-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc("desc").setHtmlNote("extendedDesc")
502+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc")
490503
.setEducationPrinciples(Rules.Rule.EducationPrinciples.newBuilder().addEducationPrinciples("never_trust_user_input").build())
491504
.setDescriptionSections(Rules.Rule.DescriptionSections.newBuilder()
492505
.addDescriptionSections(Rules.Rule.DescriptionSection.newBuilder()

medium-tests/src/test/java/mediumtest/http/AuthenticationMediumTests.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
import org.junit.jupiter.api.AfterEach;
2929
import org.junit.jupiter.api.Test;
3030
import org.junit.jupiter.api.extension.RegisterExtension;
31+
import org.sonarsource.sonarlint.core.commons.api.SonarLanguage;
3132
import org.sonarsource.sonarlint.core.rpc.protocol.SonarLintRpcServer;
3233
import org.sonarsource.sonarlint.core.rpc.protocol.backend.rules.EffectiveRuleDetailsDto;
3334
import org.sonarsource.sonarlint.core.rpc.protocol.backend.rules.GetEffectiveRuleDetailsParams;
34-
import org.sonarsource.sonarlint.core.commons.api.SonarLanguage;
3535
import org.sonarsource.sonarlint.core.serverapi.proto.sonarqube.ws.Common;
3636
import org.sonarsource.sonarlint.core.serverapi.proto.sonarqube.ws.Rules;
3737

@@ -79,8 +79,7 @@ void it_should_authenticate_preemptively_on_sonarqube_with_login_password() {
7979
"\"UP\"}")));
8080
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
8181
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
82-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
83-
"desc").setHtmlNote("extendedDesc from server").build())
82+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
8483
.build()))));
8584

8685
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -105,8 +104,7 @@ void it_should_authenticate_preemptively_on_sonarqube_9_9_with_token_and_basic_s
105104
.build(fakeClient);
106105
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
107106
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
108-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
109-
"desc").setHtmlNote("extendedDesc from server").build())
107+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
110108
.build()))));
111109
sonarqubeMock.stubFor(get("/api/system/status")
112110
.willReturn(aResponse().withStatus(200).withBody("{\"id\": \"20160308094653\",\"version\": \"9.9\",\"status\": " +
@@ -134,8 +132,7 @@ void it_should_authenticate_preemptively_on_sonarqube_10_0_with_token_and_bearer
134132
.build(fakeClient);
135133
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
136134
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
137-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
138-
"desc").setHtmlNote("extendedDesc from server").build())
135+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
139136
.build()))));
140137
sonarqubeMock.stubFor(get("/api/system/status")
141138
.willReturn(aResponse().withStatus(200).withBody("{\"id\": \"20160308094653\",\"version\": \"10.0\",\"status\": " +

medium-tests/src/test/java/mediumtest/http/ProxyMediumTests.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,7 @@ void it_should_honor_http_proxy_settings() {
123123
.build(fakeClient);
124124
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
125125
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
126-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
127-
"desc").setHtmlNote("extendedDesc from server").build())
126+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
128127
.build()))));
129128

130129
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -150,8 +149,7 @@ void it_should_honor_http_direct_proxy_settings() {
150149
.build(fakeClient);
151150
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
152151
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
153-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
154-
"desc").setHtmlNote("extendedDesc from server").build())
152+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
155153
.build()))));
156154

157155
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -182,8 +180,7 @@ void it_should_honor_http_proxy_authentication() {
182180
.build(fakeClient);
183181
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
184182
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
185-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
186-
"desc").setHtmlNote("extendedDesc from server").build())
183+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
187184
.build()))));
188185

189186
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -213,8 +210,7 @@ void it_should_honor_http_proxy_authentication_with_null_password() {
213210
.build(fakeClient);
214211
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
215212
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
216-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
217-
"desc").setHtmlNote("extendedDesc from server").build())
213+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
218214
.build()))));
219215

220216
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -244,8 +240,7 @@ void it_should_fail_if_proxy_port_is_smaller_than_valid_range() {
244240
.build(fakeClient);
245241
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
246242
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
247-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
248-
"desc").setHtmlNote("extendedDesc from server").build())
243+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
249244
.build()))));
250245

251246
var details = getEffectiveRuleDetails("scopeId", "python:S139");
@@ -280,8 +275,7 @@ void it_should_fail_if_proxy_port_is_higher_than_valid_range() {
280275
.build(fakeClient);
281276
sonarqubeMock.stubFor(get("/api/rules/show.protobuf?key=python:S139")
282277
.willReturn(aResponse().withStatus(200).withResponseBody(protobufBody(Rules.ShowResponse.newBuilder()
283-
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlDesc(
284-
"desc").setHtmlNote("extendedDesc from server").build())
278+
.setRule(Rules.Rule.newBuilder().setName("newName").setSeverity("INFO").setType(Common.RuleType.BUG).setLang("py").setHtmlNote("extendedDesc from server").build())
285279
.build()))));
286280

287281
var details = getEffectiveRuleDetails("scopeId", "python:S139");

0 commit comments

Comments
 (0)