public function testGetItems($session_token)
{
// test retrieve all users
$res = $this->doHttpRequest('getItems', ['session_token' => $session_token, 'itemtype' => 'User', 'expand_dropdowns' => true]);
$this->assertEquals(200, $res->getStatusCode());
$data = xmlrpc_decode($res->getBody());
$this->assertGreaterThanOrEqual(4, count($data));
$this->assertArrayHasKey('id', $data[0]);
$this->assertArrayHasKey('name', $data[0]);
$this->assertArrayNotHasKey('password', $data[0]);
$this->assertArrayHasKey('is_active', $data[0]);
$this->assertFalse(is_numeric($data[0]['entities_id']));
// for expand_dropdowns
// test retrieve partial users
$res = $this->doHttpRequest('getItems', ['session_token' => $session_token, 'itemtype' => 'User', 'range' => '0-1', 'expand_dropdowns' => true]);
$this->assertEquals(206, $res->getStatusCode());
$data = xmlrpc_decode($res->getBody());
$this->assertGreaterThanOrEqual(2, count($data));
$this->assertArrayHasKey('id', $data[0]);
$this->assertArrayHasKey('name', $data[0]);
$this->assertArrayNotHasKey('password', $data[0]);
$this->assertArrayHasKey('is_active', $data[0]);
$this->assertFalse(is_numeric($data[0]['entities_id']));
// for expand_dropdowns
// Test only_id param
$res = $this->doHttpRequest('getItems', ['session_token' => $session_token, 'itemtype' => 'User', 'only_id' => true]);
$this->assertEquals(200, $res->getStatusCode());
$data = xmlrpc_decode($res->getBody());
$this->assertNotEquals(false, $data);
$this->assertGreaterThanOrEqual(4, count($data));
$this->assertArrayHasKey('id', $data[0]);
$this->assertArrayNotHasKey('name', $data[0]);
$this->assertArrayNotHasKey('password', $data[0]);
$this->assertArrayNotHasKey('is_active', $data[0]);
}