test_sr_client_nict.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 # -*- coding: utf-8 -*-
00003 
00004 PKG_NAME = 'rospeex_core'
00005 
00006 try:
00007     import roslib; roslib.load_manifest(PKG_NAME)
00008 except:
00009     pass
00010 
00011 import os
00012 import logging
00013 import unittest
00014 import ConfigParser
00015 
00016 from nose.tools import eq_, raises, nottest
00017 from rospeex_core.sr.client_nict import SpeechRecognitionClient_NICT
00018 from rospeex_core.exceptions import InvalidRequestException
00019 from rospeex_core.exceptions import RequestTimeoutException
00020 from rospeex_core.exceptions import ParameterException
00021 from rospeex_core.exceptions import UnsupportedLanguageException
00022 
00023 
00024 # set logging
00025 logger = logging.getLogger(__name__)
00026 logger.setLevel(logging.DEBUG)
00027 formatter = logging.Formatter('%(asctime)s:%(levelname)s:%(filename)s:%(lineno)d:%(message)s')
00028 ch = logging.StreamHandler()
00029 ch.setFormatter(formatter)
00030 logger.addHandler(ch)
00031 
00032 
00033 class TestSpeechRecognitionClient_NICT(unittest.TestCase):
00034     def setUp(self):
00035         base_dir = os.path.dirname(__file__)
00036         filename = os.path.join(base_dir, 'config.cfg')
00037         settings = ConfigParser.ConfigParser()
00038         settings.read(filename)
00039         self.flac_file = os.path.join(base_dir, settings.get('SpeechRecognition', 'flac_file'))
00040         self.broken_wav_file = os.path.join(base_dir, settings.get('SpeechRecognition', 'broken_wav_file'))
00041         self.wav_file = os.path.join(base_dir, settings.get('SpeechRecognition', 'wav_file'))
00042 
00043 
00044     @raises(ParameterException)
00045     def test_request_invalid_audio_format_flac(self):
00046         request_data = open(self.flac_file, 'rb').read()
00047         client = SpeechRecognitionClient_NICT()
00048         client.request(request_data)
00049 
00050 
00051     @raises(ParameterException)
00052     def test_request_invalid_audio_format_broken_wav(self):
00053         language = 'ja'
00054         request_data = open(self.broken_wav_file, 'rb').read()
00055         client = SpeechRecognitionClient_NICT()
00056         client.request(data=request_data, language=language)
00057 
00058 
00059     @raises(ParameterException)
00060     def test_request_invalid_language(self):
00061         language = 'hoge'
00062         request_data = open(self.wav_file, 'rb').read()
00063         client = SpeechRecognitionClient_NICT()
00064         client.request(data=request_data, language=language)
00065 
00066 
00067     @raises(RequestTimeoutException)
00068     def test_request_invalid_request_timeout(self):
00069         language = 'ja'
00070         request_data = open(self.wav_file, 'rb').read()
00071         client = SpeechRecognitionClient_NICT()
00072         client.request(data=request_data, language=language, timeout=1)
00073 
00074 
00075     def test_request_valid_language(self):
00076         for language in SpeechRecognitionClient_NICT.LANGUAGES:
00077             request_data = open(self.wav_file, 'rb').read()
00078             client = SpeechRecognitionClient_NICT()
00079             msg = client.request(data=request_data, language=language)
00080             logger.info(msg)
00081 
00082 
00083 if __name__ == '__main__':
00084     import rosunit
00085     test_class = TestSpeechRecognitionClient_NICT
00086     rosunit.unitrun(PKG_NAME, 'speech_recognition_client_nict', test_class, None, coverage_packages=['rospeex.sr'])


rospeex_core
Author(s): Komei Sugiura
autogenerated on Wed Aug 26 2015 16:10:30