diff options
author | wangqi <wangq.fnst@cn.fujitsu.com> | 2021-04-03 10:39:59 +0800 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2021-11-03 15:11:21 +0100 |
commit | 19d6e286e192010f0d62021211ba6985165e12fc (patch) | |
tree | 96bae212e8232a980dd9b3ffd866bdfe852240a9 | |
parent | af36a41a12ea89275ccc36590fb25693f04e1153 (diff) |
Add testcase of agl-service-mediaplayer
Bug-AGL: SPEC-4042
Signed-off-by: wangqi <wangq.fnst@cn.fujitsu.com>
Change-Id: I1a4f10a24fee0fc3d7d2e221c4a64c9bbe21c08e
-rw-r--r-- | pyagl/pytest.ini | 1 | ||||
-rw-r--r-- | pyagl/tests/test_mediaplayer.py | 70 |
2 files changed, 71 insertions, 0 deletions
diff --git a/pyagl/pytest.ini b/pyagl/pytest.ini index 8794024..83d1f53 100644 --- a/pyagl/pytest.ini +++ b/pyagl/pytest.ini @@ -14,6 +14,7 @@ markers = gps: agl-service-gps tests homescreen: agl-service-homescreen tests mediascanner: agl-service-mediascanner tests + mediaplayer: agl-service-mediaplayer tests network: agl-service-network tests nfc: agl-service-nfc tests radio: agl-service-radio tests diff --git a/pyagl/tests/test_mediaplayer.py b/pyagl/tests/test_mediaplayer.py new file mode 100644 index 0000000..db2d069 --- /dev/null +++ b/pyagl/tests/test_mediaplayer.py @@ -0,0 +1,70 @@ +# Copyright (C) 2021 Fujitsu +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import asyncio +import os +import pytest +import logging +from pyagl.services.base import AFBResponse, AFBT + +from pyagl.services.mediaplayer import MediaPlayerService as mps +pytestmark = [pytest.mark.asyncio, pytest.mark.mediaplayer] + + +@pytest.fixture(scope='module') +def event_loop(): + loop = asyncio.get_event_loop() + yield loop + +@pytest.fixture(scope='module') +async def service(): + address = os.environ.get('AGL_TGT_IP', 'localhost') + port = os.environ.get('AGL_TGT_PORT', None) + svc = await mps(ip=address, port=port) + yield svc + await svc.websocket.close() + + +async def test_playlist_verb(event_loop, service: mps): + msgid = await service.playlist() + resp = await service.afbresponse() + assert resp.status == 'success' + + +async def test_control_play(event_loop, service: mps): + msgid = await service.control(name='play') + resp = await service.afbresponse() + assert resp.status == 'success' + + +async def test_control_pause(event_loop, service: mps): + msgid = await service.control(name='pause') + resp = await service.afbresponse() + assert resp.status == 'success' + + +async def test_subscribe_verb(event_loop, service: mps): + msgid = await service.subscribe('playlist') + resp = await service.afbresponse() + assert resp.status == 'success' + event = await service.afbresponse() + assert event.type == AFBT.EVENT + assert event.api == f'{service.api}/playlist' + + +async def test_unsubscribe_verb(event_loop, service: mps): + msgid = await service.unsubscribe('playlist') + resp = await service.afbresponse() + assert resp.status == 'success' + |