AsyncCall.cc
-check_PROGRAMS+= testHeaders \
- tests/testAuth \
+check_PROGRAMS+= tests/testAuth \
tests/testACLMaxUserIP \
tests/testBoilerplate \
tests/testCacheManager \
$(SWAP_TEST_SOURCES) \
tests/testDiskIO.cc \
tests/testDiskIO.h \
- tests/testMain.cc
+ tests/testMain.cc \
+ tests/stub_cache_manager.cc
+
tests_testDiskIO_LDADD= \
$(SWAP_TEST_LDADD) \
libsquid.la \
tests/TestSwapDir.h \
tests/stub_fd.cc \
tests/stub_HttpReply.cc \
+ tests/stub_cache_manager.cc \
$(STORE_TEST_SOURCES)
tests_testStore_LDADD= \
tests/testMain.cc \
tests/testString.cc \
tests/testString.h \
+ tests/stub_cache_manager.cc \
$(TESTSOURCES) \
time.cc
tests_testUfs_SOURCES= tests/testUfs.cc \
tests/testMain.cc \
tests/testUfs.h \
+ tests/stub_cache_manager.cc \
$(SWAP_TEST_SOURCES)
tests_testUfs_LDADD= \
libsquid.la \
tests_testCoss_SOURCES= tests/testCoss.cc \
tests/testMain.cc \
tests/testCoss.h \
+ tests/stub_cache_manager.cc \
$(SWAP_TEST_SOURCES)
tests_testCoss_LDADD= \
libsquid.la \
#include "CacheManager.h"
#include "squid.h"
+static CacheManager *cm=0;
+
CacheManager::CacheManager()
{
}
void
CacheManager::registerAction(char const * action, char const * desc, OBJH * handler, int pw_req_flag, int atomic)
{
- fatal("Not implemented");
+ return;
}
void
CacheManager::registerAction(CacheManagerAction *anAction)
{
- fatal("Not implemented");
+ return;
}
CacheManagerAction *
CacheManager::findAction(char const * action)
{
- fatal("Not implemented");
- return 0; //notreached
+ return 0;
}
void
CacheManager::Start(int fd, HttpRequest * request, StoreEntry * entry)
{
- fatal("Not implemented");
+ return;
}
CacheManager*
-CacheManager::GetInstance()
+CacheManager::GetInstance(void)
{
- fatal("Not implemented");
- return 0; //notreached
+ if (!cm)
+ cm=new CacheManager();
+ return cm;
}
#include "Mem.h"
#include "testCacheManager.h"
#include "CacheManager.h"
+#include "Store.h"
CPPUNIT_TEST_SUITE_REGISTRATION( testCacheManager );
void
testCacheManager::testCreate()
{
- CacheManager()::GetInstance(); //it's a singleton..
+ CacheManager::GetInstance(); //it's a singleton..
}
/* an action to register */
static void
dummy_action(StoreEntry * sentry)
-{}
+{
+ sentry->flags=1;
+}
/*
* registering an action makes it findable.
void
testCacheManager::testRegister()
{
- CacheManager manager;
- manager.registerAction("sample", "my sample", &dummy_action, false, false);
- CacheManagerAction *anAction = manager.findAction("sample");
- CPPUNIT_ASSERT_EQUAL(String("sample"), String(anAction->action));
- CPPUNIT_ASSERT_EQUAL(String("my sample"), String(anAction->desc));
- CPPUNIT_ASSERT_EQUAL(&dummy_action, anAction->handler);
+ CacheManager *manager=CacheManager::GetInstance();
+
+ manager->registerAction("sample", "my sample", &dummy_action, false, false);
+ CacheManagerAction *anAction = manager->findAction("sample");
+
CPPUNIT_ASSERT_EQUAL(0, (int)anAction->flags.pw_req);
CPPUNIT_ASSERT_EQUAL(0, (int)anAction->flags.atomic);
+ CPPUNIT_ASSERT_EQUAL(String("sample"), String(anAction->action));
+
+ StoreEntry *sentry=new StoreEntry();
+ sentry->flags=0x25; //arbitrary test value
+ anAction->run(sentry);
+ CPPUNIT_ASSERT_EQUAL(1,(int)sentry->flags);
}