Mercurial > hg > MPIWG-drupal-modules
diff sites/all/modules/custom/solrconnect/tests/Dummy_Solr.php @ 0:015d06b10d37 default tip
initial
author | dwinter |
---|---|
date | Wed, 31 Jul 2013 13:49:13 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/modules/custom/solrconnect/tests/Dummy_Solr.php Wed Jul 31 13:49:13 2013 +0200 @@ -0,0 +1,474 @@ +<?php + +/** + * @file + * Dummy object to simulate a Solr Service + * + */ +class DummySolr implements DrupalApacheSolrServiceInterface { + + function getId() { + return __CLASS__; + } + + function getFields($num_terms = 0) { + return (object) array( + 'is_uid' => + (object) array( + 'type' => 'long', + 'schema' => 'I-S----OF-----', + ), + 'content' => + (object) array( + 'type' => 'text', + 'schema' => 'ITS-V---------', + ), + 'im_3_field_tags' => + (object) array( + 'type' => 'long', + 'schema' => 'I-SM---OF-----', + 'dynamicBase' => 'im_*', + ), + 'entity_type' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'ds_last_comment_or_change' => + (object) array( + 'type' => 'tdate', + 'schema' => 'ITS----OF-----', + ), + 'nodeaccess_ari4jj_node_access_example_view' => + (object) array( + 'type' => 'integer', + 'schema' => 'I--M---OF-----', + 'dynamicBase' => 'nodeaccess*', + ), + 'entity_id' => + (object) array( + 'type' => 'tlong', + 'schema' => 'ITS----OF-----', + ), + 'ds_changed' => + (object) array( + 'type' => 'tdate', + 'schema' => 'ITS----OF-----', + ), + 'id' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'timestamp' => + (object) array( + 'type' => 'date', + 'schema' => 'I-S----OF----l', + ), + 'label' => + (object) array( + 'type' => 'text', + 'schema' => 'ITS-V--O------', + ), + 'nodeaccess_ari4jj_node_access_example_edit' => + (object) array( + 'type' => 'integer', + 'schema' => 'I--M---OF-----', + 'dynamicBase' => 'nodeaccess*', + ), + 'ds_created' => + (object) array( + 'type' => 'tdate', + 'schema' => 'ITS----OF-----', + ), + 'ss_name' => + (object) array( + 'type' => 'text', + 'schema' => 'ITS-V---------', + ), + 'path' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'taxonomy_names' => + (object) array( + 'type' => 'text', + 'schema' => 'IT-MV--O------', + ), + 'bundle' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'tid' => + (object) array( + 'type' => 'long', + 'schema' => 'I-SM---OF-----', + ), + 'is_tnid' => + (object) array( + 'type' => 'long', + 'schema' => 'I-S----OF-----', + ), + 'nodeaccess_ari4jj_node_access_example_author' => + (object) array( + 'type' => 'integer', + 'schema' => 'I--M---OF-----', + 'dynamicBase' => 'nodeaccess*', + ), + 'tm_vid_1_names' => + (object) array( + 'type' => 'text', + 'schema' => 'ITSMV---------', + 'dynamicBase' => 'tm_*', + ), + 'spell' => + (object) array( + 'type' => 'textSpell', + 'schema' => 'ITSM----------', + ), + 'site' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'is_comment_count' => + (object) array( + 'type' => 'tint', + 'schema' => 'ITS----OF-----', + ), + 'bundle_name' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'hash' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'bs_status' => + (object) array( + 'type' => 'boolean', + 'schema' => 'I-S----OF----l', + ), + 'entity_id' => + (object) array( + 'type' => 'long', + 'schema' => 'I-S----OF-----', + ), + 'url' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'nodeaccess_all' => + (object) array( + 'type' => 'integer', + 'schema' => 'I--M---OF-----', + 'dynamicBase' => 'nodeaccess*', + ), + 'sort_name' => + (object) array( + 'type' => 'sortString', + 'schema' => 'IT-----O-----l', + ), + 'tags_a' => + (object) array( + 'type' => 'text', + 'schema' => 'IT-----O------', + 'dynamicBase' => 'tags_*', + ), + 'bs_sticky' => + (object) array( + 'type' => 'boolean', + 'schema' => 'I-S----OF----l', + ), + 'bs_promote' => + (object) array( + 'type' => 'boolean', + 'schema' => 'I-S----OF----l', + ), + 'teaser' => + (object) array( + 'type' => 'text', + 'schema' => '-TS-----------', + ), + 'im_vid_1' => + (object) array( + 'type' => 'long', + 'schema' => 'I-SM---OF-----', + 'dynamicBase' => 'im_*', + ), + 'bs_translate' => + (object) array( + 'type' => 'boolean', + 'schema' => 'I-S----OF----l', + ), + 'sort_label' => + (object) array( + 'type' => 'sortString', + 'schema' => 'IT-----O-----l', + ), + 'ss_language' => + (object) array( + 'type' => 'string', + 'schema' => 'I-S----OF----l', + ), + 'sm_vid_Tags' => + (object) array( + 'type' => 'string', + 'schema' => 'I-SM---OF----l', + 'dynamicBase' => 'sm_*', + ), + ); + } + + protected $last_search = array(); + + public function search($query = '', array $params = array(), $method = 'GET') { + $this->last_search = array('query' => $query, 'params' => $params, 'method' => $method); + $response = new stdClass(); + $response->response = new stdClass(); + $response->response->numFound = 0; + $response->response->docs = array(); + + return $response; + } + + public function getLastSearch() { + return $this->last_search; + } + + /** + * Call the /admin/ping servlet, to test the connection to the server. + * + * @param $timeout + * maximum time to wait for ping in seconds, -1 for unlimited (default 2). + * @return + * (float) seconds taken to ping the server, FALSE if timeout occurs. + */ + function ping($timeout = 2) { + } + + /** + * Get information about the Solr Core. + * + * @return + * (string) system info encoded in json + */ + function getSystemInfo() { + } + + /** + * Get meta-data about the index. + */ + function getLuke($num_terms = 0) { + } + + /** + * Get information about the Solr Core. + * + * Returns a Simple XMl document + */ + function getStats() { + } + + /** + * Get summary information about the Solr Core. + */ + function getStatsSummary() { + } + + /** + * Clear cached Solr data. + */ + function clearCache() { + } + + /** + * Constructor + * + * @param $url + * The URL to the Solr server, possibly including a core name. E.g. http://localhost:8983/solr/ + * or https://search.example.com/solr/core99/ + * @param $env_id + * The machine name of a corresponding saved configuration used for loading + * data like which facets are enabled. + */ + function __construct($url, $env_id = NULL) { + } + + /** + * Make a request to a servlet (a path) that's not a standard path. + * + * @param string $servlet + * A path to be added to the base Solr path. e.g. 'extract/tika' + * + * @param array $params + * Any request parameters when constructing the URL. + * + * @param array $options + * @see drupal_http_request() $options. + * + * @return + * response object + * + * @thows Exception + */ + function makeServletRequest($servlet, $params = array(), $options = array()) { + } + + /** + * Get the Solr url + * + * @return string + */ + function getUrl() { + } + + /** + * Set the Solr url. + * + * @param $url + * + * @return $this + */ + function setUrl($url) { + } + + /** + * Raw update Method. Takes a raw post body and sends it to the update service. Post body + * should be a complete and well formed xml document. + * + * @param string $rawPost + * @param float $timeout Maximum expected duration (in seconds) + * + * @return response object + * + * @throws Exception If an error occurs during the service call + */ + function update($rawPost, $timeout = FALSE) { + } + + /** + * Add an array of Solr Documents to the index all at once + * + * @param array $documents Should be an array of ApacheSolrDocument instances + * @param boolean $allowDups + * @param boolean $overwritePending + * @param boolean $overwriteCommitted + * + * @return response objecte + * + * @throws Exception If an error occurs during the service call + */ + function addDocuments($documents, $overwrite = NULL, $commitWithin = NULL) { + } + + /** + * Send a commit command. Will be synchronous unless both wait parameters are set to false. + * + * @param boolean $optimize Defaults to true + * @param boolean $waitFlush Defaults to true + * @param boolean $waitSearcher Defaults to true + * @param float $timeout Maximum expected duration (in seconds) of the commit operation on the server (otherwise, will throw a communication exception). Defaults to 1 hour + * @param boolean $softCommit optimize by using a softCommit + * + * @return response object + * + * @throws Exception If an error occurs during the service call + */ + function commit($optimize = TRUE, $waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600, $softCommit = FALSE) { + } + + /** + * Create a delete document based on document ID + * + * @param string $id Expected to be utf-8 encoded + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * + * @return response object + * + * @throws Exception If an error occurs during the service call + */ + function deleteById($id, $timeout = 3600) { + } + + /** + * Create and post a delete document based on multiple document IDs. + * + * @param array $ids Expected to be utf-8 encoded strings + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * + * @return response object + * + * @throws Exception If an error occurs during the service call + */ + function deleteByMultipleIds($ids, $timeout = 3600) { + } + + /** + * Create a delete document based on a query and submit it + * + * @param string $rawQuery Expected to be utf-8 encoded + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return stdClass response object + * + * @throws Exception If an error occurs during the service call + */ + function deleteByQuery($rawQuery, $timeout = 3600) { + } + + /** + * Send an optimize command. Will be synchronous unless both wait parameters are set + * to false. + * + * @param boolean $waitFlush + * @param boolean $waitSearcher + * @param float $timeout Maximum expected duration of the commit operation on the server (otherwise, will throw a communication exception) + * @param boolean $softCommit optimize by using a softCommit + * + * @return response object + * + * @throws Exception If an error occurs during the service call + */ + function optimize($waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600, $softCommit = FALSE) { + } + + /** + * Get the current solr version. This could be 1, 3 or 4 + * + * @return int + * 1, 3 or 4. Does not give a more details version, for that you need + * to get the system info. + */ + function getSolrVersion() { + } + + /** + * Get query name. + */ + function getName() { + } + + /** + * Get query searcher name (for facetapi, views, pages, etc). + */ + function getSearcher() { + } + + /** + * Get context values. + */ + function getContext() { + } + + /** + * Set context value. + */ + function addContext(array $context) { + } +} +