| package org.codehaus.modello.db; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.apache.archiva.redback.components.modello.db.SQLReservedWords; |
| import org.codehaus.plexus.PlexusTestCase; |
| |
| import java.util.List; |
| |
| /** |
| * SQLReservedWordsTest |
| * |
| * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> |
| * @version $Id: SQLReservedWordsTest.java 818 2007-03-12 17:14:57Z joakime $ |
| */ |
| public class SQLReservedWordsTest extends PlexusTestCase |
| { |
| private SQLReservedWords keywords; |
| |
| protected void setUp() throws Exception |
| { |
| super.setUp(); |
| |
| keywords = (SQLReservedWords) lookup( SQLReservedWords.class.getName(), "default" ); |
| } |
| |
| protected void tearDown() throws Exception |
| { |
| // No real point in doing this, as the object is essentially read-only. |
| release( keywords ); |
| super.tearDown(); |
| } |
| |
| public void testTrueKeywords() |
| { |
| assertNotNull( keywords ); |
| |
| // Normal Usage |
| assertTrue( keywords.isKeyword( "SELECT" ) ); |
| assertTrue( keywords.isKeyword( "INSERT" ) ); |
| assertTrue( keywords.isKeyword( "TIMEZONE_HOUR" ) ); |
| assertTrue( keywords.isKeyword( "IF" ) ); |
| assertTrue( keywords.isKeyword( "IN" ) ); |
| |
| // Bad formatted, but otherwise good keywords. |
| assertTrue( keywords.isKeyword( "SQLEXCEPTION " ) ); |
| assertTrue( keywords.isKeyword( "LOOP\t" ) ); |
| assertTrue( keywords.isKeyword( "\n\nEXISTS" ) ); |
| assertTrue( keywords.isKeyword( " into " ) ); |
| assertTrue( keywords.isKeyword( "Match " ) ); |
| } |
| |
| public void testNotKeywords() |
| { |
| assertNotNull( keywords ); |
| |
| assertFalse( keywords.isKeyword( "MAVEN" ) ); |
| assertFalse( keywords.isKeyword( "REPOSITORY" ) ); |
| assertFalse( keywords.isKeyword( "Artifact" ) ); |
| assertFalse( keywords.isKeyword( null ) ); |
| assertFalse( keywords.isKeyword( "" ) ); |
| assertFalse( keywords.isKeyword( " " ) ); |
| assertFalse( keywords.isKeyword( "filename" ) ); |
| assertFalse( keywords.isKeyword( "pathTo" ) ); |
| assertFalse( keywords.isKeyword( "modello" ) ); |
| assertFalse( keywords.isKeyword( "versions" ) ); |
| } |
| |
| public void testKeywordSourceList() |
| { |
| List sources; |
| |
| sources = keywords.getKeywordSourceList( "MAVEN" ); |
| assertNull( "Should be null.", sources ); |
| |
| sources = keywords.getKeywordSourceList( "IF" ); |
| assertNotNull( "Should not be null.", sources ); |
| assertTrue( sources.size() > 5 ); |
| } |
| |
| public void testKeywordSourceString() |
| { |
| String actual = keywords.getKeywordSourceString( "MAVEN" ); |
| assertNull( "Should be null.", actual ); |
| |
| actual = keywords.getKeywordSourceString( "ADD" ); |
| assertEquals( "SQL 92, SQL 99, SQL 2003, JDBC, Derby Server, HSQLDB, MySQL, PostgreSQL, Oracle, PL/SQL, " + |
| "Microsoft SQL Server, Microsoft Access, IBM DB/2, ODBC", actual ); |
| |
| actual = keywords.getKeywordSourceString( "MULTISET" ); |
| assertEquals( "SQL 2003, HSQLDB", actual ); |
| } |
| } |