Ejemplo n.º 1
0
    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"))
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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"))
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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__)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
 def test_job(self, mock_elastic, mock_rollover_data):
     db.DB()._job()
     self.assertEqual(0, mock_rollover_data.call_count)
Ejemplo n.º 9
0
 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")
Ejemplo n.º 10
0
 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")
Ejemplo n.º 11
0
 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)
Ejemplo n.º 12
0
 def test_metrics_add_wrong_type(self):
     self.assertRaises(ValueError,
                       db.DB().metrics_add, "some_invalid_type", [])