Search in sources :

Example 1 with AudioSourceStub

use of org.eclipse.smarthome.core.voice.internal.AudioSourceStub in project smarthome by eclipse.

the class VoiceManagerTest method setUp.

@Before
public void setUp() throws IOException {
    voiceManager = getService(VoiceManager.class, VoiceManagerImpl.class);
    assertNotNull(voiceManager);
    BundleContext context = bundleContext;
    ttsService = new TTSServiceStub(context);
    sink = new SinkStub();
    voice = new VoiceStub();
    source = new AudioSourceStub();
    registerService(sink);
    registerService(voice);
    Dictionary<String, Object> voiceConfig = new Hashtable<String, Object>();
    voiceConfig.put(CONFIG_DEFAULT_TTS, ttsService.getId());
    ConfigurationAdmin configAdmin = super.getService(ConfigurationAdmin.class);
    Configuration configuration = configAdmin.getConfiguration(PID);
    configuration.update(voiceConfig);
    audioManager = new AudioManagerStub();
    registerService(audioManager);
}
Also used : VoiceManagerImpl(org.eclipse.smarthome.core.voice.internal.VoiceManagerImpl) Configuration(org.osgi.service.cm.Configuration) TTSServiceStub(org.eclipse.smarthome.core.voice.internal.TTSServiceStub) AudioSourceStub(org.eclipse.smarthome.core.voice.internal.AudioSourceStub) Hashtable(java.util.Hashtable) SinkStub(org.eclipse.smarthome.core.voice.internal.SinkStub) VoiceStub(org.eclipse.smarthome.core.voice.internal.VoiceStub) ConfigurationAdmin(org.osgi.service.cm.ConfigurationAdmin) AudioManagerStub(org.eclipse.smarthome.core.voice.internal.AudioManagerStub) VoiceManager(org.eclipse.smarthome.core.voice.VoiceManager) BundleContext(org.osgi.framework.BundleContext) Before(org.junit.Before)

Example 2 with AudioSourceStub

use of org.eclipse.smarthome.core.voice.internal.AudioSourceStub in project smarthome by eclipse.

the class VoiceManagerTest method verifyThatADialogIsNotStartedWhenAnyOfTheRequiredServiceIsNull.

@Test
public void verifyThatADialogIsNotStartedWhenAnyOfTheRequiredServiceIsNull() {
    sttService = new STTServiceStub();
    ksService = new KSServiceStub();
    ttsService = null;
    hliStub = new HumanLanguageInterpreterStub();
    source = new AudioSourceStub();
    exception.expect(IllegalStateException.class);
    voiceManager.startDialog(ksService, sttService, ttsService, hliStub, source, sink, Locale.getDefault(), "word", null);
    assertFalse(ksService.isWordSpotted());
}
Also used : AudioSourceStub(org.eclipse.smarthome.core.voice.internal.AudioSourceStub) HumanLanguageInterpreterStub(org.eclipse.smarthome.core.voice.internal.HumanLanguageInterpreterStub) STTServiceStub(org.eclipse.smarthome.core.voice.internal.STTServiceStub) KSServiceStub(org.eclipse.smarthome.core.voice.internal.KSServiceStub) JavaOSGiTest(org.eclipse.smarthome.test.java.JavaOSGiTest) Test(org.junit.Test)

Example 3 with AudioSourceStub

use of org.eclipse.smarthome.core.voice.internal.AudioSourceStub in project smarthome by eclipse.

the class VoiceManagerTest method startDialogAndVerifyThatAKSExceptionIsProperlyHandled.

@Test
public void startDialogAndVerifyThatAKSExceptionIsProperlyHandled() {
    sttService = new STTServiceStub();
    ksService = new KSServiceStub();
    ttsService = new TTSServiceStub();
    hliStub = new HumanLanguageInterpreterStub();
    source = new AudioSourceStub();
    registerService(sttService);
    registerService(ksService);
    registerService(ttsService);
    registerService(hliStub);
    registerService(source);
    ksService.setIsKsExceptionExpected(true);
    voiceManager.startDialog(ksService, sttService, ttsService, hliStub, source, sink, null, "", null);
    assertFalse(ksService.isWordSpotted());
}
Also used : TTSServiceStub(org.eclipse.smarthome.core.voice.internal.TTSServiceStub) AudioSourceStub(org.eclipse.smarthome.core.voice.internal.AudioSourceStub) HumanLanguageInterpreterStub(org.eclipse.smarthome.core.voice.internal.HumanLanguageInterpreterStub) STTServiceStub(org.eclipse.smarthome.core.voice.internal.STTServiceStub) KSServiceStub(org.eclipse.smarthome.core.voice.internal.KSServiceStub) JavaOSGiTest(org.eclipse.smarthome.test.java.JavaOSGiTest) Test(org.junit.Test)

Example 4 with AudioSourceStub

use of org.eclipse.smarthome.core.voice.internal.AudioSourceStub in project smarthome by eclipse.

the class VoiceManagerTest method startDialogWithoutPassingAnyParameters.

@Test
public void startDialogWithoutPassingAnyParameters() throws IOException, InterruptedException {
    sttService = new STTServiceStub();
    ksService = new KSServiceStub();
    ttsService = new TTSServiceStub();
    hliStub = new HumanLanguageInterpreterStub();
    source = new AudioSourceStub();
    registerService(sttService);
    registerService(ksService);
    registerService(ttsService);
    registerService(hliStub);
    registerService(source);
    Dictionary<String, Object> config = new Hashtable<String, Object>();
    config.put(CONFIG_KEYWORD, "word");
    config.put(CONFIG_DEFAULT_STT, sttService.getId());
    config.put(CONFIG_DEFAULT_KS, ksService.getId());
    config.put(CONFIG_DEFAULT_HLI, hliStub.getId());
    config.put(CONFIG_DEFAULT_VOICE, voice.getUID());
    ConfigurationAdmin configAdmin = super.getService(ConfigurationAdmin.class);
    String pid = "org.eclipse.smarthome.voice";
    Configuration configuration = configAdmin.getConfiguration(pid);
    configuration.update(config);
    waitForAssert(() -> {
        try {
            voiceManager.startDialog();
        } catch (Exception ex) {
        // if the configuration is not updated yet the startDialog method will throw and exception which will
        // break the test
        }
        assertTrue(ksService.isWordSpotted());
    });
}
Also used : Configuration(org.osgi.service.cm.Configuration) TTSServiceStub(org.eclipse.smarthome.core.voice.internal.TTSServiceStub) AudioSourceStub(org.eclipse.smarthome.core.voice.internal.AudioSourceStub) Hashtable(java.util.Hashtable) HumanLanguageInterpreterStub(org.eclipse.smarthome.core.voice.internal.HumanLanguageInterpreterStub) STTServiceStub(org.eclipse.smarthome.core.voice.internal.STTServiceStub) ConfigurationAdmin(org.osgi.service.cm.ConfigurationAdmin) URISyntaxException(java.net.URISyntaxException) InterpretationException(org.eclipse.smarthome.core.voice.text.InterpretationException) ExpectedException(org.junit.rules.ExpectedException) IOException(java.io.IOException) KSServiceStub(org.eclipse.smarthome.core.voice.internal.KSServiceStub) JavaOSGiTest(org.eclipse.smarthome.test.java.JavaOSGiTest) Test(org.junit.Test)

Example 5 with AudioSourceStub

use of org.eclipse.smarthome.core.voice.internal.AudioSourceStub in project smarthome by eclipse.

the class VoiceManagerTest method startDialogWhenAllOfTheRequiredServicesAreAvailable.

@Test
public void startDialogWhenAllOfTheRequiredServicesAreAvailable() {
    sttService = new STTServiceStub();
    ksService = new KSServiceStub();
    ttsService = new TTSServiceStub();
    hliStub = new HumanLanguageInterpreterStub();
    source = new AudioSourceStub();
    registerService(sttService);
    registerService(ksService);
    registerService(ttsService);
    registerService(hliStub);
    registerService(source);
    voiceManager.startDialog(ksService, sttService, ttsService, hliStub, source, sink, null, "word", null);
    assertTrue(ksService.isWordSpotted());
}
Also used : TTSServiceStub(org.eclipse.smarthome.core.voice.internal.TTSServiceStub) AudioSourceStub(org.eclipse.smarthome.core.voice.internal.AudioSourceStub) HumanLanguageInterpreterStub(org.eclipse.smarthome.core.voice.internal.HumanLanguageInterpreterStub) STTServiceStub(org.eclipse.smarthome.core.voice.internal.STTServiceStub) KSServiceStub(org.eclipse.smarthome.core.voice.internal.KSServiceStub) JavaOSGiTest(org.eclipse.smarthome.test.java.JavaOSGiTest) Test(org.junit.Test)

Aggregations

AudioSourceStub (org.eclipse.smarthome.core.voice.internal.AudioSourceStub)6 HumanLanguageInterpreterStub (org.eclipse.smarthome.core.voice.internal.HumanLanguageInterpreterStub)4 KSServiceStub (org.eclipse.smarthome.core.voice.internal.KSServiceStub)4 STTServiceStub (org.eclipse.smarthome.core.voice.internal.STTServiceStub)4 TTSServiceStub (org.eclipse.smarthome.core.voice.internal.TTSServiceStub)4 JavaOSGiTest (org.eclipse.smarthome.test.java.JavaOSGiTest)4 Test (org.junit.Test)4 Hashtable (java.util.Hashtable)2 VoiceManager (org.eclipse.smarthome.core.voice.VoiceManager)2 AudioManagerStub (org.eclipse.smarthome.core.voice.internal.AudioManagerStub)2 SinkStub (org.eclipse.smarthome.core.voice.internal.SinkStub)2 VoiceManagerImpl (org.eclipse.smarthome.core.voice.internal.VoiceManagerImpl)2 Before (org.junit.Before)2 Configuration (org.osgi.service.cm.Configuration)2 ConfigurationAdmin (org.osgi.service.cm.ConfigurationAdmin)2 IOException (java.io.IOException)1 URISyntaxException (java.net.URISyntaxException)1 ConsoleStub (org.eclipse.smarthome.core.voice.internal.ConsoleStub)1 VoiceConsoleCommandExtension (org.eclipse.smarthome.core.voice.internal.VoiceConsoleCommandExtension)1 VoiceStub (org.eclipse.smarthome.core.voice.internal.VoiceStub)1