|
@@ -103,58 +103,42 @@ TEST(Pool6Test, constructor_first_last) {
|
|
|
|
|
|
// let's construct 2001:db8:1:: - 2001:db8:1::ffff:ffff:ffff:ffff pool
|
|
|
Pool6 pool1(Pool6::TYPE_IA, IOAddress("2001:db8:1::"),
|
|
|
- IOAddress("2001:db8:1::ffff:ffff:ffff:ffff"),
|
|
|
- 1000, 2000, 3000, 4000);
|
|
|
+ IOAddress("2001:db8:1::ffff:ffff:ffff:ffff"));
|
|
|
|
|
|
EXPECT_EQ(Pool6::TYPE_IA, pool1.getType());
|
|
|
EXPECT_EQ(IOAddress("2001:db8:1::"), pool1.getFirstAddress());
|
|
|
EXPECT_EQ(IOAddress("2001:db8:1::ffff:ffff:ffff:ffff"),
|
|
|
pool1.getLastAddress());
|
|
|
- EXPECT_EQ(1000, pool1.getT1());
|
|
|
- EXPECT_EQ(2000, pool1.getT2());
|
|
|
- EXPECT_EQ(3000, pool1.getPreferred());
|
|
|
- EXPECT_EQ(4000, pool1.getValid());
|
|
|
|
|
|
// This is Pool6, IPv4 addresses do not belong here
|
|
|
EXPECT_THROW(Pool6(Pool6::TYPE_IA, IOAddress("2001:db8::1"),
|
|
|
- IOAddress("192.168.0.5"),
|
|
|
- 1000, 2000, 3000, 4000), BadValue);
|
|
|
+ IOAddress("192.168.0.5")), BadValue);
|
|
|
EXPECT_THROW(Pool6(Pool6::TYPE_IA, IOAddress("192.168.0.2"),
|
|
|
- IOAddress("2001:db8::1"),
|
|
|
- 1000, 2000, 3000, 4000), BadValue);
|
|
|
-
|
|
|
+ IOAddress("2001:db8::1")), BadValue);
|
|
|
|
|
|
// Should throw. Range should be 2001:db8::1 - 2001:db8::2, not
|
|
|
// the other way around.
|
|
|
EXPECT_THROW(Pool6(Pool6::TYPE_IA, IOAddress("2001:db8::2"),
|
|
|
- IOAddress("2001:db8::1"),
|
|
|
- 1000, 2000, 3000, 4000), BadValue);
|
|
|
+ IOAddress("2001:db8::1")), BadValue);
|
|
|
}
|
|
|
|
|
|
TEST(Pool6Test, constructor_prefix_len) {
|
|
|
|
|
|
// let's construct 2001:db8:1::/96 pool
|
|
|
- Pool6 pool1(Pool6::TYPE_IA, IOAddress("2001:db8:1::"),
|
|
|
- 96, 1000, 2000, 3000, 4000);
|
|
|
+ Pool6 pool1(Pool6::TYPE_IA, IOAddress("2001:db8:1::"), 96);
|
|
|
|
|
|
EXPECT_EQ(Pool6::TYPE_IA, pool1.getType());
|
|
|
EXPECT_EQ("2001:db8:1::", pool1.getFirstAddress().toText());
|
|
|
EXPECT_EQ("2001:db8:1::ffff:ffff", pool1.getLastAddress().toText());
|
|
|
- EXPECT_EQ(1000, pool1.getT1());
|
|
|
- EXPECT_EQ(2000, pool1.getT2());
|
|
|
- EXPECT_EQ(3000, pool1.getPreferred());
|
|
|
- EXPECT_EQ(4000, pool1.getValid());
|
|
|
|
|
|
// This is Pool6, IPv4 addresses do not belong here
|
|
|
- EXPECT_THROW(Pool6(Pool6::TYPE_IA, IOAddress("192.168.0.2"),
|
|
|
- 96, 1000, 2000, 3000, 4000),
|
|
|
+ EXPECT_THROW(Pool6(Pool6::TYPE_IA, IOAddress("192.168.0.2"), 96),
|
|
|
BadValue);
|
|
|
}
|
|
|
|
|
|
TEST(Pool6Test, in_range) {
|
|
|
Pool6 pool1(Pool6::TYPE_IA, IOAddress("2001:db8:1::1"),
|
|
|
- IOAddress("2001:db8:1::f"),
|
|
|
- 1000, 2000, 3000, 4000);
|
|
|
+ IOAddress("2001:db8:1::f"));
|
|
|
|
|
|
EXPECT_FALSE(pool1.inRange(IOAddress("2001:db8:1::")));
|
|
|
EXPECT_TRUE(pool1.inRange(IOAddress("2001:db8:1::1")));
|
|
@@ -172,8 +156,7 @@ TEST(Pool6Test, unique_id) {
|
|
|
|
|
|
for (int i = 0; i < num_pools; ++i) {
|
|
|
pools.push_back(Pool6Ptr(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1::"),
|
|
|
- IOAddress("2001:db8:1::ffff:ffff:ffff:ffff"),
|
|
|
- 1000, 2000, 3000, 4000)));
|
|
|
+ IOAddress("2001:db8:1::ffff:ffff:ffff:ffff"))));
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < num_pools; ++i) {
|
|
@@ -189,16 +172,23 @@ TEST(Pool6Test, unique_id) {
|
|
|
|
|
|
TEST(Subnet6Test, constructor) {
|
|
|
|
|
|
- EXPECT_NO_THROW(Subnet6 subnet1(IOAddress("2001:db8:1::"), 64));
|
|
|
+ EXPECT_NO_THROW(Subnet6 subnet1(IOAddress("2001:db8:1::"), 64,
|
|
|
+ 1, 2, 3, 4));
|
|
|
|
|
|
- EXPECT_THROW(Subnet6 subnet2(IOAddress("2001:db8:1::"), 129),
|
|
|
+ EXPECT_THROW(Subnet6 subnet2(IOAddress("2001:db8:1::"), 129, 1, 2, 3, 4),
|
|
|
BadValue); // invalid prefix length
|
|
|
- EXPECT_THROW(Subnet6 subnet3(IOAddress("192.168.0.0"), 32),
|
|
|
+ EXPECT_THROW(Subnet6 subnet3(IOAddress("192.168.0.0"), 32, 1, 2, 3, 4),
|
|
|
BadValue); // IPv4 addresses are not allowed in Subnet6
|
|
|
}
|
|
|
|
|
|
TEST(Subnet6Test, in_range) {
|
|
|
- Subnet6 subnet(IOAddress("2001:db8:1::"), 64);
|
|
|
+ Subnet6 subnet(IOAddress("2001:db8:1::"), 64, 1000, 2000, 3000, 4000);
|
|
|
+
|
|
|
+ EXPECT_EQ(1000, subnet.getT1());
|
|
|
+ EXPECT_EQ(2000, subnet.getT2());
|
|
|
+ EXPECT_EQ(3000, subnet.getPreferred());
|
|
|
+ EXPECT_EQ(4000, subnet.getValid());
|
|
|
+
|
|
|
|
|
|
EXPECT_FALSE(subnet.inRange(IOAddress("2001:db8:0:ffff:ffff:ffff:ffff:ffff")));
|
|
|
EXPECT_TRUE(subnet.inRange(IOAddress("2001:db8:1::0")));
|
|
@@ -210,15 +200,11 @@ TEST(Subnet6Test, in_range) {
|
|
|
|
|
|
TEST(Subnet6Test, Pool6InSubnet6) {
|
|
|
|
|
|
- Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8:1::"), 56));
|
|
|
-
|
|
|
- Pool6Ptr pool1(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:1::"),
|
|
|
- 64, 101, 102, 103, 104));
|
|
|
- Pool6Ptr pool2(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:2::"),
|
|
|
- 64, 201, 202, 203, 204));
|
|
|
- Pool6Ptr pool3(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:3::"),
|
|
|
- 64, 301, 302, 303, 304));
|
|
|
+ Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8:1::"), 56, 1, 2, 3, 4));
|
|
|
|
|
|
+ Pool6Ptr pool1(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:1::"), 64));
|
|
|
+ Pool6Ptr pool2(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:2::"), 64));
|
|
|
+ Pool6Ptr pool3(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:3::"), 64));
|
|
|
|
|
|
subnet->addPool6(pool1);
|
|
|
|
|
@@ -245,21 +231,20 @@ TEST(Subnet6Test, Pool6InSubnet6) {
|
|
|
|
|
|
TEST(Subnet6Test, Subnet6_Pool6_checks) {
|
|
|
|
|
|
- Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8:1::"), 56));
|
|
|
+ Subnet6Ptr subnet(new Subnet6(IOAddress("2001:db8:1::"), 56, 1, 2, 3, 4));
|
|
|
|
|
|
// this one is in subnet
|
|
|
- Pool6Ptr pool1(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:1::"),
|
|
|
- 64, 101, 102, 103, 104));
|
|
|
+ Pool6Ptr pool1(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8:1:1::"), 64));
|
|
|
subnet->addPool6(pool1);
|
|
|
|
|
|
- Pool6Ptr pool2(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8::"),
|
|
|
- 48, 201, 202, 203, 204)); // this one is larger than the subnet!
|
|
|
+ // this one is larger than the subnet!
|
|
|
+ Pool6Ptr pool2(new Pool6(Pool6::TYPE_IA, IOAddress("2001:db8::"), 48));
|
|
|
+
|
|
|
EXPECT_THROW(subnet->addPool6(pool2), BadValue);
|
|
|
|
|
|
|
|
|
// this one is totally out of blue
|
|
|
- Pool6Ptr pool3(new Pool6(Pool6::TYPE_IA, IOAddress("3000::"),
|
|
|
- 16, 301, 302, 303, 304));
|
|
|
+ Pool6Ptr pool3(new Pool6(Pool6::TYPE_IA, IOAddress("3000::"), 16));
|
|
|
EXPECT_THROW(subnet->addPool6(pool3), BadValue);
|
|
|
|
|
|
}
|
|
@@ -271,9 +256,9 @@ TEST(CfgMgrTest, subnet6) {
|
|
|
|
|
|
ASSERT_TRUE(&cfg_mgr != 0);
|
|
|
|
|
|
- Subnet6Ptr subnet1(new Subnet6(IOAddress("2000::"), 48));
|
|
|
- Subnet6Ptr subnet2(new Subnet6(IOAddress("3000::"), 48));
|
|
|
- Subnet6Ptr subnet3(new Subnet6(IOAddress("4000::"), 48));
|
|
|
+ Subnet6Ptr subnet1(new Subnet6(IOAddress("2000::"), 48, 1, 2, 3, 4));
|
|
|
+ Subnet6Ptr subnet2(new Subnet6(IOAddress("3000::"), 48, 1, 2, 3, 4));
|
|
|
+ Subnet6Ptr subnet3(new Subnet6(IOAddress("4000::"), 48, 1, 2, 3, 4));
|
|
|
|
|
|
// there shouldn't be any subnet configured at this stage
|
|
|
EXPECT_EQ( Subnet6Ptr(), cfg_mgr.getSubnet6(IOAddress("2000::1")));
|