public function testGetItem($session_token, $computers_id)
{
// Get the User TU_USER
$uid = getItemByTypeName('User', TU_USER, true);
$res = $this->doHttpRequest('GET', "User/{$uid}/", ['headers' => ['Session-Token' => $session_token], 'query' => ['expand_dropdowns' => true, 'with_logs' => true]]);
$this->assertNotEquals(null, $res, $this->last_error);
$this->assertEquals(200, $res->getStatusCode());
$body = $res->getBody();
$data = json_decode($body, true);
$this->assertArrayHasKey('id', $data);
$this->assertArrayHasKey('name', $data);
$this->assertArrayHasKey('entities_id', $data);
$this->assertArrayHasKey('links', $data);
$this->assertArrayNotHasKey('password', $data);
$this->assertFalse(is_numeric($data['entities_id']));
// for expand_dropdowns
$this->assertArrayHasKey('_logs', $data);
// with_logs == true
// Get user's entity
$eid = getItemByTypeName('Entity', '_test_root_entity', true);
$res = $this->doHttpRequest('GET', 'Entity/' . $eid, ['headers' => ['Session-Token' => $session_token], 'query' => ['get_hateoas' => false]]);
$this->assertNotEquals(null, $res, $this->last_error);
$this->assertEquals(200, $res->getStatusCode());
$body = $res->getBody();
$data = json_decode($body, true);
$this->assertNotEquals(false, $data);
$this->assertArrayHasKey('id', $data);
$this->assertArrayHasKey('name', $data);
$this->assertArrayHasKey('completename', $data);
$this->assertArrayNotHasKey('links', $data);
// get_hateoas == false
// Get the previously created 'computer 1'
$res = $this->doHttpRequest('GET', "Computer/{$computers_id}", ['headers' => ['Session-Token' => $session_token], 'query' => ['with_networkports' => true]]);
$this->assertNotEquals(null, $res, $this->last_error);
$this->assertEquals(200, $res->getStatusCode());
$body = $res->getBody();
$data = json_decode($body, true);
$this->assertNotEquals(false, $data);
$this->assertArrayHasKey('id', $data);
$this->assertArrayHasKey('name', $data);
$this->assertArrayHasKey('_networkports', $data);
$this->assertArrayHasKey('NetworkName', $data['_networkports']['NetworkPortEthernet'][0]);
$networkname = $data['_networkports']['NetworkPortEthernet'][0]['NetworkName'];
$this->assertArrayHasKey('IPAddress', $networkname);
$this->assertArrayHasKey('FQDN', $networkname);
$this->assertArrayHasKey('id', $networkname['IPAddress'][0]);
$this->assertArrayHasKey('name', $networkname['IPAddress'][0]);
$this->assertArrayHasKey('IPNetwork', $networkname['IPAddress'][0]);
$this->assertEquals('1.2.3.4', $networkname['IPAddress'][0]['name']);
}