예제 #1
0
파일: market.py 프로젝트: 0xDeX/two1-python
def _leave(client, network):
    """Join the given network.

    Args:
        client (two1.server.rest_client.TwentyOneRestClient) an object
            for sending authenticated requests to the TwentyOne
            backend
        network (str): the name of the network being joined. Defaults
        to 21market
    """
    # ensures the zerotier daemon is running
    zerotier.start_daemon()
    is_in_network = False
    for ntwk in zerotier.list_networks():
        if ntwk['name'] == network:
            is_in_network = True
            nwid = ntwk['nwid']
            break
    if not is_in_network:
        logger.info('not in network')
        return {'left': False, 'reason': 'not in network'}
    try:
        zerotier.leave_network(nwid)
        logger.info(uxstring.UxString.successful_leave.format(click.style(network, fg="magenta")))
        return {'left': True}
    except subprocess.CalledProcessError as e:
        logger.info(str(e))
        return {'left': False, 'reason': str(e)}
예제 #2
0
def _leave(client, network):
    """Join the given network.

    Args:
        client (two1.server.rest_client.TwentyOneRestClient) an object
            for sending authenticated requests to the TwentyOne
            backend
        network (str): the name of the network being joined. Defaults
        to 21market
    """
    # ensures the zerotier daemon is running
    zerotier.start_daemon()
    is_in_network = False
    for ntwk in zerotier.list_networks():
        if ntwk['name'] == network:
            is_in_network = True
            nwid = ntwk['nwid']
            break
    if not is_in_network:
        logger.info('not in network')
        return {'left': False, 'reason': 'not in network'}
    try:
        zerotier.leave_network(nwid)
        logger.info(
            uxstring.UxString.successful_leave.format(
                click.style(network, fg="magenta")))
        return {'left': True}
    except subprocess.CalledProcessError as e:
        logger.info(str(e))
        return {'left': False, 'reason': str(e)}
예제 #3
0
def test_leave_network(mock_cli, network_id, outcome):
    """ Ensures that a ValueError is reaised on invalid id """
    if isinstance(outcome, str):
        mock_cli.return_value = outcome
        assert zerotier.leave_network(network_id) == outcome
    else:
        with pytest.raises(outcome):
            zerotier.leave_network(network_id)
예제 #4
0
def test_leave_network(mock_cli, network_id, outcome):
    """ Ensures that a ValueError is reaised on invalid id """
    if isinstance(outcome, str):
        mock_cli.return_value = outcome
        assert zerotier.leave_network(network_id) == outcome
    else:
        with pytest.raises(outcome):
            zerotier.leave_network(network_id)