use of com.ibm.watson.developer_cloud.speech_to_text.v1.model.CheckJobOptions in project java-sdk by watson-developer-cloud.
the class SpeechToTextTest method testCheckJob.
/**
* Test check job.
*
* @throws InterruptedException the interrupted exception
* @throws FileNotFoundException the file not found exception
*/
@Test
public void testCheckJob() throws InterruptedException, FileNotFoundException {
String id = "foo";
RecognitionJob job = loadFixture("src/test/resources/speech_to_text/job.json", RecognitionJob.class);
server.enqueue(new MockResponse().addHeader(CONTENT_TYPE, HttpMediaType.APPLICATION_JSON).setBody(GSON.toJson(job)));
CheckJobOptions checkOptions = new CheckJobOptions.Builder().id(id).build();
RecognitionJob result = service.checkJob(checkOptions).execute();
final RecordedRequest request = server.takeRequest();
assertEquals("GET", request.getMethod());
assertEquals(String.format(PATH_RECOGNITION, id), request.getPath());
assertEquals(result.toString(), job.toString());
}
use of com.ibm.watson.developer_cloud.speech_to_text.v1.model.CheckJobOptions in project java-sdk by watson-developer-cloud.
the class SpeechToTextIT method testCreateJobWarning.
/**
* Test create job with a warning message.
*
* This test is currently being ignored as it has a very long runtime and causes Travis to timeout.
* The ignore annotation can be removed to test this locally.
*
* @throws InterruptedException the interrupted exception
* @throws FileNotFoundException the file not found exception
*/
@Ignore
@Test
public void testCreateJobWarning() throws InterruptedException, FileNotFoundException {
File audio = new File(SAMPLE_WAV);
CreateJobOptions createOptions = new CreateJobOptions.Builder().audio(audio).contentType(CreateJobOptions.ContentType.AUDIO_WAV).userToken("job").build();
RecognitionJob job = service.createJob(createOptions).execute();
try {
assertNotNull(job.getId());
assertNotNull(job.getWarnings());
CheckJobOptions checkOptions = new CheckJobOptions.Builder().id(job.getId()).build();
for (int x = 0; x < 30 && job.getStatus() != RecognitionJob.Status.COMPLETED; x++) {
Thread.sleep(3000);
job = service.checkJob(checkOptions).execute();
}
job = service.checkJob(checkOptions).execute();
assertEquals(RecognitionJob.Status.COMPLETED, job.getStatus());
assertNotNull(job.getResults());
} finally {
DeleteJobOptions deleteOptions = new DeleteJobOptions.Builder().id(job.getId()).build();
service.deleteJob(deleteOptions).execute();
}
}
use of com.ibm.watson.developer_cloud.speech_to_text.v1.model.CheckJobOptions in project java-sdk by watson-developer-cloud.
the class SpeechToTextIT method testCreateJob.
/**
* Test create job.
*
* @throws InterruptedException the interrupted exception
* @throws FileNotFoundException the file not found exception
*/
@Test
public void testCreateJob() throws InterruptedException, FileNotFoundException {
File audio = new File(SAMPLE_WAV);
Long maxAlternatives = 3L;
Float wordAlternativesThreshold = 0.5f;
CreateJobOptions createOptions = new CreateJobOptions.Builder().audio(audio).contentType(CreateJobOptions.ContentType.AUDIO_WAV).maxAlternatives(maxAlternatives).wordAlternativesThreshold(wordAlternativesThreshold).build();
RecognitionJob job = service.createJob(createOptions).execute();
try {
assertNotNull(job.getId());
CheckJobOptions checkOptions = new CheckJobOptions.Builder().id(job.getId()).build();
for (int x = 0; x < 30 && !job.getStatus().equals(RecognitionJob.Status.COMPLETED); x++) {
Thread.sleep(3000);
job = service.checkJob(checkOptions).execute();
}
job = service.checkJob(checkOptions).execute();
assertEquals(RecognitionJob.Status.COMPLETED, job.getStatus());
assertNotNull(job.getResults());
assertTrue(job.getResults().get(0).getResults().get(0).getAlternatives().size() <= maxAlternatives);
List<WordAlternativeResults> wordAlternatives = job.getResults().get(0).getResults().get(0).getWordAlternatives();
for (WordAlternativeResults alternativeResults : wordAlternatives) {
assertTrue(alternativeResults.getAlternatives().get(0).getConfidence() >= wordAlternativesThreshold);
}
} finally {
DeleteJobOptions deleteOptions = new DeleteJobOptions.Builder().id(job.getId()).build();
service.deleteJob(deleteOptions).execute();
}
}
use of com.ibm.watson.developer_cloud.speech_to_text.v1.model.CheckJobOptions in project java-sdk by watson-developer-cloud.
the class SpeechToTextIT method testCheckJobWithWrongId.
/**
* Test check job with wrong id.
*/
@Test
public void testCheckJobWithWrongId() {
expectedException.expect(NotFoundException.class);
expectedException.expectMessage("job not found");
CheckJobOptions checkOptions = new CheckJobOptions.Builder().id("foo").build();
service.checkJob(checkOptions).execute();
}
use of com.ibm.watson.developer_cloud.speech_to_text.v1.model.CheckJobOptions in project java-sdk by watson-developer-cloud.
the class SpeechToText method checkJob.
/**
* Checks the status of the specified asynchronous job.
*
* Returns information about the specified job. The response always includes the status of the job and its creation
* and update times. If the status is `completed`, the response includes the results of the recognition request. You
* must submit the request with the service credentials of the user who created the job. You can use the method to
* retrieve the results of any job, regardless of whether it was submitted with a callback URL and the
* `recognitions.completed_with_results` event, and you can retrieve the results multiple times for as long as they
* remain available.
*
* @param checkJobOptions the {@link CheckJobOptions} containing the options for the call
* @return a {@link ServiceCall} with a response type of {@link RecognitionJob}
*/
public ServiceCall<RecognitionJob> checkJob(CheckJobOptions checkJobOptions) {
Validator.notNull(checkJobOptions, "checkJobOptions cannot be null");
String[] pathSegments = { "v1/recognitions" };
String[] pathParameters = { checkJobOptions.id() };
RequestBuilder builder = RequestBuilder.get(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments, pathParameters));
return createServiceCall(builder.build(), ResponseConverterUtils.getObject(RecognitionJob.class));
}
Aggregations