/**
  * @test
  */
 public function ImportNetworkEquipment()
 {
     global $DB;
     self::restore_database();
     // Load session rights
     $_SESSION['glpidefault_entity'] = 0;
     Session::initEntityProfiles(2);
     Session::changeProfile(4);
     $pfUnmanaged = new PluginFusioninventoryUnmanaged();
     $networkEquipment = new NetworkEquipment();
     $networkPort = new NetworkPort();
     $networkName = new NetworkName();
     $iPAddress = new IPAddress();
     $input = array('name' => 'switch', 'entities_id' => 0, 'item_type' => 'NetworkEquipment', 'sysdescr' => 'Cisco machin chose', 'locations_id' => 1, 'is_dynamic' => 1, 'serial' => 'XXS6BEF3', 'comment' => 'this is a comment', 'plugin_fusioninventory_configsecurities_id' => 1);
     $unmanageds_id = $pfUnmanaged->add($input);
     // * Add networkport
     $input = array();
     $input['itemtype'] = 'PluginFusioninventoryUnmanaged';
     $input['items_id'] = $unmanageds_id;
     $input['instantiation_type'] = 'NetworkPortEthernet';
     $input['name'] = 'general';
     $input['mac'] = '00:00:00:43:ae:0f';
     $input['is_dynamic'] = 1;
     $networkports_id = $networkPort->add($input);
     $input = array();
     $input['items_id'] = $networkports_id;
     $input['itemtype'] = 'NetworkPort';
     $input['name'] = '';
     $input['is_dynamic'] = 1;
     $networknames_id = $networkName->add($input);
     $input = array();
     $input['entities_id'] = 0;
     $input['itemtype'] = 'NetworkName';
     $input['items_id'] = $networknames_id;
     $input['name'] = '192.168.20.1';
     $input['is_dynamic'] = 1;
     $iPAddress->add($input);
     $pfUnmanaged->import($unmanageds_id);
     $cnt = countElementsInTable("glpi_networkequipments");
     $this->assertEquals(1, $cnt, "May have network equipment added");
     $cnt = countElementsInTable("glpi_plugin_fusioninventory_unmanageds");
     $this->assertEquals(0, $cnt, "Unknown device may be deleted");
     $networkEquipment->getFromDB(1);
     $this->assertEquals('XXS6BEF3', $networkEquipment->fields['serial'], "Serial");
     $this->assertEquals('switch', $networkEquipment->fields['name'], "Name");
     $this->assertEquals(1, $networkEquipment->fields['is_dynamic'], "is_dynamic");
     $this->assertEquals(1, $networkEquipment->fields['locations_id'], "locations_id");
     $this->assertEquals('this is a comment', $networkEquipment->fields['comment'], "comment");
     $networkPort->getFromDB(1);
     $a_reference = array('name' => 'general', 'id' => '1', 'items_id' => '1', 'itemtype' => 'NetworkEquipment', 'entities_id' => '0', 'is_recursive' => '0', 'logical_number' => '0', 'instantiation_type' => 'NetworkPortEthernet', 'mac' => '00:00:00:43:ae:0f', 'comment' => '', 'is_deleted' => '0', 'is_dynamic' => '1');
     $this->assertEquals($a_reference, $networkPort->fields, "Networkport");
     $networkName->getFromDB(1);
     $a_reference = array('id' => '1', 'entities_id' => '0', 'items_id' => '1', 'itemtype' => 'NetworkPort', 'comment' => NULL, 'fqdns_id' => '0', 'is_deleted' => '0', 'is_dynamic' => '1', 'name' => '');
     $this->assertEquals($a_reference, $networkName->fields, "Networkname");
     $iPAddress->getFromDB(1);
     $a_reference = array('name' => '192.168.20.1', 'id' => '1', 'entities_id' => '0', 'items_id' => '1', 'itemtype' => 'NetworkName', 'version' => '4', 'binary_0' => '0', 'binary_1' => '0', 'binary_2' => '65535', 'binary_3' => '3232240641', 'is_deleted' => '0', 'is_dynamic' => '1', 'mainitems_id' => '1', 'mainitemtype' => 'NetworkEquipment');
     $this->assertEquals($a_reference, $iPAddress->fields, "IPAddress");
 }
 static function processMassiveActionsForOneItemtype(MassiveAction $ma, CommonDBTM $item, array $ids)
 {
     switch ($ma->getAction()) {
         case "import":
             $Import = 0;
             $NoImport = 0;
             $pfUnmanaged = new PluginFusioninventoryUnmanaged();
             foreach ($ids as $key) {
                 list($Import, $NoImport) = $pfUnmanaged->import($key, $Import, $NoImport);
                 $ma->itemDone($item->getType(), $key, MassiveAction::ACTION_OK);
             }
             $ma->addMessage(__('Number of imported devices', 'fusioninventory') . " : " . $Import);
             $ma->addMessage(__('Number of devices not imported because type not defined', 'fusioninventory') . " : " . $NoImport);
             break;
     }
     return;
 }
        } else {
            if (isset($_POST["purge"]) || isset($_GET["purge"])) {
                Session::checkRight('plugin_fusioninventory_unmanaged', PURGE);
                $pfUnmanaged->check($_POST['id'], PURGE);
                $pfUnmanaged->delete($_POST, 1);
                $pfUnmanaged->redirectToList();
            } else {
                if (isset($_POST["update"])) {
                    $pfUnmanaged->check($_POST['id'], UPDATE);
                    $pfUnmanaged->update($_POST);
                    Html::back();
                } else {
                    if (isset($_POST["import"])) {
                        $Import = 0;
                        $NoImport = 0;
                        list($Import, $NoImport) = $pfUnmanaged->import($_POST['id'], $Import, $NoImport);
                        Session::addMessageAfterRedirect(__('Number of imported devices', 'fusioninventory') . " : " . $Import);
                        Session::addMessageAfterRedirect(__('Number of devices not imported because type not defined', 'fusioninventory') . " : " . $NoImport);
                        if ($Import == "0") {
                            Html::back();
                        } else {
                            Html::redirect($CFG_GLPI['root_doc'] . "/plugins/fusioninventory/front/unmanaged.php");
                        }
                    }
                }
            }
        }
    }
}
$pfUnmanaged->display($_GET);
Html::footer();