package org.test4j.testng.tracer;
import java.io.FileNotFoundException;
import mockit.Mock;
import org.test4j.database.table.ITable;
import org.test4j.fortest.hibernate.User;
import org.test4j.fortest.hibernate.UserService;
import org.test4j.module.database.IDatabase;
import org.test4j.module.spring.annotations.SpringBeanByType;
import org.test4j.module.spring.annotations.SpringContext;
import org.test4j.module.tracer.TracerHelper;
import org.test4j.testng.Test4J;
import org.test4j.tools.commons.ResourceHelper;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@SuppressWarnings("serial")
@SpringContext({ "classpath:/org/test4j/fortest/hibernate/project.xml" })
@Test(groups = { "test4j", "tracer", "broken-install", "hibernate" })
public class TracerTest_Enabled extends Test4J implements IDatabase {
@SpringBeanByType
private UserService userService;
@BeforeMethod
public void disabledTracer() {
new MockUp<TracerHelper>() {
@Mock
public boolean doesTracerEnabled() {
return true;
}
};
}
@Test
public void monitorSpringTrue() {
db.table(ITable.t_tdd_user).clean().insert(3, new DataMap() {
{
this.put("id", "1", "2", "3");
this.put("is_deleted", "false", "false", "true");
}
});
User user1 = userService.getUser(1);
want.object(user1).notNull();
User user = new User();
user.setName("new user");
userService.newUser(user);
db.table(ITable.t_tdd_user).queryWhere("name='new user'").reflectionEqMap(1, new DataMap() {
{
this.put("count", "1");
}
});
}
@Test(dependsOnMethods = "monitorSpringTrue")
public void monitorSpringTrue_check() throws FileNotFoundException {
String tracerInfo = ResourceHelper
.readFromFile("target/tracer/org/test4j/tracer/TracerTest#monitorSpringTrue.html");
want.string(tracerInfo).contains("call").contains("paras").contains("result");
}
@Test
public void monitorJdbcTrue() {
db.table(ITable.t_tdd_user).clean().insert(3, new DataMap() {
{
this.put("id", "1", "2", "3");
this.put("is_deleted", "false", "false", "true");
}
});
User user1 = userService.getUser(1);
want.object(user1).notNull();
User user = new User();
user.setName("new user");
userService.newUser(user);
db.table(ITable.t_tdd_user).queryWhere("name='new user'").reflectionEqMap(1, new DataMap() {
{
this.put("count", "1");
}
});
}
@Test(dependsOnMethods = "monitorSpringTrue")
public void monitorJdbcTrue_check() throws FileNotFoundException {
String tracerInfo = ResourceHelper
.readFromFile("target/tracer/org/test4j/tracer/TracerTest#monitorJdbcTrue.html");
want.string(tracerInfo).contains("SQL-Statement");
}
@Test
public void monitorSpring_ToInfoString() {
db.table(ITable.t_tdd_user).clean().insert(3, new DataMap() {
{
this.put("id", "1", "2", "3");
this.put("is_deleted", "false", "false", "true");
}
});
User user1 = userService.getUser(1);
want.object(user1).notNull();
User user = new User();
user.setName("new user");
userService.newUser(user);
db.table(ITable.t_tdd_user).queryWhere("name='new user'").reflectionEqMap(1, new DataMap() {
{
this.put("count", "1");
}
});
}
@Test(dependsOnMethods = "monitorSpring_ToInfoString")
public void monitorSpring_ToInfoString_check() throws FileNotFoundException {
String tracerInfo = ResourceHelper
.readFromFile("target/tracer/org/test4j/tracer/TracerTest#monitorSpring_ToInfoString.html");
want.string(tracerInfo).contains("org.test4j.fortest.hibernate.User@");
}
}