Change Address::parent(),Address::children(), improved CI testing

This commit is contained in:
2023-12-13 08:41:15 +11:00
parent 541f612446
commit caa6e629f4
6 changed files with 302 additions and 213 deletions

View File

@@ -110,7 +110,7 @@ class RoutingTest extends TestCase
$ao = Address::findFTN('101:0/0@a');
$this->assertEquals($ao->role,Address::NODE_ZC);
$this->assertCount(0,$ao->children);
$this->assertCount(0,$ao->children());
$this->assertNull($ao->parent());
}
@@ -120,7 +120,7 @@ class RoutingTest extends TestCase
$this->session_zc();
$ao = Address::findFTN('101:0/0@a');
$this->assertCount(935,$ao->children);
$this->assertCount(935,$ao->children());
}
// An RC's parent should be the ZC, when we have session details with parent
@@ -204,7 +204,7 @@ class RoutingTest extends TestCase
$ao->system->sessions()->attach([$ao->zone_id=>['sespass'=>'ABCD']]);
$ao = Address::findFTN('100:1/0@a');
$this->assertCount(185-36,$ao->children);
$this->assertCount(185-36,$ao->children());
}
// If we also have session details for an Hub, then there are less RC nodes
@@ -216,7 +216,7 @@ class RoutingTest extends TestCase
$ao->system->sessions()->attach([$ao->zone_id=>['sespass'=>'ABCD']]);
$ao = Address::findFTN('100:1/0@a');
$this->assertCount(185-6,$ao->children);
$this->assertCount(185-6,$ao->children());
$ao = Address::findFTN('100:10/22@a');
$this->assertEquals('100:10/20.0@a',$ao->parent()->ftn);
@@ -237,7 +237,80 @@ class RoutingTest extends TestCase
$this->session_nc();
$ao = Address::findFTN('100:10/7@a');
$this->assertCount(35,$ao->children);
$this->assertCount(35,$ao->children());
}
public function test_complex_rc_nc_hc()
{
$this->session_rc();
$this->session_nc();
$this->session_hub();
$ao = Address::findFTN('100:1/100.0@a');
$this->assertCount(0,$ao->children());
$this->assertEquals('100:1/0.0@a',$ao->parent()->ftn);
// RC
$ao = Address::findFTN('100:1/0.0@a');
$this->assertCount(186-1-30-6,$ao->children());
$ao = Address::findFTN('100:11/7.0@a');
$this->assertEquals('100:1/0.0@a',$ao->parent()->ftn);
// NC
$ao = Address::findFTN('100:10/7.0@a');
$this->assertCount(36-1-6,$ao->children());
$ao = Address::findFTN('100:10/10.0@a');
$this->assertEquals('100:10/7.0@a',$ao->parent()->ftn);
// HC
$ao = Address::findFTN('100:10/20.0@a');
$this->assertCount(6-1,$ao->children());
$ao = Address::findFTN('100:10/22.0@a');
$this->assertEquals('100:10/20.0@a',$ao->parent()->ftn);
}
public function test_complex_rc_nc_hc_us()
{
$setup = Setup::findOrFail(config('app.id'));
$ao = Address::findFTN('100:10/7.0@a');
$setup->system_id = $ao->system_id;
$setup->save();
/*
*/
$this->session_rc();
//$this->session_nc();
$this->session_hub();
$ao = Address::findFTN('100:11/7.0');
$ao->system->sessions()->attach([$ao->zone_id=>['sespass'=>'ABCD']]);
$ao = Address::findFTN('100:1/100.0@a');
$this->assertCount(0,$ao->children());
$this->assertEquals('100:1/0.0@a',$ao->parent()?->ftn);
// RC
$ao = Address::findFTN('100:1/0.0@a');
$this->assertCount(186-36-36-1,$ao->children());
$ao = Address::findFTN('100:11/7.0@a');
$this->assertEquals('100:11/7.0@a',$ao->parent()->ftn);
// NC
$ao = Address::findFTN('100:10/7.0@a');
$this->assertCount(36-6-1,$ao->children());
$ao = Address::findFTN('100:10/10.0@a');
$this->assertNull($ao->parent()?->ftn);
// HC
$ao = Address::findFTN('100:10/20.0@a');
$this->assertCount(6-1,$ao->children());
$ao = Address::findFTN('100:10/22.0@a');
$this->assertEquals('100:10/20.0@a',$ao->parent()->ftn);
}
// A points parent is the node, if we have traffic for a point and we have session details for the node
@@ -264,6 +337,6 @@ class RoutingTest extends TestCase
$this->assertEquals('100:10/21.0@a',$ao->parent()?->ftn);
$ao = Address::findFTN('100:10/21@a');
$this->assertCount(1,$ao->children);
$this->assertCount(1,$ao->children());
}
}