def test_invalid_file(self):
        with open(os.getcwd() + "/" + "sample.txt", "w+") as file:
            file.write(
                "395133768, 10212 BUCKEYE RD, Cleveland, Ohio, (41.48195701269418, -81.6138601319609)"
            )

        api_key = os.environ['FSF_API_KEY']
        fs = firststreet.FirstStreet(api_key)
        loc = fs.location.get_detail("sample.txt", "property", csv=True)
        assert len(loc) == 1

        os.remove(os.getcwd() + "/" + "sample.txt")
 def test_multi_type(self):
     api_key = os.environ['FSF_API_KEY']
     fs = firststreet.FirstStreet(api_key)
     loc = fs.location.get_detail([
         395133768, "10212 BUCKEYE RD, Cleveland, Ohio",
         (41.48195701269418, -81.6138601319609)
     ],
                                  "property",
                                  csv=True)
     assert len(loc) == 3
     assert loc[0].route == 'BUCKEYE RD'
     assert loc[1].route == 'BUCKEYE RD'
     assert loc[2].route == 'BUCKEYE RD'
Exemple #3
0
# Author: Kelvin Lai <*****@*****.**>
# Copyright: This module is owned by First Street Foundation

# Standard Imports
import os

# External Imports
import pytest

# Internal Imports
import firststreet
from firststreet.errors import InvalidArgument

api_key = os.environ['FSF_API_KEY']
fs = firststreet.FirstStreet(api_key)


class TestEnvironmentalEvent:
    def test_empty(self):
        with pytest.raises(InvalidArgument):
            fs.environmental.get_precipitation([], "")

    def test_wrong_fsid_type(self):
        with pytest.raises(InvalidArgument):
            fs.environmental.get_precipitation(19117)

    def test_invalid(self):
        fsid = [0000]
        environmental = fs.environmental.get_precipitation(fsid)
        assert len(environmental) == 1
        assert environmental[0].fsid == str(fsid[0])
Exemple #4
0
        if not argument.api_key:
            env_var_name = 'FSF_API_KEY'
            try:
                api_key = os.environ[env_var_name]
            except KeyError:
                logging.error("`{}` is not set as an Environmental Variable".format(env_var_name))
                sys.exit()
        else:
            api_key = argument.api_key

        limit = int(argument.connection_limit)
        rate_limit = int(argument.rate_limit)
        rate_period = int(argument.rate_period)

        fs = firststreet.FirstStreet(api_key, version=argument.version, connection_limit=limit,
                                     rate_limit=rate_limit, rate_period=rate_period,
                                     log=bool(strtobool(argument.log)))

        if argument.product == 'adaptation.get_detail':
            fs.adaptation.get_detail(search_items,
                                     csv=True,
                                     extra_param=argument.extra_param)

        elif argument.product == 'adaptation.get_summary':
            fs.adaptation.get_summary(search_items,
                                      argument.location,
                                      csv=True,
                                      extra_param=argument.extra_param)

        elif argument.product == 'adaptation.get_details_by_location':
            fs.adaptation.get_details_by_location(search_items,
Exemple #5
0
def test_full(tmpdir):
    api_key = os.environ['FSF_API_KEY']
    fs = firststreet.FirstStreet(api_key)
    fs.adaptation.get_detail([29], csv=True, output_dir=tmpdir)
    fs.adaptation.get_summary([395133768],
                              "property",
                              csv=True,
                              output_dir=tmpdir)
    fs.adaptation.get_summary([7924],
                              "neighborhood",
                              csv=True,
                              output_dir=tmpdir)
    fs.adaptation.get_summary([1935265], "city", csv=True, output_dir=tmpdir)
    fs.adaptation.get_summary([50158], "zcta", csv=True, output_dir=tmpdir)
    fs.adaptation.get_summary([39061007100],
                              "tract",
                              csv=True,
                              output_dir=tmpdir)
    fs.adaptation.get_summary([19047], "county", csv=True, output_dir=tmpdir)
    fs.adaptation.get_summary([3915], "cd", csv=True, output_dir=tmpdir)
    fs.adaptation.get_summary([39], "state", csv=True, output_dir=tmpdir)
    fs.adaptation.get_details_by_location([395133768],
                                          "property",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([7924],
                                          "neighborhood",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([1935265],
                                          "city",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([50158],
                                          "zcta",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([39061007100],
                                          "tract",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([19047],
                                          "county",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([3915],
                                          "cd",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.adaptation.get_details_by_location([39],
                                          "state",
                                          csv=True,
                                          output_dir=tmpdir)
    fs.probability.get_chance([390000257], csv=True, output_dir=tmpdir)
    fs.probability.get_count([7935],
                             'neighborhood',
                             csv=True,
                             output_dir=tmpdir)
    fs.probability.get_count([1959835], 'city', csv=True, output_dir=tmpdir)
    fs.probability.get_count([44203], 'zcta', csv=True, output_dir=tmpdir)
    fs.probability.get_count([39035103400],
                             'tract',
                             csv=True,
                             output_dir=tmpdir)
    fs.probability.get_count([39047], 'county', csv=True, output_dir=tmpdir)
    fs.probability.get_count([3904], 'cd', csv=True, output_dir=tmpdir)
    fs.probability.get_count([39], 'state', csv=True, output_dir=tmpdir)
    fs.probability.get_count_summary([394406220], csv=True, output_dir=tmpdir)
    fs.probability.get_cumulative([390000439], csv=True, output_dir=tmpdir)
    fs.probability.get_depth([390000227], csv=True, output_dir=tmpdir)
    fs.environmental.get_precipitation([39057], csv=True, output_dir=tmpdir)
    fs.historic.get_event([2], csv=True, output_dir=tmpdir)
    fs.historic.get_summary([511447411],
                            "property",
                            csv=True,
                            output_dir=tmpdir)
    fs.historic.get_summary([540225],
                            "neighborhood",
                            csv=True,
                            output_dir=tmpdir)
    fs.historic.get_summary([1982200], "city", csv=True, output_dir=tmpdir)
    fs.historic.get_summary([50156], "zcta", csv=True, output_dir=tmpdir)
    fs.historic.get_summary([19153004900],
                            "tract",
                            csv=True,
                            output_dir=tmpdir)
    fs.historic.get_summary([19163], "county", csv=True, output_dir=tmpdir)
    fs.historic.get_summary([1901], "cd", csv=True, output_dir=tmpdir)
    fs.historic.get_summary([39], "state", csv=True, output_dir=tmpdir)
    fs.historic.get_events_by_location([511447411],
                                       "property",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([540225],
                                       "neighborhood",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([1982200],
                                       "city",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([50156],
                                       "zcta",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([19153004900],
                                       "tract",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([19163],
                                       "county",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([1901],
                                       "cd",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.historic.get_events_by_location([39],
                                       "state",
                                       csv=True,
                                       output_dir=tmpdir)
    fs.location.get_detail([511447411],
                           "property",
                           csv=True,
                           output_dir=tmpdir)
    fs.location.get_detail([1206631],
                           "neighborhood",
                           csv=True,
                           output_dir=tmpdir)
    fs.location.get_detail([3915406], "city", csv=True, output_dir=tmpdir)
    fs.location.get_detail([44654], "zcta", csv=True, output_dir=tmpdir)
    fs.location.get_detail([39151712602], "tract", csv=True, output_dir=tmpdir)
    fs.location.get_detail([39077], "county", csv=True, output_dir=tmpdir)
    fs.location.get_detail([3904], "cd", csv=True, output_dir=tmpdir)
    fs.location.get_detail([39], "state", csv=True, output_dir=tmpdir)
    fs.location.get_summary([395112095],
                            "property",
                            csv=True,
                            output_dir=tmpdir)
    fs.location.get_summary([631054],
                            "neighborhood",
                            csv=True,
                            output_dir=tmpdir)
    fs.location.get_summary([3958002], "city", csv=True, output_dir=tmpdir)
    fs.location.get_summary([43935], "zcta", csv=True, output_dir=tmpdir)
    fs.location.get_summary([39153531702],
                            "tract",
                            csv=True,
                            output_dir=tmpdir)
    fs.location.get_summary([39027], "county", csv=True, output_dir=tmpdir)
    fs.location.get_summary([3903], "cd", csv=True, output_dir=tmpdir)
    fs.location.get_summary([39], "state", csv=True, output_dir=tmpdir)
    fs.fema.get_nfip([44074], "zcta", csv=True, output_dir=tmpdir)
    fs.fema.get_nfip([39013012300], "tract", csv=True, output_dir=tmpdir)
    fs.fema.get_nfip([39093], "county", csv=True, output_dir=tmpdir)
    fs.fema.get_nfip([39], "state", csv=True, output_dir=tmpdir)
 def test_invalid_call(self):
     api_key = os.environ['FSF_API_KEY']
     fs = firststreet.FirstStreet(api_key)
     with pytest.raises(InvalidArgument):
         fs.location.get_detail([392873515], "", csv=True)
 def test_valid_call(self):
     api_key = os.environ['FSF_API_KEY']
     fs = firststreet.FirstStreet(api_key)
     adap = fs.adaptation.get_detail([29], csv=False, connection_limit=100)
     assert len(adap) == 1
     assert adap[0].name == 'Riverfront Park'
 def test_vaid_key(self):
     api_key = os.environ['FSF_API_KEY']
     firststreet.FirstStreet(api_key)
 def test_invalid_key(self):
     with pytest.raises(MissingAPIKeyError):
         firststreet.FirstStreet("")
        # Try to get the API key either from env var or the parameter
        if not argument.api_key:
            env_var_name = 'FSF_API_KEY'
            try:
                api_key = os.environ[env_var_name]
            except KeyError:
                logging.error(
                    "`{}` is not set as an Environmental Variable".format(
                        env_var_name))
                sys.exit()
        else:
            api_key = argument.api_key

        fs = firststreet.FirstStreet(api_key,
                                     version=argument.version,
                                     log=bool(strtobool(argument.log)))

        limit = int(argument.connection_limit)

        if argument.product == 'adaptation.get_detail':
            fs.adaptation.get_detail(search_items,
                                     csv=True,
                                     connection_limit=limit,
                                     extra_param=argument.extra_param)

        elif argument.product == 'adaptation.get_summary':
            fs.adaptation.get_summary(search_items,
                                      argument.location,
                                      csv=True,
                                      connection_limit=limit,