mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-09-13 16:39:48 +02:00
see #2209 fixing another place where rule object was added to the second parent
This commit is contained in:
@@ -75,7 +75,6 @@ void UsageResolverTest::setUp()
|
|||||||
grp1->setName("Group 1");
|
grp1->setName("Group 1");
|
||||||
grp2->setName("Group 2");
|
grp2->setName("Group 2");
|
||||||
grp3->setName("Group 3");
|
grp3->setName("Group 3");
|
||||||
grp1->addRef(addr1);
|
|
||||||
|
|
||||||
addToLib(grp1);
|
addToLib(grp1);
|
||||||
addToLib(grp2);
|
addToLib(grp2);
|
||||||
@@ -83,11 +82,11 @@ void UsageResolverTest::setUp()
|
|||||||
|
|
||||||
// addr1 belongs to grp1
|
// addr1 belongs to grp1
|
||||||
// addr2 belongs to grp2
|
// addr2 belongs to grp2
|
||||||
// grp2 belongs to grp1
|
// grp1 belongs to grp2
|
||||||
grp1->add(addr1);
|
grp1->addRef(addr1);
|
||||||
grp2->add(addr2);
|
grp2->addRef(addr2);
|
||||||
grp2->add(grp1);
|
grp2->addRef(grp1);
|
||||||
grp3->add(grp2);
|
grp3->addRef(grp2);
|
||||||
|
|
||||||
Policy *policy = fw1->getPolicy();
|
Policy *policy = fw1->getPolicy();
|
||||||
PolicyRule *rule;
|
PolicyRule *rule;
|
||||||
@@ -147,7 +146,12 @@ void UsageResolverTest::setUp()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* addr1 is found in:
|
||||||
|
* - system group "Addresses"
|
||||||
|
* - group grp1
|
||||||
|
* - rule 1 of firewall 1
|
||||||
|
*/
|
||||||
void UsageResolverTest::findWhereObjectIsUsed()
|
void UsageResolverTest::findWhereObjectIsUsed()
|
||||||
{
|
{
|
||||||
// db->dump(true, true);
|
// db->dump(true, true);
|
||||||
@@ -155,7 +159,7 @@ void UsageResolverTest::findWhereObjectIsUsed()
|
|||||||
set<FWObject*> res;
|
set<FWObject*> res;
|
||||||
|
|
||||||
db->findWhereObjectIsUsed(addr1, db, res);
|
db->findWhereObjectIsUsed(addr1, db, res);
|
||||||
CPPUNIT_ASSERT(res.size() == 4);
|
CPPUNIT_ASSERT(res.size() == 3);
|
||||||
|
|
||||||
set<FWObject*>::iterator iter = res.begin();
|
set<FWObject*>::iterator iter = res.begin();
|
||||||
while (iter!=res.end())
|
while (iter!=res.end())
|
||||||
@@ -166,16 +170,27 @@ void UsageResolverTest::findWhereObjectIsUsed()
|
|||||||
|
|
||||||
if (FWReference::cast(obj))
|
if (FWReference::cast(obj))
|
||||||
{
|
{
|
||||||
// if we get reference, the parent must be rule element
|
// if we get reference, the parent must be rule element or user group
|
||||||
obj = obj->getParent();
|
obj = obj->getParent();
|
||||||
CPPUNIT_ASSERT(obj->getTypeName() == RuleElementSrc::TYPENAME || obj->getTypeName() == ObjectGroup::TYPENAME);
|
|
||||||
CPPUNIT_ASSERT(obj->getParent()->getName() == "PolicyRule 1 of Firewall 1" || obj->getParent()->getName() == "Group 2");
|
CPPUNIT_ASSERT(
|
||||||
|
obj->getTypeName() == RuleElementSrc::TYPENAME ||
|
||||||
|
obj->getTypeName() == ObjectGroup::TYPENAME);
|
||||||
|
|
||||||
|
if (RuleElementSrc::isA(obj))
|
||||||
|
{
|
||||||
|
CPPUNIT_ASSERT(obj->getParent()->getName() == "PolicyRule 1 of Firewall 1");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjectGroup::isA(obj))
|
||||||
|
{
|
||||||
|
CPPUNIT_ASSERT(obj->getName() == "Group 1");
|
||||||
|
}
|
||||||
|
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
// otherwise we should get the group grp1 or
|
// otherwise we should get system folder "Addresses"
|
||||||
// system folder "Addresses"
|
CPPUNIT_ASSERT(name == "Addresses" );
|
||||||
CPPUNIT_ASSERT(name == "Group 1" ||
|
|
||||||
name == "Addresses" );
|
|
||||||
}
|
}
|
||||||
iter++;
|
iter++;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user