/** * Add computer in entity `ent1` (with rules) * * @test */ public function AddComputer() { global $DB; $DB->connect(); plugin_init_fusioninventory(); $DB->query("INSERT INTO `glpi_entities`\n (`id`, `name`, `entities_id`, `completename`, `level`)\n VALUES (1, 'ent1', 0, 'Entité racine > ent1', 2)"); $DB->query("INSERT INTO `glpi_entities`\n (`id`, `name`, `entities_id`, `completename`, `level`)\n VALUES (2, 'ent2', 0, 'Entité racine > ent2', 2)"); $_SESSION['glpiactive_entity'] = 0; $pfiComputerInv = new PluginFusioninventoryInventoryComputerInventory(); $computer = new Computer(); $pfEntity = new PluginFusioninventoryEntity(); $pfEntity->update(array('id' => 1, 'entities_id' => 0, 'transfers_id_auto' => 1)); $a_inventory = array(); $a_inventory['CONTENT']['HARDWARE'] = array('NAME' => 'pc1'); $a_inventory['CONTENT']['BIOS'] = array('SSN' => 'xxyyzz'); // * Add rule ignore $rule = new Rule(); $ruleCriteria = new RuleCriteria(); $ruleAction = new RuleAction(); $input = array(); $input['sub_type'] = 'PluginFusioninventoryInventoryRuleEntity'; $input['name'] = 'pc1'; $input['match'] = 'AND'; $input['is_active'] = 1; $rules_id = $rule->add($input); $input = array(); $input['rules_id'] = $rules_id; $input['criteria'] = 'name'; $input['condition'] = 0; $input['pattern'] = 'pc1'; $ruleCriteria->add($input); $input = array(); $input['rules_id'] = $rules_id; $input['action_type'] = 'assign'; $input['field'] = 'entities_id'; $input['value'] = 1; $ruleAction->add($input); // ** Add agent $pfAgent = new PluginFusioninventoryAgent(); $a_agents_id = $pfAgent->add(array('name' => 'pc-2013-02-13', 'device_id' => 'pc-2013-02-13')); $_SESSION['plugin_fusioninventory_agents_id'] = $a_agents_id; // ** Add $pfiComputerInv->import("pc-2013-02-13", "", $a_inventory); // creation $computer->getFromDB(1); $this->assertEquals(1, $computer->fields['entities_id'], 'Add computer'); $this->AgentEntity(1, 1, 'Add computer on entity 1'); // ** Update $pfiComputerInv->import("pc-2013-02-13", "", $a_inventory); // update $nbComputers = countElementsInTable("glpi_computers"); $this->assertEquals(1, $nbComputers, 'Nb computer for update computer'); $computer->getFromDB(1); $this->assertEquals(1, $computer->fields['entities_id'], 'Update computer'); $this->AgentEntity(1, 1, 'Update computer on entity 1 (not changed)'); }
/** * @test */ public function prepareDB() { global $DB; $DB->connect(); $_SESSION['glpiactive_entity'] = 0; $_SESSION["plugin_fusioninventory_entity"] = 0; $_SESSION["glpiname"] = 'Plugin_FusionInventory'; $query = "INSERT INTO `glpi_entities` " . " (`id`, `name`, `entities_id`, `level`) " . " VALUES ('1', 'ent1', '0', '2')"; $DB->query($query); $entities_id = 1; $pfAgent = new PluginFusioninventoryAgent(); $input = array('name' => 'toto', 'entities_id' => $entities_id, 'device_id' => 'toto-device'); $agents_id = $pfAgent->add($input); $config = new PluginFusioninventoryConfig(); $config->loadCache(); $pfEntity = new PluginFusioninventoryEntity(); $input = array('id' => 1, 'entities_id' => 0, 'agent_base_url' => 'http://127.0.0.1/glpi085'); $pfEntity->update($input); $input = array('entities_id' => $entities_id, 'agent_base_url' => 'http://10.0.2.2/glpi085'); $pfEntity->add($input); // active all modules $query = "UPDATE `glpi_plugin_fusioninventory_agentmodules`" . " SET `is_active`='1'"; $DB->query($query); }
------------------------------------------------------------------------ @package FusionInventory @author David Durieux @co-author @copyright Copyright (c) 2010-2014 FusionInventory team @license AGPL License 3.0 or (at your option) any later version http://www.gnu.org/licenses/agpl-3.0-standalone.html @link http://www.fusioninventory.org/ @link http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/ @since 2014 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; $pfEntity = new PluginFusioninventoryEntity(); if (isset($_POST["add"])) { $pfEntity->add($_POST); Html::back(); } else { if (isset($_POST["update"])) { $pfEntity->update($_POST); Html::back(); } else { if (isset($_REQUEST["purge"])) { $pfEntity->delete($_POST); Html::back(); } } }