01: /*
02: * Copyright (c) 2002-2003 by OpenSymphony
03: * All rights reserved.
04: */
05: package com.opensymphony.oscache.base;
06:
07: import junit.framework.TestCase;
08:
09: /**
10: * Test class for the AbstractCacheAdministrator class. It tests some of the
11: * public methods of the admin. Some others cannot be tested since they are
12: * linked to the property file used for the tests, and since this file
13: * will change, the value of some parameters cannot be asserted
14: *
15: * $Id: TestAbstractCacheAdministrator.java 385 2006-10-07 06:57:10Z larst $
16: * @version $Revision: 385 $
17: * @author <a href="mailto:abergevin@pyxis-tech.com">Alain Bergevin</a>
18: */
19: public abstract class TestAbstractCacheAdministrator extends TestCase {
20: // Constants used in the tests
21: //private final String CACHE_PATH_PROP = "cache.path";
22: //private final String CONTENT = "Content for the abstract cache admin test";
23: //private final String ENTRY_KEY = "Test Abstract Admin Key";
24: private final String INVALID_PROP_NAME = "INVALID_PROP_NAME";
25:
26: //private final String TEST_LOG = "test log";
27:
28: /**
29: * Constructor for the this test class.
30: * <p>
31: * @param str Test name (required by JUnit)
32: */
33: protected TestAbstractCacheAdministrator(String str) {
34: super (str);
35: }
36:
37: /**
38: * Cannot be tested since CacheContents is an interface
39: */
40: public void testCacheContents() {
41: }
42:
43: /**
44: * We cannot test this method because the value depends on the property
45: */
46: public void testGetCachePath() {
47: }
48:
49: /**
50: * Validate that the properties retrieved by the admin are the same as the one
51: * specified in the property file. Do not test cache path or memory cache
52: * since it changes with the tests
53: */
54: public void testGetProperty() {
55: // Check if all the default properties are OK
56: assertNull(getAdmin().getProperty(INVALID_PROP_NAME));
57: assertNull(getAdmin().getProperty(""));
58:
59: try {
60: assertNull(getAdmin().getProperty(null));
61: fail("NullPointerException expected (property Key null).");
62: } catch (Exception e) {
63: }
64: }
65:
66: /**
67: * We cannot test this method because the value depends on the property
68: */
69: public void testIsFileCaching() {
70: }
71:
72: /**
73: * We cannot test this method because the value depends on the property
74: */
75: public void testIsMemoryCaching() {
76: }
77:
78: /**
79: * Perform a call to the log method. Unfornately, there is no way to check
80: * if the logging is done correctly, we only invoke it
81: */
82: public void testLog() {
83: // Invoke the log
84: // The other log method is not tested since it calls the same as we do
85: //TODO
86:
87: /*getAdmin().log(TEST_LOG, System.out);
88: getAdmin().log("", System.out);
89: getAdmin().log(null, System.out);
90: getAdmin().log(TEST_LOG, null);
91: */
92: }
93:
94: // Abstract method that returns an instance of an admin
95: protected abstract AbstractCacheAdministrator getAdmin();
96: }
|