/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.store.hibernate.cache.invalidation; import java.util.HashMap; import java.util.Map; import org.junit.Test; import static org.junit.Assert.*; public class SqlAnalyzerTest { @Test public void testInsertQueries() { Map<String, Boolean> tests = new HashMap<String, Boolean>(); tests.put( "INSERT INTO tTestTable(a, b) values(1, 2)", true ); tests.put( "insert into tTestTable(a, b) values(1, 2)", true ); tests.put( "insert into tTestTable (a, b) values(1, 2)", true ); tests.put( "insert into tTestTable (a, b) values(1, 2)", true ); tests.put( "insert into tTestTable(1, 2)", true ); tests.put( "insert into tTestTable (1, 2)", true ); tests.put( "insert into tTestTable (1, 2)", true ); tests.put( "insert into tTestTable(select a, b)", true ); testQueries( tests ); } @Test public void testUpdateQueries() { Map<String, Boolean> tests = new HashMap<String, Boolean>(); tests.put( "DELETE FROM tTestTable", false ); tests.put( "delete from tTestTable", false ); tests.put( "delete from tTestTable where a = b", false ); testQueries( tests ); } @Test public void testDelereQueries() { Map<String, Boolean> tests = new HashMap<String, Boolean>(); tests.put( "UPDATE tTestTable set a = b", false ); tests.put( "update tTestTable set a = b", false ); testQueries( tests ); } private void testQueries( Map<String, Boolean> tests ) { for ( Map.Entry<String, Boolean> test : tests.entrySet() ) { SqlAnalyzer analyzer = new SqlAnalyzer( test.getKey() ); assertEquals( "tTestTable", analyzer.resolveTableName() ); assertEquals( test.getValue().booleanValue(), analyzer.isInsertType() ); } } }