From 5bcdc95e91aeabf68770b175fe210da38e76867f Mon Sep 17 00:00:00 2001 From: Krysiak Adam Date: Tue, 18 Jun 2019 11:09:21 +0200 Subject: Improved tests performance * used mock instead of waiting till dmaap client fails * creating in memory DB only once Issue-ID: POLICY-1671 Change-Id: Ia1b6ce7ddad1bce0d17c2dbf14f3d82dd237673b Signed-off-by: Krysiak Adam --- .../rest/daoimpl/PolicyValidationDaoImplTest.java | 49 +++++++++++++++------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'ONAP-REST/src/test') diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/daoimpl/PolicyValidationDaoImplTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/daoimpl/PolicyValidationDaoImplTest.java index f5d968b14..299e8003f 100644 --- a/ONAP-REST/src/test/java/org/onap/policy/rest/daoimpl/PolicyValidationDaoImplTest.java +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/daoimpl/PolicyValidationDaoImplTest.java @@ -3,13 +3,14 @@ * ONAP-REST * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications copyright (c) 2019 Nokia * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -31,14 +32,16 @@ import javax.script.SimpleBindings; import org.apache.tomcat.dbcp.dbcp2.BasicDataSource; import org.h2.tools.Server; +import org.hibernate.Query; +import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.hibernate.Transaction; import org.junit.After; -import org.junit.Before; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.onap.policy.common.logging.flexlogger.FlexLogger; import org.onap.policy.common.logging.flexlogger.Logger; -//import org.onap.policy.conf.HibernateSession; -//import org.onap.policy.controller.PolicyController; import org.onap.policy.rest.jpa.OnapName; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.rest.jpa.PolicyRoles; @@ -55,13 +58,13 @@ public class PolicyValidationDaoImplTest { private static Logger logger = FlexLogger.getLogger(PolicyValidationDaoImplTest.class); - SessionFactory sessionFactory; - Server server; - PolicyValidationDaoImpl commonClassDao; + static SessionFactory sessionFactory; + static Server server; + static PolicyValidationDaoImpl commonClassDao; - @Before - public void setUp() throws Exception{ - try{ + @BeforeClass + public static void setupAll() { + try { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.h2.Driver"); // In-memory DB for testing @@ -110,6 +113,17 @@ public class PolicyValidationDaoImplTest { } } + @AfterClass + public static void deleteDB() { + sessionFactory.close(); + server.stop(); + } + + @After + public void tearDown() { + truncateAllTables(); + } + @Test @Transactional @Rollback(true) @@ -431,11 +445,16 @@ public class PolicyValidationDaoImplTest { } } - @After - public void deleteDB(){ - sessionFactory.close(); - server.stop(); + private void truncateAllTables() { + Session session = sessionFactory.openSession(); + Transaction transaction = session.beginTransaction(); + sessionFactory.getAllClassMetadata().forEach((tableName, x) -> { + Query query = session.createQuery("DELETE FROM " + tableName); + query.executeUpdate(); + }); + transaction.commit(); + session.close(); } } -- cgit 1.2.3-korg