def test_get_script(self): self.assertEqual( { "inline": "ctx._source.events.add('some_id')", "lang": "painless" }, db.DB()._get_script("some_id", "add")) self.assertEqual( { "inline": "ctx._source.events.remove" "(ctx._source.events.indexOf('some_id2'))", "lang": "painless" }, db.DB()._get_script("some_id2", "remove"))
def test_event_update_version_conflict(self, mock_event_get): mock_event_get.return_value = (1, {}) self.assertRaises(exceptions.DBConflict, db.DB()._event_update, "some_id", {}, version=2)
def test_get_query(self): event = { "started_at": "a", "finished_at": "b", "traffic_to.type": "to_type", "traffic_to.value": "to_value", "traffic_from.type": "from_type", "traffic_from.value": "from_value" } expected_filter = [{ "range": { "timestamp": { "gte": "a", "lte": "b" } } }, { "term": { "client_dest.to_type": "to_value" } }, { "term": { "client_src.from_type": "from_value" } }] id_query = {"term": {"events": "some_id"}} self.assertEqual( { "bool": { "filter": expected_filter, "must": [], "must_not": [id_query] } }, db.DB()._get_query(event, "some_id", "add")), self.assertEqual( { "bool": { "filter": expected_filter, "must": [id_query], "must_not": [] } }, db.DB()._get_query(event, "some_id", "remove"))
def test_job_not_applied(self, mock_db_get, mock_server_config_get, mock_log_info): mock_server_config_get.return_value = {"applied": False} mock_db_get.return_value = db.DB() mesher.Mesher()._job() mock_log_info.assert_called_once_with(mesher.Mesher.no_changes_msg) self.assertEqual(1, mock_db_get.call_count) self.assertEqual(1, mock_log_info.call_count)
def test_lock_failed(self, mock_get): db_ = db.DB() db_.own_url = "upsis" db_.elastic = mock.MagicMock() db_.elastic.indices.create.side_effect = ( elasticsearch.exceptions.ElasticsearchException) mock_get.return_value = db_ g = eslock.Glock("some_name") self.assertRaises(exceptions.GlobalLockException, g.__enter__)
def test_lock_acquired(self, mock_get): db_ = db.DB() db_.elastic = mock.MagicMock() db_.own_url = "upsis" mock_get.return_value = db_ g = eslock.Glock("some_name") with g: self.assertTrue(g.acquired) self.assertRaises(exceptions.GlobalLockException, g.__enter__) self.assertFalse(g.acquired)
def test_job_applied_not_meshed( self, mock_db_get, mock_server_config_get, mock_server_config_meshed, mock_clients_get, mock_log, mock_requests): mock_server_config_get.return_value = { "id": "10", "applied": True, "meshed": False} db_ = db.DB() db_.own_url = "some_stuff" db_.elastic = mock.MagicMock() mock_db_get.return_value = db_ mock_clients_get.return_value = [ {k: str(i) for k in self.keys} for i in xrange(5) ] mesh = mesher.Mesher() mesh.netmet_server_url = "some_url" mesh._job() mock_log.info.assert_called_once_with(mesher.Mesher.new_config_msg) self.assertEqual(1, mock_log.info.call_count)
def test_job(self, mock_elastic, mock_rollover_data): db.DB()._job() self.assertEqual(0, mock_rollover_data.call_count)
def test_event_delete(self, mock_event_update, mock_event_upgrade_metrics): db.DB().event_delete("22") mock_event_update.assert_called_once_with("22", {"status": "deleted"}) mock_event_upgrade_metrics.assert_called_once_with("22", "remove")
def test_event_stop_conflict(self, mock_event_get): mock_event_get.return_value = (1, {"finished_at": "some_value"}) self.assertRaises(exceptions.DBConflict, db.DB().event_stop, "42") mock_event_get.assert_called_once_with("42")
def test_event_stop(self, mock_event_update, mock_event_get): mock_event_get.return_value = (2, {}) db.DB().event_stop("22") mock_event_get.assert_called_once_with("22") mock_event_update.assert_called_once_with("22", {"finished_at": mock.ANY}, 2)
def test_metrics_add_wrong_type(self): self.assertRaises(ValueError, db.DB().metrics_add, "some_invalid_type", [])