package org.skywalking.apm.plugin.jdbc;
import org.hamcrest.CoreMatchers;
import org.skywalking.apm.sniffer.mock.context.MockTracerContextListener;
import org.skywalking.apm.trace.LogData;
import org.skywalking.apm.trace.Span;
import org.skywalking.apm.trace.tag.Tags;
import java.sql.SQLException;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.*;
public abstract class AbstractStatementTest {
protected MockTracerContextListener mockTracerContextListener;
protected void assertDBSpanLog(LogData logData) {
assertThat(logData.getFields().size(), is(4));
assertThat(logData.getFields().get("event"), CoreMatchers.<Object>is("error"));
assertEquals(logData.getFields().get("error.kind"), SQLException.class.getName());
assertNull(logData.getFields().get("message"));
}
protected void assertDBSpan(Span span, String exceptOperationName, String exceptDBStatement) {
assertDBSpan(span, exceptOperationName);
assertThat(Tags.DB_STATEMENT.get(span), is(exceptDBStatement));
}
protected void assertDBSpan(Span span, String exceptOperationName) {
assertThat(span.getOperationName(), is(exceptOperationName));
assertThat(Tags.COMPONENT.get(span), is("Mysql"));
assertThat(Tags.DB_INSTANCE.get(span), is("test"));
assertTrue(Tags.SPAN_LAYER.isDB(span));
}
}