static TestDb create(@Nullable String schemaPath, MyBatisConfExtension... confExtensions) { MyBatisConfExtension[] extensionArray = confExtensions == null || confExtensions.length == 0 ? null : confExtensions; if (schemaPath == null) { if (defaultSchemaBaseTestDb == null) { defaultSchemaBaseTestDb = new TestDb((String) null); } if (extensionArray != null) { return defaultSchemaTestDbsWithExtensions.computeIfAbsent( extensionArray, extensions -> new TestDb(defaultSchemaBaseTestDb, newMyBatis(defaultSchemaBaseTestDb.getDatabase(), extensions))); } return defaultSchemaBaseTestDb; } return new TestDb(schemaPath, confExtensions); }
public DatabaseCommands getCommands() { return db.getCommands(); }
@Deprecated public MyBatis myBatis() { return db.getMyBatis(); }
private TestDb(@Nullable String schemaPath, MyBatisConfExtension... confExtensions) { super(); init(schemaPath, (db, created) -> myBatis = newMyBatis(db, confExtensions)); }
@Override protected void before() { db.start(); db.truncateTables(); initDbClient(); if (!disableDefaultOrganization) { insertDefaultOrganization(); } started = true; }
private void initDbClient() { TransientPicoContainer ioc = new TransientPicoContainer(); ioc.addComponent(db.getMyBatis()); ioc.addComponent(system2); ioc.addComponent(new SequenceUuidFactory()); for (Class daoClass : DaoModule.classes()) { ioc.addComponent(daoClass); } List<Dao> daos = ioc.getComponents(Dao.class); client = new DbClient(db.getDatabase(), db.getMyBatis(), new TestDBSessions(db.getMyBatis()), daos.toArray(new Dao[daos.size()])); }
@Configuration @Profile("test") public class TestConfiguration { @Bean public Database database() { return new TestDb(); } }
@Deprecated public Database database() { return db.getDatabase(); }
@Override protected void after() { if (session != null) { session.rollback(); session.close(); } db.stop(); started = false; }
private DbTester(System2 system2, @Nullable String schemaPath, MyBatisConfExtension... confExtensions) { super(TestDb.create(schemaPath, confExtensions)); this.system2 = system2; initDbClient(); this.userTester = new UserDbTester(this); this.componentTester = new ComponentDbTester(this); this.componentLinkTester = new ProjectLinkDbTester(this); this.favoriteTester = new FavoriteDbTester(this); this.eventTester = new EventDbTester(this); this.organizationTester = new OrganizationDbTester(this); this.permissionTemplateTester = new PermissionTemplateDbTester(this); this.propertyTester = new PropertyDbTester(this); this.qualityGateDbTester = new QualityGateDbTester(this); this.issueDbTester = new IssueDbTester(this); this.ruleDbTester = new RuleDbTester(this); this.notificationDbTester = new NotificationDbTester(this); this.rootFlagAssertions = new RootFlagAssertions(this); this.qualityProfileDbTester = new QualityProfileDbTester(this); this.measureDbTester = new MeasureDbTester(this); this.fileSourceTester = new FileSourceTester(this); this.pluginDbTester = new PluginDbTester(this); this.webhookDbTester = new WebhookDbTester(this); this.webhookDeliveryDbTester = new WebhookDeliveryDbTester(this); this.almDbTester = new AlmDbTester(this); }
private Connection getConnection() throws SQLException { return db.getDatabase().getDataSource().getConnection(); }
public DbSession getSession() { if (session == null) { session = db.getMyBatis().openSession(false); } return session; }
public String getUrl() { return ((BasicDataSource) db.getDatabase().getDataSource()).getUrl(); }
private void insertDefaultOrganization() { defaultOrganization = OrganizationTesting.newOrganizationDto().setUuid(defaultOrganizationUuid); try (DbSession dbSession = db.getMyBatis().openSession(false)) { client.organizationDao().insert(dbSession, defaultOrganization, false); client.internalPropertiesDao().save(dbSession, "organization.default", defaultOrganization.getUuid()); dbSession.commit(); } }