From 988f78274e92af3f89022a8bd2cc5314cd2173cb Mon Sep 17 00:00:00 2001 From: Shicong Huang Date: Thu, 5 Dec 2019 13:12:56 -0500 Subject: [PATCH] Check SQL dependency in super class for SqlIntegrationMembershipTest (#398) In some cases, we define JpaTransactionManagerRule in a TestCase class which is extended by the concrete test class. So, we need to check if JpaTransactionManagerRule is also defined in the super class. --- .../integration/SqlIntegrationMembershipTest.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/test/java/google/registry/schema/integration/SqlIntegrationMembershipTest.java b/core/src/test/java/google/registry/schema/integration/SqlIntegrationMembershipTest.java index 1e3d5e827..9785137c4 100644 --- a/core/src/test/java/google/registry/schema/integration/SqlIntegrationMembershipTest.java +++ b/core/src/test/java/google/registry/schema/integration/SqlIntegrationMembershipTest.java @@ -71,8 +71,13 @@ public class SqlIntegrationMembershipTest { } private static boolean isSqlDependent(Class testClass) { - return Stream.of(testClass.getDeclaredFields()) - .map(Field::getType) - .anyMatch(JpaTransactionManagerRule.class::equals); + for (Class clazz = testClass; clazz != null; clazz = clazz.getSuperclass()) { + if (Stream.of(clazz.getDeclaredFields()) + .map(Field::getType) + .anyMatch(JpaTransactionManagerRule.class::equals)) { + return true; + } + } + return false; } }