def test_elastic_commit(self):
        """Test that documents get properly added to ElasticSearch.
        """

        docc = {'_id': '3', 'name': 'Waldo', 'ns': 'test.test'}
        docman = DocManager(elastic_pair)
        # test cases:
        # -1 = no autocommit
        # 0 = commit immediately
        # x > 0 = commit within x seconds
        for autocommit_interval in [None, 0, 1, 2]:
            docman.auto_commit_interval = autocommit_interval
            docman.upsert(docc)
            if autocommit_interval is None:
                docman.commit()
            else:
                # Allow just a little extra time
                time.sleep(autocommit_interval + 1)
            results = list(self._search())
            self.assertEqual(
                len(results), 1, "should commit document with "
                "auto_commit_interval = %s" % str(autocommit_interval))
            self.assertEqual(results[0]["name"], "Waldo")
            self._remove()
        docman.stop()
Exemplo n.º 2
0
 def setUpClass(cls):
     """ Starts the cluster
     """
     cls.elastic_doc = DocManager(elastic_pair, auto_commit=False)
     _, cls.secondary_p, cls.primary_p = start_replica_set('test-elastic')
     cls.conn = MongoClient(mongo_host,
                            cls.primary_p,
                            replicaSet='test-elastic')
Exemplo n.º 3
0
 def test_invalid_url(self):
     """Ensure DocManager fails for a bad Solr url.
     """
     #Invalid URL
     #Invalid URL
     count = 0
     try:
         DocManager("http://doesntexist.cskjdfhskdjfhdsom")
     except SystemError:
         count += 1
     self.assertTrue(count == 1)
Exemplo n.º 4
0
    def setUpClass(cls):
        """ Starts the cluster
        """
        os.system('rm %s; touch %s' % (CONFIG, CONFIG))
        cls.elastic_doc = DocManager('localhost:9200')
        cls.elastic_doc._remove()
        cls.flag = start_cluster()
        if cls.flag:
            cls.conn = Connection('%s:%s' % (HOSTNAME, PORTS_ONE['MONGOS']),
                                  replicaSet="demo-repl")

        import logging
        logger = logging.getLogger()
        loglevel = logging.INFO
        logger.setLevel(loglevel)
    def setUp(self):
        """Start a new Connector for each test."""
        super(TestElastic, self).setUp()
        try:
            os.unlink("oplog.timestamp")
        except OSError:
            pass
        docman = DocManager(elastic_pair)
        self.connector = Connector(mongo_address=self.repl_set.uri,
                                   ns_set=['test.test'],
                                   doc_managers=(docman, ),
                                   gridfs_set=['test.test'])

        self.conn.test.test.drop()
        self.conn.test.test.files.drop()
        self.conn.test.test.chunks.drop()

        self.connector.start()
        assert_soon(lambda: len(self.connector.shard_set) > 0)
        assert_soon(lambda: self._count() == 0)
 def setUpClass(cls):
     cls.elastic_conn = Elasticsearch(hosts=[elastic_pair])
     cls.elastic_doc = DocManager(elastic_pair, auto_commit_interval=0)
Exemplo n.º 7
0
 def setUpClass(cls):
     """Initializes ES DocManager and a direct connection to elastic_conn
     """
     cls.elastic_doc = DocManager("http://localhost:9200",
                                  auto_commit=False)
     cls.elastic_conn = ES(server="http://localhost:9200")
 def setUpClass(cls):
     """Initializes ES DocManager and a direct connection to elastic_conn
     """
     cls.elastic_doc = DocManager("localhost:9200", auto_commit_interval=0)
     cls.elastic_conn = Elasticsearch(server="localhost:9200")