Exemple #1
0
def test_group_value(monkeypatch) -> None:
    monkeypatch.setattr(utils, "painter_registry", PainterRegistry())

    def rendr(row) -> tuple[str, str]:
        return ("abc", "xyz")

    utils.register_painter(
        "tag_painter",
        {
            "title": "Tag painter",
            "short": "tagpaint",
            "columns": ["x"],
            "sorter": "aaaa",
            "options": ["opt1"],
            "printable": False,
            "paint": rendr,
            "groupby": "dmz",
        },
    )

    painter: Painter = utils.painter_registry["tag_painter"]()
    dummy_cell: Cell = Cell(View("", {}, {}), PainterSpec(painter.ident))

    assert group_value({"host_tags": {
        "networking": "dmz"
    }}, [dummy_cell]) == ("dmz", )
def test_query_row_table_inventory(monkeypatch):
    row_table = inventory.RowTableInventory("invtesttable", ".foo.bar:")
    view = View("", {}, {})
    monkeypatch.setattr(row_table, "_get_raw_data", lambda only_sites, query: RAW_ROWS)
    monkeypatch.setattr(row_table, "_get_inv_data", lambda hostrow: INV_ROWS)
    rows, _len_rows = row_table.query(view, [], "", None, None, [])
    for row in rows:
        assert set(row) == set(EXPECTED_INV_KEYS)
def test_query_row_table_inventory_history_add_columns(monkeypatch):
    row_table = inventory.RowTableInventoryHistory()
    view = View("", {}, {})
    monkeypatch.setattr(row_table, "_get_raw_data", lambda only_sites, query: RAW_ROWS2)
    monkeypatch.setattr(row_table, "_get_inv_data", lambda hostrow: INV_HIST_ROWS)
    rows, _len_rows = row_table.query(view, ['host_foo'], "", None, None, [])
    for row in rows:
        assert set(row) == set(EXPECTED_INV_HIST_KEYS + ['host_foo'])
def get_topology_view_and_filters() -> Tuple[View, List[Filter]]:
    view_name = "topology_filters"
    view_spec = get_permitted_views()[view_name]
    view = View(view_name, view_spec, view_spec.get("context", {}))
    filters = cmk.gui.visuals.filters_of_visual(view.spec,
                                                view.datasource.infos,
                                                link_filters=view.datasource.link_filters)
    show_filters = cmk.gui.visuals.visible_filters_of_visual(view.spec, filters)
    return view, show_filters
def test_query_row_multi_table_inventory_add_columns(monkeypatch):
    sources = list(zip(["invtesttable1", "invtesttable2"], [".foo.bar:", "foo.baz:"]))
    row_table = inventory.RowMultiTableInventory(sources, ["sid"], [])
    view = View("", {}, {})
    monkeypatch.setattr(row_table, "_get_raw_data", lambda only_sites, query: RAW_ROWS2)
    monkeypatch.setattr(row_table, "_get_inv_data", lambda hostrow: INV_ROWS_MULTI)
    rows, _len_rows = row_table.query(view, ['host_foo'], "", None, None, [])
    for row in rows:
        assert set(row) == set(EXPECTED_INV_MULTI_KEYS + ['host_foo'])
Exemple #6
0
    def _get_topology_view_and_filters(self):
        view_spec = get_permitted_views()["topology_filters"]
        view_name = "topology_filters"
        view = View(view_name, view_spec)
        filters = cmk.gui.visuals.filters_of_visual(
            view.spec,
            view.datasource.infos,
            link_filters=view.datasource.link_filters)

        show_filters = cmk.gui.visuals.visible_filters_of_visual(
            view.spec, filters)
        return view, show_filters
Exemple #7
0
def test_row_table_object(mock_livestatus, request_context):
    live = mock_livestatus
    live.add_table(
        "hosts",
        [{
            "name": "heute",
            "alias": "heute",
            "host_state": 0,
            "host_has_been_checked": False,
        }],
    )
    live.expect_query("GET hosts\n"
                      "Columns: host_has_been_checked host_state name\n"
                      "Filter: name = heute")

    view_name = "hosts"
    view_spec = {
        "datasource": "hosts",
        "painters": [],
    }
    context: VisualContext = {
        "host": {
            "host": "heute"
        },
        "service": {},
    }
    view = View(view_name, view_spec, context)
    rt = RowTableLivestatus("hosts")

    # @Christoph: Test geht kaputt wenn headers="Filter: host_name = heute"
    # der host_ prefix, passend angepasst generiert eine extra query?
    with live(expect_status_query=True):
        rt.query(
            view=view,
            columns=["name"],
            headers="Filter: name = heute",
            only_sites=None,
            limit=None,
            all_active_filters=[],
        )
Exemple #8
0
def test_row_table_object(mock_livestatus, register_builtin_html):
    live = mock_livestatus
    live.add_table(
        'hosts',
        [{
            'name': 'heute',
            'alias': 'heute',
            'host_state': 0,
            'host_has_been_checked': False,
        }],
    )
    live.expect_query('GET hosts\n'
                      'Columns: host_has_been_checked host_state name\n'
                      'Filter: name = heute')

    view_name = "hosts"
    view_spec = {
        "datasource": "hosts",
        "painters": [],
    }
    context = {
        'host': 'heute',
        'service': None,
    }
    view = View(view_name, view_spec, context)
    rt = RowTableLivestatus("hosts")

    with live(expect_status_query=True):
        rt.query(
            view=view,
            columns=['name'],
            headers='Filter: name = heute',
            only_sites=None,
            limit=None,
            all_active_filters=[],
        )