return this;
}
- public QProfileChangeDto toDto() {
+ public QProfileChangeDto toDto(@Nullable String login) {
QProfileChangeDto dto = new QProfileChangeDto();
dto.setChangeType(type.name());
dto.setProfileKey(getKey().qProfile());
+ dto.setLogin(login);
Map<String, String> data = new HashMap<>();
data.put("key", getKey().toString());
data.put("ruleKey", getKey().ruleKey().toString());
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+package org.sonar.server.qualityprofile;
+
+import org.junit.Test;
+import org.sonar.api.rule.RuleKey;
+import org.sonar.db.qualityprofile.ActiveRuleKey;
+import org.sonar.db.qualityprofile.QProfileChangeDto;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.sonar.server.qualityprofile.ActiveRuleChange.Type.ACTIVATED;
+
+public class ActiveRuleChangeTest {
+
+ private static final String MY_LOGIN = "MY_LOGIN";
+
+ private ActiveRuleChange underTest = ActiveRuleChange.createFor(ACTIVATED, ActiveRuleKey.of("QP1", RuleKey.of("P1", "R1")));
+
+ @Test
+ public void to_dto() {
+ QProfileChangeDto result = underTest.toDto(MY_LOGIN);
+
+ assertThat(result.getChangeType()).isEqualTo(ACTIVATED.name());
+ assertThat(result.getProfileKey()).isEqualTo("QP1");
+ assertThat(result.getLogin()).isEqualTo(MY_LOGIN);
+ }
+}
assertThat(changes).extracting(QProfileChangeDto::getKey).containsExactly("C3", "C2");
}
+ @Test
+ public void selectByQuery_mapping() {
+ when(system2.now()).thenReturn(A_DATE);
+ when(uuidFactory.create()).thenReturn("C1");
+ insertChange("P1", "ACTIVATED", "Oscar", "data");
+
+ List<QProfileChangeDto> result = underTest.selectByQuery(dbSession, new QProfileChangeQuery("P1"));
+
+ assertThat(result).hasSize(1);
+ QProfileChangeDto change = result.get(0);
+ assertThat(change.getProfileKey()).isEqualTo("P1");
+ assertThat(change.getLogin()).isEqualTo("Oscar");
+ assertThat(change.getData()).isEqualTo("data");
+ assertThat(change.getChangeType()).isEqualTo("ACTIVATED");
+ assertThat(change.getKey()).isEqualTo("C1");
+ assertThat(change.getCreatedAt()).isEqualTo(A_DATE);
+ }
+
@Test
public void test_countForProfileKey() {
when(system2.now()).thenReturn(A_DATE, A_DATE + 10);