コード例 #1
0
ファイル: test_app.py プロジェクト: Anhmike/alexandra
def test_intent_withargs():
    app = Application()

    @app.intent('Foo')
    def foo(slots, session):
        assert slots.get('fizz') == 'buzz'
        assert session.get('foo') == 'bar'

        return 'foo'

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    assert app.dispatch_request(_intent('Foo', slots, session)) == 'foo'
コード例 #2
0
def test_intent_withargs():
    app = Application()

    @app.intent('Foo')
    def foo(slots, session):
        assert slots.get('fizz') == 'buzz'
        assert session.get('foo') == 'bar'

        return 'foo'

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    assert app.dispatch_request(_intent('Foo', slots, session)) == 'foo'
コード例 #3
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_launch_request():
    app = Application()

    @app.launch
    def launch(sesh):
        assert sesh.get('fizz') == 'buzz'
        return 123

    sesh = {'attributes': {'fizz': 'buzz'}}
    assert app.dispatch_request(_request('LaunchRequest', sesh)) == 123

    @app.launch
    def launch_no_session(sesh):
        assert sesh is None
        return 456

    assert app.dispatch_request(_request('LaunchRequest')) == 456
コード例 #4
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_intent_badargs():
    app = Application()

    with pytest.raises(ValueError):

        @app.intent('Foo')
        def bad_intent_handler(a, b, c, d, e, f):
            pass
コード例 #5
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_intent_withargs_id():
    app = Application()

    @app.intent('Bar')
    def bar(slots, ids, session):
        assert slots.get('fizz') == 'buzz'
        assert ids.get('fizz') == 'BUZZ'
        assert session.get('foo') == 'bar'

        return 'bar'

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    ids = {'fizz': 'BUZZ', 'ab': 'CD'}
    session = {'attributes': {'foo': 'bar'}}

    assert app.dispatch_request(
        _intent('Bar', slots=slots, ids=ids, session=session)) == 'bar'
コード例 #6
0
ファイル: test_app.py プロジェクト: Anhmike/alexandra
def test_intent_noargs():
    app = Application()

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    @app.intent('Foo')
    def foo():
        return 'foo'

    @app.intent('Bar')
    def bar():
        return 'bar'

    assert app.dispatch_request(_intent('Foo')) == 'foo'
    assert app.dispatch_request(_intent('Foo', slots, session)) == 'foo'
    assert app.dispatch_request(_intent('Bar')) == 'bar'
コード例 #7
0
ファイル: test_app.py プロジェクト: Anhmike/alexandra
def test_launch_request():
    app = Application()

    @app.launch
    def launch(sesh):
        assert sesh.get('fizz') == 'buzz'
        return 123

    sesh = {'attributes': {'fizz': 'buzz'}}
    assert app.dispatch_request(_request('LaunchRequest', sesh)) == 123

    @app.launch
    def launch_no_session(sesh):
        assert sesh is None
        return 456

    assert app.dispatch_request(_request('LaunchRequest')) == 456
コード例 #8
0
def test_intent_noargs():
    app = Application()

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    @app.intent('Foo')
    def foo():
        return 'foo'

    @app.intent('Bar')
    def bar():
        return 'bar'

    assert app.dispatch_request(_intent('Foo')) == 'foo'
    assert app.dispatch_request(_intent('Foo', slots, session)) == 'foo'
    assert app.dispatch_request(_intent('Bar')) == 'bar'
コード例 #9
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_sanity():
    '''If this fails the sky is falling.'''
    app = Application()

    assert app.dispatch_request(
        _request('LaunchRequest')) == app.launch_fn(None)
    assert app.dispatch_request(_intent('Foo')) == app.unknown_intent_fn(
        None, None)
    assert app.dispatch_request(
        _request('SessionEndedRequest')) == app.session_end_fn()
コード例 #10
0
ファイル: test_app.py プロジェクト: Anhmike/alexandra
def test_sanity():
    '''If this fails the sky is falling.'''
    app = Application()

    assert app.dispatch_request(_request('LaunchRequest')) == app.launch_fn(None)
    assert app.dispatch_request(_intent('Foo')) == app.unknown_intent_fn(None, None)
    assert app.dispatch_request(_request('SessionEndedRequest')) == app.session_end_fn()
コード例 #11
0
ファイル: test_app.py プロジェクト: Anhmike/alexandra
def test_unknown_intent_handler():
    app = Application()

    @app.unknown_intent
    def unknown_handler_no_args():
        return 'foo'

    assert app.dispatch_request(_intent('What?')) == 'foo'

    @app.unknown_intent
    def unknown_handler_with_args(slots, session):
        assert slots.get('fizz') == 'buzz'
        assert session.get('foo') == 'bar'

        return 'bar'

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    assert app.dispatch_request(_intent('What?', slots, session)) == 'bar'
コード例 #12
0
def test_unknown_intent_handler():
    app = Application()

    @app.unknown_intent
    def unknown_handler_no_args():
        return 'foo'

    assert app.dispatch_request(_intent('What?')) == 'foo'

    @app.unknown_intent
    def unknown_handler_with_args(slots, session):
        assert slots.get('fizz') == 'buzz'
        assert session.get('foo') == 'bar'

        return 'bar'

    slots = {'fizz': 'buzz', 'ab': 'cd'}
    session = {'attributes': {'foo': 'bar'}}

    assert app.dispatch_request(_intent('What?', slots, session)) == 'bar'
コード例 #13
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_intent_withargs_id_no_match():
    app = Application()

    @app.intent('Bar')
    def bar(slots, ids, session, context):
        assert slots.get('fizz') == 'buzz'
        assert ids.get('ER_SUCCESS_NO_MATCH') == 'buzz'
        assert session.get('foo') == 'bar'
        assert context.get('baz') == 'BAZ'

        return 'bar'

    slots = {'fizz': 'buzz'}
    ids = {'fizz': 'buzz'}
    session = {'attributes': {'foo': 'bar'}}
    context = {'baz': 'BAZ'}

    assert app.dispatch_request(
        _intent_no_match('Bar',
                         slots=slots,
                         ids=ids,
                         session=session,
                         context=context)) == 'bar'
コード例 #14
0
ファイル: test_app.py プロジェクト: DasBasti/alexandra
def test_unknown_request_type():
    with pytest.raises(ValueError):
        Application().dispatch_request(_request(req_type='something bad'))