def test_get_mesos_habitat_data_humanized(): mesos_state = { 'slaves': [ { 'id': 'somenametest-slave', 'hostname': 'test.somewhere.www', 'resources': { 'cpus': 75, 'disk': 250, 'mem': 100, }, 'attributes': { 'habitat': 'somenametest-habitat', }, }, { 'id': 'somenametest-slave2', 'hostname': 'test2.somewhere.www', 'resources': { 'cpus': 500, 'disk': 200, 'mem': 750, }, 'attributes': { 'habitat': 'somenametest-habitat-2', }, }, ], 'frameworks': [ { 'tasks': [ { 'slave_id': 'somenametest-slave', 'resources': { 'cpus': 50, 'disk': 100, 'mem': 80, 'something-bogus': 25, }, }, ], }, ], 'cluster': 'fake_cluster', } expected_slave_humanize_output = """ Hostname CPU (free/total) RAM (free/total) Disk (free/total) test.somewhere.www 25.00/75.00 20.0M/100.0M 150.0M/250.0M test2.somewhere.www 500.00/500.00 750.0M/750.0M 200.0M/200.0M""" expected_attribute_humanize_output = """ Habitat CPU (free/total) RAM (free/total) Disk (free/total) somenametest-habitat 25.00/75.00 20.0M/100.0M 150.0M/250.0M somenametest-habitat-2 500.00/500.00 750.0M/750.0M 200.0M/200.0M""" extra_slave_data = paasta_metastatus.assert_extra_slave_data(mesos_state, humanize_output=True) extra_attribute_data = paasta_metastatus.assert_extra_attribute_data(mesos_state, humanize_output=True) assert extra_slave_data[0] == expected_slave_humanize_output assert extra_attribute_data[0] == expected_attribute_humanize_output
def test_assert_extra_attribute_data_slaves_no_attributes(): fake_mesos_state = { 'slaves': [ { 'id': 'test-slave', 'hostname': 'test.somewhere.www', 'resources': { 'cpus': 50, 'disk': 200, 'mem': 1000, }, 'attributes': { }, }, { 'id': 'test-slave2', 'hostname': 'test2.somewhere.www', 'resources': { 'cpus': 50, 'disk': 200, 'mem': 1000, }, 'attributes': { }, }, ], 'frameworks': [], } assert paasta_metastatus.assert_extra_attribute_data(fake_mesos_state)[1]
def test_assert_extra_attribute_data_slaves_no_attributes(): fake_mesos_state = { 'slaves': [ { 'id': 'test-slave', 'hostname': 'test.somewhere.www', 'resources': { 'cpus': 50, 'disk': 200, 'mem': 1000, }, 'attributes': {}, }, { 'id': 'test-slave2', 'hostname': 'test2.somewhere.www', 'resources': { 'cpus': 50, 'disk': 200, 'mem': 1000, }, 'attributes': {}, }, ], 'frameworks': [], } assert paasta_metastatus.assert_extra_attribute_data(fake_mesos_state)[1]
def test_assert_extra_attribute_data_slaves_no_attributes(): fake_mesos_state = { "slaves": [ { "id": "test-slave", "hostname": "test.somewhere.www", "resources": {"cpus": 50, "disk": 200, "mem": 1000}, "attributes": {}, }, { "id": "test-slave2", "hostname": "test2.somewhere.www", "resources": {"cpus": 50, "disk": 200, "mem": 1000}, "attributes": {}, }, ], "frameworks": [], } assert paasta_metastatus.assert_extra_attribute_data(fake_mesos_state)[1]
def test_get_mesos_habitat_data_nonhumanized(): mesos_state = { "slaves": [ { "id": "somenametest-slave", "hostname": "test.somewhere.www", "resources": {"cpus": 75, "disk": 250, "mem": 100}, "attributes": {"habitat": "somenametest-habitat"}, }, { "id": "somenametest-slave2", "hostname": "test2.somewhere.www", "resources": {"cpus": 500, "disk": 200, "mem": 750}, "attributes": {"habitat": "somenametest-habitat-2"}, }, ], "frameworks": [ { "tasks": [ { "slave_id": "somenametest-slave", "resources": {"cpus": 50, "disk": 100, "mem": 80, "something-bogus": 25}, } ] } ], "cluster": "fake_cluster", } expected_slave_output = """ Hostname CPU (free/total) RAM (free/total) Disk (free/total) test.somewhere.www 25.00/75.00 20.00/100.00 150.00/250.00 test2.somewhere.www 500.00/500.00 750.00/750.00 200.00/200.00""" expected_attribute_output = """ Habitat CPU (free/total) RAM (free/total) Disk (free/total) somenametest-habitat 25.00/75.00 20.00/100.00 150.00/250.00 somenametest-habitat-2 500.00/500.00 750.00/750.00 200.00/200.00""" extra_slave_data = paasta_metastatus.assert_extra_slave_data(mesos_state, humanize_output=False) extra_attribute_data = paasta_metastatus.assert_extra_attribute_data(mesos_state, humanize_output=False) assert extra_slave_data[0] == expected_slave_output assert extra_attribute_data[0] == expected_attribute_output
def test_assert_extra_attribute_data_no_slaves(): fake_mesos_state = {"slaves": [], "frameworks": [], "tasks": []} expected = "No mesos slaves registered on this cluster!" actual = paasta_metastatus.assert_extra_attribute_data(fake_mesos_state)[0] assert expected == actual.strip()
def test_assert_extra_attribute_data_no_slaves(): fake_mesos_state = {'slaves': [], 'frameworks': [], 'tasks': []} expected = 'No mesos slaves registered on this cluster!' actual = paasta_metastatus.assert_extra_attribute_data(fake_mesos_state)[0] assert expected == actual.strip()