/**
* @group functional
*/
public function testNoSource()
{
$index = $this->_createIndex();
$type = new Type($index, 'user');
$mapping = new Mapping($type, array('id' => array('type' => 'integer', 'store' => 'yes'), 'username' => array('type' => 'string', 'store' => 'no')));
$mapping->setSource(array('enabled' => false));
$type->setMapping($mapping);
$mapping = $type->getMapping();
$this->assertArrayHasKey('user', $mapping);
$this->assertArrayHasKey('properties', $mapping['user']);
$this->assertArrayHasKey('id', $mapping['user']['properties']);
$this->assertArrayHasKey('type', $mapping['user']['properties']['id']);
$this->assertEquals('integer', $mapping['user']['properties']['id']['type']);
// Adds 1 document to the index
$doc1 = new Document(1, array('username' => 'hans', 'test' => array('2', '3', '5')));
$type->addDocument($doc1);
// Adds a list of documents with _bulk upload to the index
$docs = array();
$docs[] = new Document(2, array('username' => 'john', 'test' => array('1', '3', '6')));
$docs[] = new Document(3, array('username' => 'rolf', 'test' => array('2', '3', '7')));
$type->addDocuments($docs);
// To update index
$index->refresh();
$resultSet = $type->search('rolf');
$this->assertEquals(1, $resultSet->count());
// Tests if no source is in response except id
$result = $resultSet->current();
$this->assertEquals(3, $result->getId());
$this->assertEmpty($result->getData());
}