1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- * SonarQube
- * Copyright (C) 2009-2023 SonarSource SA
- * mailto:info 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.ce.task.projectanalysis.step;
-
- import org.junit.Rule;
- import org.junit.Test;
- import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolderRule;
- import org.sonar.ce.task.step.TestComputationStepContext;
- import org.sonar.db.DbClient;
- import org.sonar.db.DbTester;
- import org.sonar.db.component.BranchType;
- import org.sonar.db.component.ComponentDto;
- import org.sonar.db.metric.MetricDto;
- import org.sonar.server.project.Project;
-
- import static java.util.Collections.emptyList;
- import static org.assertj.core.api.Assertions.assertThat;
- import static org.sonar.api.measures.Metric.ValueType.INT;
-
- public class ProjectNclocComputationStepIT {
- @Rule
- public DbTester db = DbTester.create();
- private final DbClient dbClient = db.getDbClient();
-
- @Rule
- public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
-
- private final ProjectNclocComputationStep step = new ProjectNclocComputationStep(analysisMetadataHolder, dbClient);
-
- @Test
- public void test_computing_branch_ncloc() {
- MetricDto ncloc = db.measures().insertMetric(m -> m.setKey("ncloc").setValueType(INT.toString()));
- ComponentDto project = db.components().insertPublicProject();
- ComponentDto branch1 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
- db.measures().insertLiveMeasure(branch1, ncloc, m -> m.setValue(200d));
- ComponentDto branch2 = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
- db.measures().insertLiveMeasure(branch2, ncloc, m -> m.setValue(10d));
- analysisMetadataHolder.setProject(new Project(project.uuid(), project.getKey(), project.name(), project.description(), emptyList()));
- step.execute(TestComputationStepContext.TestStatistics::new);
-
- assertThat(dbClient.projectDao().getNclocSum(db.getSession())).isEqualTo(200L);
- }
-
- @Test
- public void description_is_not_missing() {
- assertThat(step.getDescription()).isNotBlank();
- }
- }
|