示例#1
0
def on_intent(request, session, fake_redis=None):
    """ called on receipt of an Intent  """

    intent_name = request['intent']['name']

    # initialize our redis server if needed
    if cloudredis.REDIS_SERVER is None:
        cloudredis.initialize_cloud_redis(injected_server=fake_redis)

    # process the intents

    if intent_name == "AMAZON.HelpIntent":
        return get_help_response()
    elif intent_name == "AMAZON.StopIntent":
        return get_stop_response()
    elif intent_name == "AMAZON.CancelIntent":
        return get_stop_response()
    elif intent_name == "AMAZON.FallbackIntent":
        return get_fallback_response()
    elif intent_name == 'GetHome':
        return get_home_station(request, session)
    elif intent_name == 'SetHome':
        return set_home_station(request, session)
    elif intent_name == 'NextTrain':
        return next_train(request, session)

    log("Unrecognized intent! {0}".format(intent_name))
    return get_help_response()
示例#2
0
def on_intent(request, session):
    """ called on receipt of an Intent  """

    intent_name = request['intent']['name']

    # initialize our redis server if needed
    if cloudredis.REDIS_SERVER is None:
        cloudredis.initialize_cloud_redis(injected_server=None)

    # process the intents

    if intent_name == "GetTapListIntent":
        return get_taplist_response(request['intent'])
    elif intent_name == 'ListBreweries':
        return list_of_breweries_response()
    elif intent_name == 'SetHomeBrewery':
        return set_home_brewery(request, session)
    elif intent_name == 'GetHomeTapList':
        return get_home_brewery_taplist(request, session)
    elif intent_name == 'GetHomeBrewery':
        return get_home_brewery(request, session)
    elif intent_name == "AMAZON.HelpIntent":
        return get_help_response()
    elif intent_name == "AMAZON.StopIntent":
        return get_stop_response()
    elif intent_name == "AMAZON.CancelIntent":
        return get_stop_response()
    elif intent_name == "AMAZON.FallbackIntent":
        return get_fallback_response()

    return get_help_response()
示例#3
0
    def test_redis_cache_no_station_list(self):
        """verify on start that the station list is empty"""
        fake = fakeredis.FakeStrictRedis()
        cloudredis.initialize_cloud_redis(injected_server=fake)

        just_cached = cloudredis.station_list()
        assert not just_cached
示例#4
0
 def test_redis_cache_exists(self):
     """test can cache a station list and it is correct"""
     fake = fakeredis.FakeStrictRedis()
     cloudredis.initialize_cloud_redis(injected_server=fake)
     assert not cloudredis.exists('station_list')
     to_cache = {'CM': 'Chatham',
                 'NY': 'New York',
                 'SE': 'Secaucus'}
     cloudredis.cache_station_list(to_cache)
     assert cloudredis.exists('station_list')
     cached_list = cloudredis.station_list()
     assert cached_list == to_cache
示例#5
0
    def test_redis_cache_station_list(self):
        """verify we can cache a station list and get it back correctly"""
        fake = fakeredis.FakeStrictRedis()
        cloudredis.initialize_cloud_redis(injected_server=fake)
        to_cache = {'CM': 'Chatham',
                    'NY': 'New York',
                    'SE': 'Secaucus'}

        cloudredis.cache_station_list(to_cache)

        just_cached = cloudredis.station_list()
        assert just_cached
        assert isinstance(just_cached, dict)
        added, removed, modified, same = TestRedis.dict_compare(just_cached, just_cached)
        assert same
示例#6
0
    def test_no_beers():
        fake = fakeredis.FakeStrictRedis()
        cloudredis.initialize_cloud_redis(injected_server=fake)

        brewery_page = models.breweries.beerlist.BreweryPage(mocked=False)
        brewery_page._brewery_name = "NEIPA brewery"
        brewery_page._beer_list = models.breweries.beerlist.BeerList()
        brewery_page._cached_response = "bogus html page"

        beer = models.breweries.beerlist.Beer(name='Heady Topper NEIPA',
                                              style='New England Ale',
                                              abv='4.0%',
                                              hops='Citra, Cascade')
        ssml_taplist = brewery_page.ssml_taplist()
        assert ssml_taplist is not None
        assert 'no beers listed' in ssml_taplist
示例#7
0
    def test_IPA_style():
        """test that when IPA is in a beer style, it's handled properly"""
        fake = fakeredis.FakeStrictRedis()
        cloudredis.initialize_cloud_redis(injected_server=fake)

        brewery_page = models.breweries.beerlist.BreweryPage(mocked=False)
        brewery_page._brewery_name = "IPA brewery"
        brewery_page._beer_list = models.breweries.beerlist.BeerList()
        brewery_page._cached_response = "bogus html page"

        beer = models.breweries.beerlist.Beer(name='Sculpin',
                                              style='American IPA',
                                              abv='4.0%',
                                              hops='Citra, Cascade')
        brewery_page.add_beer(beer)
        ssml_taplist = brewery_page.ssml_taplist()
        assert ssml_taplist is not None
        assert '<say-as interpret-as="spell-out">IPA</say-as>' in ssml_taplist
示例#8
0
 def setUp(self):
     fake = fakeredis.FakeStrictRedis()
     cloudredis.initialize_cloud_redis(injected_server=fake)
     assert cloudredis.REDIS_SERVER == fake
     setuplogging.initialize_logging(True)
示例#9
0
 def test_redis_cache_not_exists(self):
     """test that if we ask for a non-existent key that it doesn't exist """
     fake = fakeredis.FakeStrictRedis()
     cloudredis.initialize_cloud_redis(injected_server=fake)
     assert not cloudredis.exists('bogus_key')
示例#10
0
 def test_redis_initialize_subsequent(self):
     """test setting of the global redis server"""
     cloudredis.REDIS_SERVER = 'foobar'
     cloudredis.initialize_cloud_redis(injected_server=None)
     assert cloudredis.REDIS_SERVER == 'foobar'
示例#11
0
 def test_redis_initialize(self):
     """test that when starting up, our redis server isn't set"""
     cloudredis.REDIS_SERVER = None
     cloudredis.initialize_cloud_redis(injected_server=None)
     assert cloudredis.REDIS_SERVER
示例#12
0
 def test_redis_initialize_fake(self):
     """test that we can set the fake redis server"""
     fake = fakeredis.FakeStrictRedis()
     cloudredis.initialize_cloud_redis(injected_server=fake)
     assert cloudredis.REDIS_SERVER == fake
示例#13
0
 def test_redis_initialize(self):
     fake = fakeredis.FakeStrictRedis()
     cloudredis.initialize_cloud_redis(injected_server=fake)
     assert cloudredis.REDIS_SERVER == fake