This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 281e9b819 Debugging CAY2723IT test failure
281e9b819 is described below
commit 281e9b819740e983e19737ed97b0418d39a15726
Author: Nikita Timofeev <[email protected]>
AuthorDate: Tue Mar 14 16:38:20 2023 +0300
Debugging CAY2723IT test failure
---
.../java/org/apache/cayenne/access/CAY2723IT.java | 46 +++++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/CAY2723IT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/CAY2723IT.java
index 6444304d5..de63a12d0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/CAY2723IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/CAY2723IT.java
@@ -18,19 +18,29 @@
****************************************************************/
package org.apache.cayenne.access;
+import org.apache.cayenne.access.translator.ParameterBinding;
+import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.di.Binder;
import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.di.Module;
+import org.apache.cayenne.log.JdbcEventLogger;
+import org.apache.cayenne.log.Slf4jJdbcEventLogger;
import org.apache.cayenne.testdo.testmap.Painting;
import org.apache.cayenne.testdo.testmap.PaintingInfo;
import org.apache.cayenne.unit.di.DataChannelInterceptor;
import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Before;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertEquals;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
+@ExtraModules(CAY2723IT.CustomLogModule.class)
public class CAY2723IT extends ServerCase {
@Inject
private DataContext context;
@@ -63,6 +73,40 @@ public class CAY2723IT extends ServerCase {
// here should be only single insert of the painting object
int queryCounter = queryInterceptor.runWithQueryCounter(() ->
context.commitChanges());
- assertEquals(1, queryCounter);
+ assertEquals("", 1, queryCounter);
+ }
+
+ public static class CustomLogger extends Slf4jJdbcEventLogger {
+
+ private static final Logger logger =
LoggerFactory.getLogger(JdbcEventLogger.class);
+
+ public CustomLogger(@Inject RuntimeProperties runtimeProperties) {
+ super(runtimeProperties);
+ }
+
+ @Override
+ public void log(String message) {
+ if (message != null) {
+ logger.error("\t>>>>>\t" + message);
+ }
+ }
+
+ @Override
+ public void logQuery(String sql, ParameterBinding[] bindings) {
+ StringBuilder buffer = new StringBuilder("\t>>>>>\t")
+ .append(sql)
+ .append(" ");
+ appendParameters(buffer, "bind", bindings);
+ if (buffer.length() > 0) {
+ logger.error(buffer.toString());
+ }
+ }
+ }
+
+ public static class CustomLogModule implements Module {
+ @Override
+ public void configure(Binder binder) {
+ binder.bind(JdbcEventLogger.class).to(CustomLogger.class);
+ }
}
}