Пример #1
0
def test_choose_tls_port_under_netns(mocker, capsys):
    mocker.patch('builtins.open')
    setns_mock = mocker.patch('mount_efs.setns', return_value=(None, None))
    mocker.patch('socket.socket', return_value=MagicMock())
    options = {'netns': '/proc/1000/ns/net'}

    mount_efs.choose_tls_port(_get_config(), options)
    utils.assert_called(setns_mock)
Пример #2
0
def test_choose_tls_port_never_succeeds(mocker, capsys):
    bad_sock = MagicMock()
    bad_sock.bind.side_effect = socket.error()

    mocker.patch('socket.socket', return_value=bad_sock)

    with pytest.raises(SystemExit) as ex:
        mount_efs.choose_tls_port(_get_config())

    assert 0 != ex.value.code

    out, err = capsys.readouterr()
    assert 'Failed to locate an available port' in err

    assert DEFAULT_TLS_PORT_RANGE_HIGH - DEFAULT_TLS_PORT_RANGE_LOW == bad_sock.bind.call_count
Пример #3
0
def test_choose_tls_port_option_specified_unavailable(mocker, capsys):
    bad_sock = MagicMock()
    bad_sock.bind.side_effect = socket.error()
    options = {'tlsport': 1000}

    mocker.patch('socket.socket', return_value=bad_sock)

    with pytest.raises(SystemExit) as ex:
        mount_efs.choose_tls_port(_get_config(), options)

    assert 0 != ex.value.code

    out, err = capsys.readouterr()
    assert 'Specified port [1000] is unavailable' in err

    assert 1 == bad_sock.bind.call_count
Пример #4
0
def test_choose_tls_port_option_specified(mocker):
    mocker.patch('socket.socket', return_value=MagicMock())
    options = {'tlsport': 1000}

    tls_port = mount_efs.choose_tls_port(_get_config(), options)

    assert 1000 == tls_port
Пример #5
0
def test_choose_tls_port_first_try(mocker):
    mocker.patch('socket.socket', return_value=MagicMock())
    options = {}

    tls_port = mount_efs.choose_tls_port(_get_config(), options)

    assert DEFAULT_TLS_PORT_RANGE_LOW <= tls_port <= DEFAULT_TLS_PORT_RANGE_HIGH
Пример #6
0
def test_choose_tls_port_second_try(mocker):
    bad_sock = MagicMock()
    bad_sock.bind.side_effect = [socket.error, None]

    mocker.patch('socket.socket', return_value=bad_sock)

    tls_port = mount_efs.choose_tls_port(_get_config())

    assert DEFAULT_TLS_PORT_RANGE_LOW <= tls_port <= DEFAULT_TLS_PORT_RANGE_HIGH
    assert 2 == bad_sock.bind.call_count