1 20 21 package com.methodhead.transfer; 22 23 import java.util.*; 24 import java.sql.*; 25 import java.io.*; 26 import junit.framework.*; 27 import org.apache.log4j.*; 28 import com.methodhead.persistable.*; 29 import com.methodhead.property.*; 30 import com.methodhead.test.*; 31 import com.methodhead.sitecontext.*; 32 import com.methodhead.*; 33 34 public class SiteExtensionTest extends TestCase { 35 36 SiteExtension siteExtension = null; 37 Extension[] siteExtensions = null; 38 List list = null; 39 40 static { 41 TestUtils.initLogger(); 42 TestUtils.initDb(); 43 } 44 45 public SiteExtensionTest( String name ) { 46 super( name ); 47 } 48 49 protected void setUp() { 50 try { 51 ConnectionSingleton.runBatchUpdate( new FileReader( "webapp/WEB-INF/db/transfer-reset.sql" ) ); 52 } 53 catch ( Exception e ) { 54 fail( e.getMessage() ); 55 } 56 } 57 58 protected void tearDown() { 59 } 60 61 public void testGetInstalledExtensions() { 62 63 siteExtension = new SiteExtension(); 67 siteExtensions = siteExtension.getInstalledExtensions(); 68 69 assertNotNull( siteExtensions ); 70 assertEquals( 0, siteExtensions.length ); 71 72 Property.setProperty( SiteContext.getDefaultContext(), SiteExtension.PROPERTY_EXTENSIONS, "com.methodhead.transfer.MockExtension, com.methodhead.transfer.MockExtension,\ncom.methodhead.transfer.MockExtension" ); 76 77 siteExtensions = siteExtension.getInstalledExtensions(); 78 79 assertNotNull( siteExtensions ); 80 assertEquals( 3, siteExtensions.length ); 81 82 assertEquals( "MockExtension", siteExtensions[ 0 ].getName() ); 83 assertEquals( "MockExtension", siteExtensions[ 1 ].getName() ); 84 assertEquals( "MockExtension", siteExtensions[ 2 ].getName() ); 85 } 86 87 public void testLoadAllForSiteContext() { 88 TestData.createSiteExtensions(); 89 90 siteExtension = new SiteExtension(); 94 list = siteExtension.loadAllForSiteContext( TestData.siteContext1 ); 95 96 assertNotNull( list ); 97 assertEquals( 1, list.size() ); 98 99 siteExtension = ( SiteExtension )list.get( 0 ); 100 assertEquals( "com.methodhead.transfer.MockExtension", siteExtension.getString( "class_name" ) ); 101 102 siteExtension = new SiteExtension(); 106 list = siteExtension.loadAllForSiteContext( TestData.siteContext2 ); 107 108 assertNotNull( list ); 109 assertEquals( 0, list.size() ); 110 } 111 112 public void testGetExtensionsForSiteContext() { 113 TestData.createSiteExtensions(); 114 115 siteExtension = new SiteExtension(); 119 siteExtensions = siteExtension.getExtensionsForSiteContext( TestData.siteContext1 ); 120 121 assertNotNull( siteExtensions ); 122 assertEquals( 1, siteExtensions.length ); 123 assertEquals( "MockExtension", siteExtensions[ 0 ].getName() ); 124 125 siteExtension = new SiteExtension(); 129 siteExtensions = siteExtension.getExtensionsForSiteContext( TestData.siteContext2 ); 130 131 assertNotNull( siteExtensions ); 132 assertEquals( 0, siteExtensions.length ); 133 } 134 135 public void testLoad() { 136 TestData.createSiteExtensions(); 137 138 siteExtension = new SiteExtension(); 142 siteExtension.load( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ); 143 144 assertEquals( 1, siteExtension.getInt( "sitecontext_id" ) ); 145 assertEquals( true, siteExtension.getBoolean( "enabled" ) ); 146 assertEquals( "com.methodhead.transfer.MockExtension", siteExtension.getString( "class_name" ) ); 147 148 try { 152 siteExtension.load( TestData.siteContext1, "invalid" ); 153 fail( "No exception thrown." ); 154 } 155 catch ( Exception e ) {} 156 } 157 158 public void testSave() { 159 TestData.createSiteExtensions(); 160 161 try { 165 siteExtension = new SiteExtension(); 166 siteExtension.save(); 167 fail(); 168 } 169 catch ( Exception e ) {} 170 171 TestData.siteExtension1.setBoolean( "enabled", false ); 175 TestData.siteExtension1.save(); 176 177 siteExtension = new SiteExtension(); 178 siteExtension.load( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ); 179 180 assertEquals( false, siteExtension.getBoolean( "enabled" ) ); 181 } 182 183 public void testDelete() { 184 TestData.createSiteExtensions(); 185 186 try { 190 siteExtension = new SiteExtension(); 191 siteExtension.delete(); 192 fail(); 193 } 194 catch ( Exception e ) {} 195 196 TestData.siteExtension1.delete(); 200 201 siteExtension = new SiteExtension(); 202 203 try { 204 siteExtension.load( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ); 205 fail(); 206 } 207 catch ( Exception e ) {} 208 } 209 210 public void testIsExtensionActive() { 211 TestData.createSiteExtensions(); 212 213 siteExtension = new SiteExtension(); 214 215 assertEquals( true, siteExtension.isExtensionActive( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ) ); 219 220 TestData.siteExtension1.setBoolean( "enabled", false ); 224 TestData.siteExtension1.save(); 225 226 assertEquals( false, siteExtension.isExtensionActive( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ) ); 227 228 TestData.siteExtension1.delete(); 232 233 assertEquals( false, siteExtension.isExtensionActive( TestData.siteContext1, "com.methodhead.transfer.MockExtension" ) ); 234 } 235 } 236 | Popular Tags |