def merge_tables(): table1 = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "A" }, { "name": "C" }, { "name": "E" }], "rows": [{ "cells": ["a", "c", "e"] }] * 100, "clusters": ["c1"], }, ) table2 = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "B" }, { "name": "D" }], "rows": [{ "cells": ["b", "d"] }] * 100, "clusters": ["c1"], }, ) merge_cluster_tables(table1, table2)
def test_merge_cluster_tables_new_columns(): table1 = Table( Pod, { "kind": "Table", "columnDefinitions": [{"name": "Name"}, {"name": "Status"}], "rows": [{"cells": ["myname", "ImagePullBackOff"]}], "clusters": ["c1"], }, ) table2 = Table( Pod, { "kind": "Table", "columnDefinitions": [ {"name": "Name"}, {"name": "FooCol"}, {"name": "Status"}, ], "rows": [{"cells": ["myname", "foo", "ImagePullBackOff"]}], "clusters": ["c1"], }, ) table = merge_cluster_tables(table1, table2) assert len(table.obj["clusters"]) == 2 assert table.columns == [{"name": "Name"}, {"name": "Status"}, {"name": "FooCol"}] assert table.rows == [ {"cells": ["myname", "ImagePullBackOff", None]}, {"cells": ["myname", "ImagePullBackOff", "foo"]}, ]
def test_merge_cluster_tables_completely_different(): table1 = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "A" }], "rows": [{ "cells": ["a"] }], "clusters": ["c1"], }, ) table2 = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "B" }], "rows": [{ "cells": ["b"] }], "clusters": ["c1"], }, ) table = merge_cluster_tables(table1, table2) assert len(table.obj["clusters"]) == 2 assert table.columns == [{"name": "A"}, {"name": "B"}] assert table.rows == [{"cells": ["a", None]}, {"cells": [None, "b"]}]
def test_add_label_columns(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [], "rows": [{ "cells": [], "object": { "metadata": {} } }], }, ) add_label_columns(table, "foo, bar") assert table.columns == [ { "name": "Foo", "description": "foo label", "label": "foo" }, { "name": "Bar", "description": "bar label", "label": "bar" }, ]
def single_pod_table_with_labels(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "Name" }, { "name": "Status" }], "rows": [{ "cells": ["myname", "ImagePullBackOff"], "object": { "metadata": { "labels": { "label1": "labelval1" } } }, }], "clusters": ["c1"], }, ) return table
def _add_label_cols(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "A" }, { "name": "C" }, { "name": "E" }], "rows": [{ "cells": ["a", "c", "e"], "object": { "metadata": { "labels": { "foo": "bar" } } }, }] * 100, "clusters": ["c1"], }, ) add_label_columns(table, "*")
def test_add_label_columns_all(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [], "rows": [{"cells": [], "object": {"metadata": {}}}], }, ) add_label_columns(table, "*") assert table.columns == [{"name": "Labels", "description": "* label", "label": "*"}]
def _filter_table(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{"name": "A"}, {"name": "C"}, {"name": "E"}], "rows": [{"cells": ["a", "c", "e"]}] * 100, "clusters": ["c1"], }, ) filter_table(table, "c")
def single_pod_table(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{"name": "Name"}, {"name": "Status"}], "rows": [{"cells": ["myname", "ImagePullBackOff"]}], "clusters": ["c1"], }, ) return table
def test_add_label_columns(): table = Table(Pod, {"kind": "Table", "columnDefinitions": [], "rows": []}) add_label_columns(table, "foo, bar") assert table.columns == [ { "name": "Foo", "description": "foo label" }, { "name": "Bar", "description": "bar label" }, ]
def two_pod_table(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{"name": "Name"}, {"name": "Status"}], "rows": [ {"cells": ["pod-a", "Running"]}, {"cells": ["pod-b", "Completed"]}, ], "clusters": ["c2"], }, ) return table
def two_pod_table(): table = Table( Pod, { "kind": "Table", "columnDefinitions": [{ "name": "Name" }], "rows": [{ "cells": ["pod-a"] }, { "cells": ["pod-b"] }], }, ) return table
def test_add_label_columns_empty(): table = Table(Pod, {"kind": "Table", "columnDefinitions": [], "rows": []}) add_label_columns(table, ", ") assert table.columns == []