import org.junit.jupiter.api.extension.RegisterExtension; | import org.junit.jupiter.api.extension.RegisterExtension; | ||||
import org.sonar.api.measures.Metric; | import org.sonar.api.measures.Metric; | ||||
import org.sonar.api.utils.System2; | import org.sonar.api.utils.System2; | ||||
import org.sonar.core.util.Uuids; | |||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.DbTester; | import org.sonar.db.DbTester; | ||||
import org.sonar.db.component.BranchDto; | import org.sonar.db.component.BranchDto; | ||||
@Test | @Test | ||||
void insert() { | void insert() { | ||||
QualityGateDto newQgate = new QualityGateDto() | QualityGateDto newQgate = new QualityGateDto() | ||||
.setUuid(Uuids.createFast()) | |||||
.setName("My Quality Gate") | .setName("My Quality Gate") | ||||
.setBuiltIn(false) | .setBuiltIn(false) | ||||
.setUpdatedAt(new Date()); | .setUpdatedAt(new Date()); | ||||
@Test | @Test | ||||
void insert_built_in() { | void insert_built_in() { | ||||
underTest.insert(db.getSession(), new QualityGateDto().setName("test").setBuiltIn(true).setUuid(Uuids.createFast())); | |||||
underTest.insert(db.getSession(), new QualityGateDto().setName("test").setBuiltIn(true)); | |||||
QualityGateDto reloaded = underTest.selectByName(db.getSession(), "test"); | QualityGateDto reloaded = underTest.selectByName(db.getSession(), "test"); | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.sonar.core.util.UuidFactoryFast; | |||||
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.DbTester; | import org.sonar.db.DbTester; | ||||
private final DbClient dbClient = db.getDbClient(); | private final DbClient dbClient = db.getDbClient(); | ||||
private final DbSession dbSession = db.getSession(); | private final DbSession dbSession = db.getSession(); | ||||
private final QualityGateUpdater underTest = new QualityGateUpdater(dbClient, UuidFactoryFast.getInstance()); | |||||
private final QualityGateUpdater underTest = new QualityGateUpdater(dbClient); | |||||
@Test | @Test | ||||
public void create_quality_gate() { | public void create_quality_gate() { |
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.runner.RunWith; | import org.junit.runner.RunWith; | ||||
import org.sonar.api.server.ws.WebService; | import org.sonar.api.server.ws.WebService; | ||||
import org.sonar.core.util.UuidFactoryFast; | |||||
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.DbTester; | import org.sonar.db.DbTester; | ||||
private final DbClient dbClient = db.getDbClient(); | private final DbClient dbClient = db.getDbClient(); | ||||
private final DbSession dbSession = db.getSession(); | private final DbSession dbSession = db.getSession(); | ||||
private final QualityGateUpdater qualityGateUpdater = new QualityGateUpdater(dbClient, UuidFactoryFast.getInstance()); | |||||
private final QualityGateUpdater qualityGateUpdater = new QualityGateUpdater(dbClient); | |||||
private final QualityGatesWsSupport wsSupport = new QualityGatesWsSupport(dbClient, userSession, TestComponentFinder.from(db)); | private final QualityGatesWsSupport wsSupport = new QualityGatesWsSupport(dbClient, userSession, TestComponentFinder.from(db)); | ||||
private final CopyAction underTest = new CopyAction(dbClient, userSession, qualityGateUpdater, wsSupport); | private final CopyAction underTest = new CopyAction(dbClient, userSession, qualityGateUpdater, wsSupport); |
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.junit.runner.RunWith; | import org.junit.runner.RunWith; | ||||
import org.sonar.api.measures.CoreMetrics; | |||||
import org.sonar.api.measures.Metric; | import org.sonar.api.measures.Metric; | ||||
import org.sonar.api.server.ws.WebService; | import org.sonar.api.server.ws.WebService; | ||||
import org.sonar.core.util.UuidFactoryFast; | |||||
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.DbTester; | import org.sonar.db.DbTester; | ||||
private final DbClient dbClient = db.getDbClient(); | private final DbClient dbClient = db.getDbClient(); | ||||
private final DbSession dbSession = db.getSession(); | private final DbSession dbSession = db.getSession(); | ||||
private final CreateAction underTest = new CreateAction(dbClient, userSession, new QualityGateUpdater(dbClient, | |||||
UuidFactoryFast.getInstance()), | |||||
private final CreateAction underTest = new CreateAction(dbClient, userSession, new QualityGateUpdater(dbClient), | |||||
new QualityGateConditionsUpdater(dbClient)); | new QualityGateConditionsUpdater(dbClient)); | ||||
private final WsActionTester ws = new WsActionTester(underTest); | private final WsActionTester ws = new WsActionTester(underTest); | ||||
*/ | */ | ||||
package org.sonar.server.qualitygate; | package org.sonar.server.qualitygate; | ||||
import org.sonar.core.util.UuidFactory; | |||||
import org.sonar.core.util.Uuids; | import org.sonar.core.util.Uuids; | ||||
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
public class QualityGateUpdater { | public class QualityGateUpdater { | ||||
private final DbClient dbClient; | private final DbClient dbClient; | ||||
private final UuidFactory uuidFactory; | |||||
public QualityGateUpdater(DbClient dbClient, UuidFactory uuidFactory) { | |||||
public QualityGateUpdater(DbClient dbClient) { | |||||
this.dbClient = dbClient; | this.dbClient = dbClient; | ||||
this.uuidFactory = uuidFactory; | |||||
} | } | ||||
public QualityGateDto create(DbSession dbSession, String name) { | public QualityGateDto create(DbSession dbSession, String name) { | ||||
validateQualityGate(dbSession, name); | validateQualityGate(dbSession, name); | ||||
QualityGateDto newQualityGate = new QualityGateDto() | QualityGateDto newQualityGate = new QualityGateDto() | ||||
.setName(name) | .setName(name) | ||||
.setBuiltIn(false) | |||||
.setUuid(uuidFactory.create()); | |||||
.setBuiltIn(false); | |||||
dbClient.qualityGateDao().insert(dbSession, newQualityGate); | dbClient.qualityGateDao().insert(dbSession, newQualityGate); | ||||
return newQualityGate; | return newQualityGate; | ||||
} | } |