def test_return_types(attr_name, attr_type):
    """Проверяем типы"""
    net = task_9_1.IPv4Network("100.7.1.0/26")
    attr_value = getattr(net, attr_name)
    assert type(attr_value) == attr_type, (
        f"По заданию в атрибуте {attr_name} должно быть значение типа {attr_type},"
        f" а в нем {type(attr_value).__name__}")
def test_methods_created():
    """
    Проверяем, что у объекта есть нужные методы
    """
    net = task_9_1.IPv4Network("100.7.1.0/26")
    check_attr_or_method(net, method="allocate_ip")
    check_attr_or_method(net, method="free_ip")
def test_methods_created():
    """
    Проверяем, что у объекта есть методы:
        _ping, scan
    """
    scan_net = task_9_2.PingNetwork(task_9_1.IPv4Network("8.8.4.0/29"))
    check_attr_or_method(scan_net, method="_ping")
    check_attr_or_method(scan_net, method="scan")
Esempio n. 4
0
def test_methods_created():
    '''
    Проверяем, что у объекта есть методы:
        _ping, scan
    '''
    scan_net = task_9_2.PingNetwork(task_9_1.IPv4Network('8.8.4.0/29'))
    check_attr_or_method(scan_net, method='_ping')
    check_attr_or_method(scan_net, method='scan')
Esempio n. 5
0
def test_methods_created():
    '''
    Проверяем, что у объекта есть методы:
        allocate, unassigned
    '''
    net = task_9_1.IPv4Network('100.7.1.0/26')
    check_attr_or_method(net, method='allocate')
    check_attr_or_method(net, method='unassigned')
def test_methods_created():
    """
    Проверяем, что у объекта есть методы:
        allocate, unassigned
    """
    net = task_9_1.IPv4Network("100.7.1.0/26")
    check_attr_or_method(net, method="allocate")
    check_attr_or_method(net, method="unassigned")
def test_attr_values():
    """Проверяем работу объекта"""
    net = task_9_1.IPv4Network("100.7.1.0/26", gw="100.7.1.1")
    assert len(net.hosts) == 62, "В данной сети должно быть 62 хоста"
    assert net.broadcast == "100.7.1.63", "Broadcast адрес для этой сети 100.7.1.63"
    assert len(net.allocated
               ) == 1, "Переменная allocated должна содержать 1 хост - gw"
    assert (
        len(net.unassigned) == 61
    ), "Переменная unassigned должна возвращать на 1 хост меньше, чем hosts"
def test_attributes_created():
    """
    Проверяем, что у объекта есть нужные атрибуты
    """
    net = task_9_1.IPv4Network("100.7.1.0/26", gw="100.7.1.1")
    check_attr_or_method(net, attr="network")
    check_attr_or_method(net, attr="gw")
    check_attr_or_method(net, attr="broadcast")
    check_attr_or_method(net, attr="allocated")
    check_attr_or_method(net, attr="unassigned")
    check_attr_or_method(net, attr="hosts")
Esempio n. 9
0
def test_attributes_created():
    '''
    Проверяем, что у объекта есть атрибуты:
        address, mask, broadcast, allocated
    '''
    net = task_9_1.IPv4Network('100.7.1.0/26')
    check_attr_or_method(net, attr='address')
    check_attr_or_method(net, attr='mask')
    check_attr_or_method(net, attr='broadcast')
    check_attr_or_method(net, attr='allocated')
    assert net.allocated == tuple(
    ), "По умолчанию allocated должен содержать пустой кортеж"
def test_attributes_created():
    """
    Проверяем, что у объекта есть атрибуты:
        address, mask, broadcast, allocated
    """
    net = task_9_1.IPv4Network("100.7.1.0/26")
    check_attr_or_method(net, attr="address")
    check_attr_or_method(net, attr="mask")
    check_attr_or_method(net, attr="broadcast")
    check_attr_or_method(net, attr="allocated")
    assert (net.allocated == tuple()
            ), "По умолчанию allocated должен содержать пустой кортеж"
def test_exceptions():
    """Проверяем работу объекта"""
    net = task_9_1.IPv4Network("100.7.1.0/26", gw="100.7.1.1")
    net.allocate_ip("100.7.1.45")
    with pytest.raises(ValueError):
        # allocate_ip тот же адрес второй раз
        net.allocate_ip("100.7.1.45")
    with pytest.raises(ValueError):
        # адрес не из сети 100.7.1.0/26
        net.allocate_ip("100.7.1.253")
    net.free_ip("100.7.1.45")
    with pytest.raises(ValueError):
        # free_ip тот же адрес второй раз
        net.free_ip("100.7.1.45")
Esempio n. 12
0
def test_address_allocation():
    '''Проверяем работу объекта'''
    net = task_9_1.IPv4Network('100.7.1.0/26')
    assert len(net.hosts()) == 62, "В данной сети должно быть 62 хоста"
    assert net.broadcast == '100.7.1.63', "Broadcast адрес для этой сети 100.7.1.63"

    net.allocate('100.7.1.45')
    net.allocate('100.7.1.15')
    net.allocate('100.7.1.60')

    assert len(net.hosts()) == 62, "Метод hosts должен возвращать все хосты"
    assert len(
        net.allocated) == 3, "Переменная allocated должна содержать 3 хоста"
    assert len(net.unassigned()
               ) == 59, "Метод unassigned должен возвращать на 3 хоста меньше"
Esempio n. 13
0
def test_class():
    '''Проверяем работу объекта'''
    list_of_ips = ['8.8.4.2', '8.8.4.4', '8.8.4.6']
    correct_return_value = get_reach_unreach(list_of_ips)

    net1 = task_9_1.IPv4Network('8.8.4.0/29')
    net1.allocate('8.8.4.2')
    net1.allocate('8.8.4.4')
    net1.allocate('8.8.4.6')

    scan_net = task_9_2.PingNetwork(net1)
    assert scan_net._ping('8.8.4.4') in (
        True, False), "Метод _ping должен возвращать True или False"
    return_value = scan_net.scan()
    assert return_value != None, "Функция ничего не возвращает"
    assert type(return_value) == tuple and all(
        type(item) == list for item in
        return_value), "Метод scan должен возвращать кортеж с двумя списками"
    assert return_value == correct_return_value, "Функция возвращает неправильное значение"
def test_address_allocation():
    """Проверяем работу объекта"""
    net = task_9_1.IPv4Network("100.7.1.0/26", gw="100.7.1.1")
    net.allocate_ip("100.7.1.45")
    net.allocate_ip("100.7.1.15")
    net.allocate_ip("100.7.1.60")

    assert len(net.hosts) == 62, "Метод hosts должен возвращать все хосты"
    assert len(
        net.allocated) == 4, "Переменная allocated должна содержать 4 хоста"
    assert (
        len(net.unassigned) == 58
    ), "Переменная unassigned должна возвращать на 4 хоста меньше, чем hosts"

    net.free_ip("100.7.1.45")
    net.free_ip("100.7.1.60")
    assert len(
        net.allocated) == 2, "Переменная allocated должна содержать 2 хоста"
    assert (
        len(net.unassigned) == 60
    ), "Переменная unassigned должна возвращать на 2 хоста меньше, чем hosts"
Esempio n. 15
0
def test_class():
    """Проверяем работу объекта"""
    list_of_ips = ["8.8.4.2", "8.8.4.4", "8.8.4.6"]
    correct_return_value = get_reach_unreach(list_of_ips)

    net1 = task_9_1.IPv4Network("8.8.4.0/29")
    net1.allocate_ip("8.8.4.2")
    net1.allocate_ip("8.8.4.4")
    net1.allocate_ip("8.8.4.6")

    scan_net = task_9_2.PingNetwork(net1)
    assert scan_net._ping("8.8.4.4") in (
        True,
        False,
    ), "Метод _ping должен возвращать True или False"
    return_value = scan_net.scan()
    assert return_value != None, "Функция ничего не возвращает"
    assert type(return_value) == tuple and all(
        type(item) == list for item in return_value
    ), "Метод scan должен возвращать кортеж с двумя списками"
    reach, unreach = return_value
    assert (
        (sorted(reach), sorted(unreach)) == correct_return_value
    ), "Функция возвращает неправильное значение"
Esempio n. 16
0
def test_return_types():
    '''Проверяем работу объекта'''
    net = task_9_1.IPv4Network('100.7.1.0/26')
    assert type(net.hosts()) == tuple, "Метод hosts должен возвращать кортеж"
    assert type(
        net.unassigned()) == tuple, "Метод unassigned должен возвращать кортеж"