[fwbuilder-commits] r586 - branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest
Brought to you by:
mikehorn
From: <va...@in...> - 2010-03-24 00:37:31
|
Author: vadim Date: 2010-03-23 17:37:28 -0700 (Tue, 23 Mar 2010) New Revision: 586 Added: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-1.txt branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-2.txt Removed: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt Modified: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.cpp branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.h Log: added more unit tests for AddressTable class, test reformating using CppUnit::Testfixture Modified: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.cpp =================================================================== --- branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.cpp 2010-03-24 00:02:37 UTC (rev 585) +++ branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.cpp 2010-03-24 00:37:28 UTC (rev 586) @@ -24,43 +24,12 @@ */ #include "AddressTableTest.h" + #include "fwbuilder/libfwbuilder-config.h" -#ifdef HAVE_LOCALE_H -#include <locale.h> -#endif - -#include <fstream> -#include <iostream> -#include <algorithm> -#include <functional> -#include <deque> -#include <vector> -#include <map> -#include <set> - -#ifndef _WIN32 -# include <unistd.h> -#endif - -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <ctype.h> - -#ifdef HAVE_GETOPT_H -# include <getopt.h> -#else -# ifdef _WIN32 -# include <getopt.h> -# else -# include <stdlib.h> -# endif -#endif #include "fwbuilder/Resources.h" #include "fwbuilder/FWObjectDatabase.h" -#include "fwbuilder/XMLTools.h" #include "fwbuilder/FWException.h" #include "fwbuilder/Group.h" @@ -74,91 +43,97 @@ using namespace std; using namespace libfwbuilder; -typedef enum { NONE, TEST} command; -typedef deque<string> operands; -typedef set <string, less<string> > S; -void AddressTableTest::runTest() + +void AddressTableTest::setUp() { + objdb = new FWObjectDatabase(); - string objtype; + FWObject *nlib = objdb->create(Library::TYPENAME,true); + objdb->add(nlib); + nlib->setName( "Library" ); - FWObjectDatabase *objdb = NULL; + FWObject *o1 = objdb->create(ObjectGroup::TYPENAME,true); + o1->setName("Objects"); + nlib->add(o1); - operands ops; - int res=1; + address_tables_group = objdb->create(ObjectGroup::TYPENAME,true); + address_tables_group->setName("Address Tables"); + o1->add(address_tables_group); +} - #ifdef ENABLE_NLS - setlocale (LC_ALL, ""); +void AddressTableTest::positiveTest() +{ + setStrings addrres; + setStrings addrset; - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - #else - # ifdef HAVE_SETLOCALE - setlocale (LC_ALL, ""); - # endif - #endif + // This matches contents of the test file addresstable-1.txt + addrset.insert("216.193.197.238/255.255.255.255"); + addrset.insert("207.46.20.60/255.255.255.0"); + addrset.insert("207.46.198.3/255.255.255.255"); + addrset.insert("207.46.198.60/255.255.255.255"); + addrset.insert("207.46.199.30/255.255.255.255"); + addrset.insert("207.46.225.60/255.255.255.252"); + addrset.insert("207.46.19.60/255.255.255.255"); + addrset.insert("192.168.105.57/255.255.255.255"); + addrset.insert("192.168.105.69/255.255.255.255"); + addrset.insert("192.168.105.68/255.255.255.255"); + addrset.insert("192.168.100.0/255.255.255.0"); + addrset.insert("192.168.11.0/255.255.255.0"); - objdb = new FWObjectDatabase(); + CPPUNIT_ASSERT(address_tables_group!=NULL); - FWObject *nlib = objdb->create(Library::TYPENAME,true); - objdb->add(nlib); - nlib->setName( "Library" ); - FWObject *o1 = objdb->create(ObjectGroup::TYPENAME,true); - o1->setName("Objects"); - nlib->add(o1); + AddressTable *nobj = AddressTable::cast(objdb->create(AddressTable::TYPENAME, true)); + address_tables_group->add(nobj); + nobj->setName("TestADT"); + nobj->setSourceName("addresstable-1.txt"); + nobj->loadFromSource(false, true); - FWObject *root = objdb->create(ObjectGroup::TYPENAME,true); - root->setName("Address Tables"); - o1->add(root); + list<FWObject*>::const_iterator t = nobj->begin(); + Network *net; + FWReference *ref; - S addrset,addrres; - addrset.insert("216.193.197.238/255.255.255.255"); - addrset.insert("207.46.20.60/255.255.255.0"); - addrset.insert("207.46.198.3/255.255.255.255"); - addrset.insert("207.46.198.60/255.255.255.255"); - addrset.insert("207.46.199.30/255.255.255.255"); - addrset.insert("207.46.225.60/255.255.255.252"); - addrset.insert("207.46.19.60/255.255.255.255"); - addrset.insert("192.168.105.57/255.255.255.255"); - addrset.insert("192.168.105.69/255.255.255.255"); - addrset.insert("192.168.105.68/255.255.255.255"); - addrset.insert("192.168.100.0/255.255.255.0"); - addrset.insert("192.168.11.0/255.255.255.0"); + for ( ; t != nobj->end(); ++t ) + { + ref = FWReference::cast(*t); + CPPUNIT_ASSERT(ref!=NULL); + net = Network::cast(ref->getPointer()); + CPPUNIT_ASSERT(net!=NULL); + addrres.insert(net->getAddressPtr()->toString() + "/" + net->getNetmaskPtr()->toString()); + } - AddressTable *o; - FWObject* nobj; - objtype=AddressTable::TYPENAME; + CPPUNIT_ASSERT(addrset==addrres); +} - nobj=objdb->create(objtype,true); - if (root != NULL) - { - root->add(nobj); - o=AddressTable::cast(nobj); +void AddressTableTest::negativeTest1() +{ + setStrings addrres; - o->setName("TestADT"); - o->setSourceName("addresstable.txt"); + CPPUNIT_ASSERT(address_tables_group!=NULL); - } - o->loadFromSource(false, true); - list<FWObject*>::const_iterator t=o->begin(); - Network *net; - FWReference *ref; + AddressTable *nobj = AddressTable::cast(objdb->create(AddressTable::TYPENAME, true)); + address_tables_group->add(nobj); + nobj->setName("TestADT2"); + nobj->setSourceName("addresstable-2.txt"); + CPPUNIT_ASSERT_THROW(nobj->loadFromSource(false, true), FWException); +} - for ( ; t!=o->end(); ++t ) - { - ref=FWReference::cast(*t); - CPPUNIT_ASSERT(ref!=NULL); - net=Network::cast(ref->getPointer()); - CPPUNIT_ASSERT(net!=NULL); - addrres.insert(net->getAddressPtr()->toString() + "/" + net->getNetmaskPtr()->toString()); - } +void AddressTableTest::negativeTest2() +{ + setStrings addrres; - CPPUNIT_ASSERT(addrset==addrres); + CPPUNIT_ASSERT(address_tables_group!=NULL); + + AddressTable *nobj = AddressTable::cast(objdb->create(AddressTable::TYPENAME, true)); + address_tables_group->add(nobj); + nobj->setName("TestADT3"); + nobj->setSourceName("addresstable-not-found.txt"); + CPPUNIT_ASSERT_THROW(nobj->loadFromSource(false, true), FWException); } + Modified: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.h =================================================================== --- branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.h 2010-03-24 00:02:37 UTC (rev 585) +++ branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/AddressTableTest.h 2010-03-24 00:37:28 UTC (rev 586) @@ -5,6 +5,7 @@ Copyright (C) 2009 NetCitadel, LLC Author: Roman Bovsunivskiy a2...@gm... + Vadim Kurland va...@fw... $Id$ @@ -26,21 +27,33 @@ #ifndef ADDRESSTABLETEST_H #define ADDRESSTABLETEST_H -#include <cppunit/TestCase.h> -#include <cppunit/TestSuite.h> -#include <cppunit/TestCaller.h> -class AddressTableTest : public CppUnit::TestCase +#include "fwbuilder/FWObjectDatabase.h" + +#include <set> +#include <string> + +#include <cppunit/extensions/HelperMacros.h> + +typedef std::set <std::string, std::less<std::string> > setStrings; + +class AddressTableTest : public CppUnit::TestFixture { + libfwbuilder::FWObjectDatabase *objdb; + libfwbuilder::FWObject *address_tables_group; + + CPPUNIT_TEST_SUITE(AddressTableTest); + CPPUNIT_TEST(positiveTest); + CPPUNIT_TEST(negativeTest1); + CPPUNIT_TEST(negativeTest2); + CPPUNIT_TEST_SUITE_END(); + public: - void runTest(); - - static CppUnit::Test *suite() - { - CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "AddressTableTest" ); - suiteOfTests->addTest( new CppUnit::TestCaller<AddressTableTest>( "runTest", &AddressTableTest::runTest ) ); - return suiteOfTests; - } + void setUp(); + void positiveTest(); + void negativeTest1(); + void negativeTest2(); + }; #endif // ADDRESSTABLETEST_H Copied: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-1.txt (from rev 584, branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt) =================================================================== --- branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-1.txt (rev 0) +++ branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-1.txt 2010-03-24 00:37:28 UTC (rev 586) @@ -0,0 +1,26 @@ +# This is a comment +;; comment too +# Test of Address Table +# +# 1.2.3.4 this address should be ignored because it is in the comment + +216.193.197.238 www.rebol.com + +www.microsoft.com: + 207.46.20.60/24 + 207.46.198.3 + 207.46.198.60 + 207.46.199.30 + 207.46.225.60/30 + 207.46.19.60 + +OKC Network: + 192.168.105.57 OKC_B0 + 192.168.105.69 OKC_DEVP2 + 192.168.105.68 OKC_SQL + +RK Network: + 192.168.100.0/24 + +TT Lan: + 192.168.11.0/24 Property changes on: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-1.txt ___________________________________________________________________ Added: svn:mergeinfo + /branches/actions-in-nat/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt:444-448 /branches/v3/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt:258-441 /branches/v3_1_secunet/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt:260-431 /branches/v4_0_dispatch/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt:522-533 Added: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-2.txt =================================================================== --- branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-2.txt (rev 0) +++ branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable-2.txt 2010-03-24 00:37:28 UTC (rev 586) @@ -0,0 +1,8 @@ +# This is a comment +;; comment too +# Test of Address Table +# +# This file is different from addresstable-1.txt , it has invalid ip address + +300.300.300.300 + Deleted: branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt =================================================================== --- branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt 2010-03-24 00:02:37 UTC (rev 585) +++ branches/v4_0/src/fwbuilder/unit_tests/AddressTableTest/addresstable.txt 2010-03-24 00:37:28 UTC (rev 586) @@ -1,22 +0,0 @@ -Test of Address Table - -216.193.197.238 www.rebol.com - -www.microsoft.com: - 207.46.20.60/24 - 207.46.198.3 - 207.46.198.60 - 207.46.199.30 - 207.46.225.60/30 - 207.46.19.60 - -OKC Network: - 192.168.105.57 OKC_B0 - 192.168.105.69 OKC_DEVP2 - 192.168.105.68 OKC_SQL - -RK Network: - 192.168.100.0/24 - -TT Lan: - 192.168.11.0/24 |