/** * @test */ public function NetworkPortAggregation() { global $DB; $DB->connect(); $networkPort = new NetworkPort(); $networkPortAggregate = new NetworkPortAggregate(); $a_networkports = $networkPort->find("`logical_number`='5005'"); $this->assertEquals(1, count($a_networkports), 'Number of networkport 5005 may be 1'); $a_networkport = current($a_networkports); $a_aggregate = current($networkPortAggregate->find("`networkports_id`='" . $a_networkport['id'] . "'", '', 1)); $a_ports = importArrayFromDB($a_aggregate['networkports_id_list']); $this->assertEquals(array('2', '4'), $a_ports, 'aggregate ports'); }
function importPortAggregate($a_ports, $networkports_id, $networkequipments_id) { $networkPort = new NetworkPort(); $networkPortAggregate = new NetworkPortAggregate(); $a_aggregates = $networkPortAggregate->find("`networkports_id`='" . $networkports_id . "'", "", 1); $input = array(); if (count($a_aggregates) == 1) { $input = current($a_aggregates); } else { $input['networkports_id'] = $networkports_id; $input['networkports_id_list'] = exportArrayToDB(array()); $input['id'] = $networkPortAggregate->add($input); } $a_ports_db_tmp = array(); foreach ($a_ports as $logical_number) { $a_networkports_DB = current($networkPort->find("`itemtype`='NetworkEquipment'\n AND `items_id`='" . $networkequipments_id . "'\n AND `instantiation_type`='NetworkPortEthernet'\n AND `logical_number` = '" . $logical_number . "'", '', 1)); if (!isset($a_networkports_DB['id'])) { // Add port $a_port['instantiation_type'] = 'NetworkPortEthernet'; $a_port['items_id'] = $networkequipments_id; $a_port['itemtype'] = 'NetworkEquipment'; $a_port['logical_number'] = $logical_number; $networkports_id = $networkPort->add($a_port); } else { $networkports_id = $a_networkports_DB['id']; } $a_ports_db_tmp[] = $networkports_id; } $input['networkports_id_list'] = $a_ports_db_tmp; $networkPortAggregate->update($input); }