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_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_slave_data_no_slaves():
    fake_mesos_state = {"slaves": [], "frameworks": [], "tasks": []}
    expected = "No mesos slaves registered on this cluster!"
    actual = paasta_metastatus.assert_extra_slave_data(fake_mesos_state)[0]
    assert expected == actual.strip()
Esempio n. 4
0
def test_assert_extra_slave_data_no_slaves():
    fake_mesos_state = {'slaves': [], 'frameworks': [], 'tasks': []}
    expected = 'No mesos slaves registered on this cluster!'
    actual = paasta_metastatus.assert_extra_slave_data(fake_mesos_state)[0]
    assert expected == actual.strip()