def test_display_map(client):
    display_map = Element.display_map(client)
    assert display_map is not None

    def validate_display_map(element):
        values = [f(element) for f in display_map.values()]
        assert values is not None

    elements = Element.all(client, include=[Sensor])
    assert len(elements) > 0
    validate_display_map(elements[0])

    elements = Element.all(client)
    assert len(elements) > 0
    validate_display_map(elements[0])
def create(ctx, name, sensors, elements):
    """Create a label.

    Creates a label with a given NAME and an (optional) list of
    sensors and elements associated with that label.

    """
    client = ctx.find_object(Client)

    sensors = sensors or []
    if sensors:
        all_sensors = Sensor.all(client)
        sensors = [
            Sensor.lookup(client, id, resources=all_sensors) for id in sensors
        ]

    elements = elements or []
    if elements:
        all_elements = Element.all(client)
        elements = [
            Element.lookup(client, id, resources=all_elements)
            for id in elements
        ]

    label = Label.create(client, attributes={'name': name})

    if sensors:
        label.update_sensors(sensors)

    if elements:
        label.update_elements(elements)

    label = Label.find(client, label.id, include=label_includes)
    Label.display(client, [label], include=label_includes)
Exemple #3
0
def list(client, element, mac, **kwargs):
    """List elements.

    Lists information for a given ELEMENT or all elements in the
    organization.

    """
    include = [Sensor]
    if element:
        elements = [Element.lookup(client, element, mac=mac, include=include)]
    else:
        elements = Element.all(client, include=include)
    Element.display(client, elements, include=include)