APIXmlrpcTest::testGetItems PHP Метод

testGetItems() публичный Метод

public testGetItems ( $session_token )
    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]);
    }