示例#1
0
def test_prepareHostConfig(settings, detectSystemDevices):
    """
    Test paradrop.lib.config.hostconfig.prepareHostConfig
    """
    from paradrop.lib.config.hostconfig import prepareHostConfig

    devices = {
        'wan': [{'name': 'eth0'}],
        'lan': list(),
        'wifi': list()
    }
    detectSystemDevices.return_value = devices

    source = tempfile.NamedTemporaryFile(delete=True)
    source.write("{test: value}")
    source.flush()

    settings.HOST_CONFIG_PATH = source.name

    config = prepareHostConfig()
    assert config['test'] == 'value'

    with patch("paradrop.lib.config.hostconfig.yaml") as yaml:
        yaml.safe_load.side_effect = IOError()
        yaml.safe_dump.return_value = "{test: value}"

        config = prepareHostConfig()
        assert config['wan']['interface'] == 'eth0'

        # Now simulate failure to write to file.
        yaml.safe_dump.side_effect = IOError()
        assert_raises(Exception, prepareHostConfig)
示例#2
0
 def getConfig(self, pdid):
     config = hostconfig.prepareHostConfig()
     result = json.dumps(config, separators=(',',':'))
     return result