From e6dbc80a0d82fb12c9bd19cfdb68767484521d87 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Mon, 5 Feb 2018 15:16:00 +0100 Subject: [PATCH] SONAR-10311 add IT for QP notification in case of plugin downgrade --- ...uiltInQualityProfilesNotificationTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesNotificationTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesNotificationTest.java index 042430e63b2..2eb34952fa4 100644 --- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesNotificationTest.java +++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesNotificationTest.java @@ -141,6 +141,35 @@ public class BuiltInQualityProfilesNotificationTest { " 1 rule removed", "This is a good time to review your quality profiles and update them to benefit from the latest evolutions: " + url + "/profiles") .isEqualTo(messages.get(1).getMimeMessage().getContent().toString()); + + + // uninstall plugin V2 + wsClient.wsConnector().call(new PostRequest("api/plugins/uninstall").setParam("key", "foo")).failIfNotSuccessful(); + // install plugin V1 + orchestrator.getConfiguration().fileSystem().copyToDirectory(pluginArtifact("foo-plugin-v1"), pluginsDir); + + orchestrator.restartServer(); + + waitUntilAllNotificationsAreDelivered(2, 10, 1_000); + messages = smtpServer.getMessages(); + assertThat(messages) + .extracting(this::getMimeMessage) + .extracting(this::getAllRecipients) + .containsOnly("<" + profileAdmin1.getEmail() + ">", "<" + profileAdmin2.getEmail() + ">"); + assertThat(messages) + .extracting(this::getMimeMessage) + .extracting(this::getSubject) + .containsOnly("[SONARQUBE] Built-in quality profiles have been updated"); + assertThat(messages.get(0).getMimeMessage().getContent().toString()) + .containsSubsequence( + "The following built-in profiles have been updated:", + "\"Basic\" - Foo: " + url + "/profiles/changelog?language=foo&name=Basic&since=", "&to=", + " 1 new rule", + " 3 rules have been updated", + " 1 rule removed", + "This is a good time to review your quality profiles and update them to benefit from the latest evolutions: " + url + "/profiles") + .isEqualTo(messages.get(1).getMimeMessage().getContent().toString()); + } @Test -- 2.39.5