示例#1
0
def test_cli_about_coverage(capsys):

    sys.argv = ["wetterdienst", "dwd", "about", "coverage"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = stdout
    assert "minute_1" in response
    assert "precipitation" in response
示例#2
0
def test_cli_radar_stations_dwd(capsys):

    sys.argv = ["wetterdienst", "dwd", "radar", "stations"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = json.loads(stdout)
    assert isinstance(response, list)
    assert len(response) == 20
示例#3
0
def test_cli_radar_stations_opera(capsys):

    sys.argv = ["wetterdienst", "radar", "stations", "--odim-code=ukdea"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = json.loads(stdout)
    assert isinstance(response, dict)
    assert response["location"] == "Dean Hill"
示例#4
0
def test_cli_about_periods(capsys):

    sys.argv = ["wetterdienst", "dwd", "about", "periods"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = stdout
    assert "historical" in response
    assert "recent" in response
    assert "now" in response
示例#5
0
def test_cli_about_resolutions(capsys):

    sys.argv = ["wetterdienst", "dwd", "about", "resolutions"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = stdout
    assert "1_minute" in response
    assert "hourly" in response
    assert "annual" in response
示例#6
0
def test_cli_about_parameters(capsys):

    sys.argv = ["wetterdienst", "dwd", "about", "parameters"]
    cli.run()
    stdout, stderr = capsys.readouterr()

    response = stdout
    assert "precipitation" in response
    assert "air_temperature" in response
    assert "weather_phenomena" in response
示例#7
0
def test_cli_help():

    with pytest.raises(docopt.DocoptExit) as excinfo:
        cli.run()

    response = str(excinfo.value)
    assert "wetterdienst dwd observation stations" in response
    assert "wetterdienst dwd observation values" in response
    assert "wetterdienst dwd forecast stations" in response
    assert "wetterdienst dwd forecast values" in response
    assert "wetterdienst dwd about" in response
示例#8
0
def invoke_wetterdienst_stations_empty(setting, fmt="json"):
    argv = shlex.split(
        f"wetterdienst dwd {setting} --station=123456 --format={fmt}")
    sys.argv = argv
    cli.run()
示例#9
0
def invoke_wetterdienst_values_geo(setting, fmt="json"):
    argv = shlex.split(
        f"wetterdienst dwd {setting} --latitude=51.1280 --longitude=13.7543 --rank=5 "
        f"--format={fmt}")
    sys.argv = argv
    cli.run()
示例#10
0
def invoke_wetterdienst_values_static_tidy(setting, station, fmt="json"):
    argv = shlex.split(
        f"wetterdienst dwd {setting} --station={station} --format={fmt} --tidy"
    )
    sys.argv = argv
    cli.run()
示例#11
0
def invoke_wetterdienst_values_export(setting, station, target):
    argv = shlex.split(
        f"wetterdienst dwd {setting} --station={station} --target={target}")
    sys.argv = argv
    cli.run()