From 72453499afc45bd8d71a6f26942d65440065691f Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 6 Mar 2019 17:10:53 +0200 Subject: [PATCH] Remove security manager after nosql test completion. --- .../server/rules/RuleEngineSqlTestSuite.java | 8 --- .../server/system/SystemSqlTestSuite.java | 72 ------------------- .../server/dao/CustomCassandraCQLUnit.java | 1 + 3 files changed, 1 insertion(+), 80 deletions(-) diff --git a/application/src/test/java/org/thingsboard/server/rules/RuleEngineSqlTestSuite.java b/application/src/test/java/org/thingsboard/server/rules/RuleEngineSqlTestSuite.java index d4b04289a8..c49a029dc4 100644 --- a/application/src/test/java/org/thingsboard/server/rules/RuleEngineSqlTestSuite.java +++ b/application/src/test/java/org/thingsboard/server/rules/RuleEngineSqlTestSuite.java @@ -28,14 +28,6 @@ import java.util.Arrays; "org.thingsboard.server.rules.lifecycle.sql.*Test"}) public class RuleEngineSqlTestSuite { - static { - SecurityManager appsm = System.getSecurityManager(); - System.out.println("SECURITY MANAGER = " + appsm); - if (appsm != null) { - System.out.println("SECURITY MANAGER CLASS = " + appsm.getClass()); - } - } - @ClassRule public static CustomSqlUnit sqlUnit = new CustomSqlUnit( Arrays.asList("sql/schema-ts.sql", "sql/schema-entities.sql", "sql/system-data.sql"), diff --git a/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java b/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java index ae45e35fa9..2fbf3814f7 100644 --- a/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java +++ b/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java @@ -15,21 +15,11 @@ */ package org.thingsboard.server.system; -import net.bytebuddy.asm.AsmVisitorWrapper; -import net.bytebuddy.asm.MemberSubstitution; -import net.bytebuddy.matcher.ElementMatchers; -import org.apache.cassandra.cql3.functions.ThreadAwareSecurityManager; -import org.hibernate.HibernateException; -import org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState; -import org.hibernate.bytecode.internal.bytebuddy.HibernateMethodLookupDispatcher; import org.junit.ClassRule; import org.junit.extensions.cpsuite.ClasspathSuite; import org.junit.runner.RunWith; import org.thingsboard.server.dao.CustomSqlUnit; -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedAction; import java.util.Arrays; /** @@ -46,68 +36,6 @@ public class SystemSqlTestSuite { if (appsm != null) { System.out.println("SECURITY MANAGER CLASS = " + appsm.getClass()); } - - AsmVisitorWrapper.ForDeclaredMethods getDeclaredMethodMemberSubstitution; - AsmVisitorWrapper.ForDeclaredMethods getMethodMemberSubstitution; - - //if ( System.getSecurityManager() != null ) { - getDeclaredMethodMemberSubstitution = getDeclaredMethodMemberSubstitution(); - getMethodMemberSubstitution = getMethodMemberSubstitution(); - //} - //else { - // getDeclaredMethodMemberSubstitution = null; - // getMethodMemberSubstitution = null; - //} - - System.out.println("getDeclaredMethodMemberSubstitution = " + getDeclaredMethodMemberSubstitution); - System.out.println("getMethodMemberSubstitution = " + getMethodMemberSubstitution); - } - - private static class GetDeclaredMethodAction implements PrivilegedAction { - private final Class clazz; - private final String methodName; - private final Class[] parameterTypes; - - private GetDeclaredMethodAction(Class clazz, String methodName, Class... parameterTypes) { - this.clazz = clazz; - this.methodName = methodName; - this.parameterTypes = parameterTypes; - } - - @Override - public Method run() { - try { - Method method = clazz.getDeclaredMethod( methodName, parameterTypes ); - - return method; - } - catch (NoSuchMethodException e) { - throw new HibernateException( "Unable to prepare getDeclaredMethod()/getMethod() substitution", e ); - } - } - } - - - private static AsmVisitorWrapper.ForDeclaredMethods getDeclaredMethodMemberSubstitution() { - // this should only be called if the security manager is enabled, thus the privileged calls - return MemberSubstitution.relaxed() - .method( ElementMatchers.is( AccessController.doPrivileged( new SystemSqlTestSuite.GetDeclaredMethodAction( Class.class, - "getDeclaredMethod", String.class, Class[].class ) ) ) ) - .replaceWith( - AccessController.doPrivileged( new SystemSqlTestSuite.GetDeclaredMethodAction( HibernateMethodLookupDispatcher.class, - "getDeclaredMethod", Class.class, String.class, Class[].class ) ) ) - .on( ElementMatchers.isTypeInitializer() ); - } - - private static AsmVisitorWrapper.ForDeclaredMethods getMethodMemberSubstitution() { - // this should only be called if the security manager is enabled, thus the privileged calls - return MemberSubstitution.relaxed() - .method( ElementMatchers.is( AccessController.doPrivileged( new SystemSqlTestSuite.GetDeclaredMethodAction( Class.class, - "getMethod", String.class, Class[].class ) ) ) ) - .replaceWith( - AccessController.doPrivileged( new SystemSqlTestSuite.GetDeclaredMethodAction( HibernateMethodLookupDispatcher.class, - "getMethod", Class.class, String.class, Class[].class ) ) ) - .on( ElementMatchers.isTypeInitializer() ); } @ClassRule diff --git a/dao/src/test/java/org/thingsboard/server/dao/CustomCassandraCQLUnit.java b/dao/src/test/java/org/thingsboard/server/dao/CustomCassandraCQLUnit.java index b57cd33c6c..c74dbd54e5 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/CustomCassandraCQLUnit.java +++ b/dao/src/test/java/org/thingsboard/server/dao/CustomCassandraCQLUnit.java @@ -82,6 +82,7 @@ public class CustomCassandraCQLUnit extends BaseCassandraUnit { session = null; cluster = null; } + System.setSecurityManager(null); } // Getters for those who do not like to directly access fields