import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
-import org.sonar.core.cluster.ClusterAction;
-import org.sonar.core.cluster.WorkQueue;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
import org.sonar.core.persistence.TestDatabase;
import org.sonar.server.db.fake.FakeMapper;
import java.util.Date;
-import java.util.List;
import java.util.UUID;
import static org.fest.assertions.Assertions.assertThat;
public class BaseDaoTest {
- public static FakeQueue queue = new FakeQueue();
-
@ClassRule
public static TestDatabase db = new TestDatabase()
- .schema(BaseDaoTest.class, "schema.sql")
- .setQueue(queue);
-
- private static class FakeQueue implements WorkQueue<ClusterAction> {
-
- private int count = 0;
-
- @Override
- public void enqueue(List<ClusterAction> actions) {
- count = actions.size();
- }
-
- public int getCount() {
- return count;
- }
- }
+ .schema(BaseDaoTest.class, "schema.sql");
private static final String DTO_ALIAS = "fake";
.setKey(UUID.randomUUID().toString());
dao.insert(session, myDto);
session.commit();
- assertThat(queue.getCount()).isEqualTo(1);
+ assertThat(session.getActionCount()).isEqualTo(1);
}
@Test
dao.insert(session, myDto);
session.commit();
- assertThat(queue.getCount()).isEqualTo(1);
+ assertThat(session.getActionCount()).isEqualTo(1);
dao.synchronizeAfter(session, new Date(t0));
- assertThat(queue.getCount()).isEqualTo(2);
+ assertThat(session.getActionCount()).isEqualTo(2);
}
}
private WorkQueue queue;
private SqlSession session;
+ private int actionCount = 0;
DbSession(WorkQueue queue, SqlSession session) {
this.session = session;
}
public void enqueue(ClusterAction action) {
+ actionCount++;
this.actions.add(action);
if (this.actions.size() > IMPLICIT_COMMIT_SIZE) {
this.commit();
}
}
+ public int getActionCount() {
+ return actionCount;
+ }
+
@Override
public void commit() {
session.commit();