Skip to content
Snippets Groups Projects
test_telegraf_agents.py 2.12 KiB
#!/usr/bin/python3

import pytest


@pytest.mark.parametrize("measurement, query, expected_result", [
    ('nginx', 'SELECT mean("requests") AS "mean" FROM "CLMCMetrics"."autogen"."nginx"', 0),
    ('cpu', 'SELECT mean("usage_idle") AS "mean" FROM "CLMCMetrics"."autogen"."cpu"', 0),
    ('mongodb', 'SELECT mean("net_in_bytes") AS "mean" FROM "CLMCMetrics"."autogen"."mongodb"', 0)
    ])
def test_all_inputs(influxdb, measurement, query, expected_result):
    """Tests measurements are received from an input plugin aggregated across all services
    """
    query_result = influxdb.query('SHOW measurements ON "CLMCMetrics"')
    points = list(query_result.get_points())
    assert any(p['name'] == measurement for p in points), "{0} not in measurement list".format(measurement)
    
    query_result = influxdb.query(query)
    points = list(query_result.get_points())
    actual_result = points[0]['mean']
    assert  actual_result > expected_result, "actual result {0} is not > expected result {1} for query {2}".format(actual_result, str(expected_result), query)


@pytest.mark.parametrize("ipendpoint, measurements", [
    ('id1', [{'measurement': 'cpu', 'query': 'query', 'result': 'result'} , {'measurement': 'nginx', 'query': 'query', 'result': 'result'}, {'measurement': 'mongo', 'query': 'query', 'result': 'result'}]),
    ('id2', [{'measurement': 'cpu', 'query': 'query', 'result': 'result'} , {'measurement': 'nginx', 'query': 'query', 'result': 'result'}])
])
def test_multiple_inputs_on_a_service(influxdb, ipendpoint, measurements):
    """This test checks that a service configured with multiple input plugins as separate telegraf config files generates measurements in the database
    """
    # for each item in the measurement list run the query and test the result 
    assert 1


@pytest.mark.parametrize("query, expected_result", [
    ('filter query', 0),
    ('filter query', 0),
    ('filter query', 0)
])
def test_global_tag_filtering(influxdb, query, expected_result):
    """Tests that the global tags are inserted correctly into the global configuration using the install CLMC script
    """
    # run query
    # check result
    assert 1