Browse Source

NO-JIRA remove redundant quality gate UUID creation

pull/3361/head
Zipeng WU 1 month ago
parent
commit
57c4dde906

+ 1
- 3
server/sonar-db-dao/src/it/java/org/sonar/db/qualitygate/QualityGateDaoIT.java View File

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");



+ 1
- 2
server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/QualityGateUpdaterIT.java View File



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() {

+ 1
- 2
server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/CopyActionIT.java View File

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);

+ 1
- 4
server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualitygate/ws/CreateActionIT.java View File

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);



+ 2
- 6
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/QualityGateUpdater.java View File

*/ */
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;
} }

Loading…
Cancel
Save