ibm_watson 2.0.2 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -354,4 +354,149 @@ class TextToSpeechV1Test < Minitest::Test
354
354
  )
355
355
  assert(service_response.nil?)
356
356
  end
357
+
358
+ def test_custom_prompts
359
+ response = {
360
+ "prompt" => "Thank you and good-bye!",
361
+ "prompt_id" => "goodbye"
362
+ }
363
+ authenticator = IBMWatson::Authenticators::BasicAuthenticator.new(
364
+ username: "username",
365
+ password: "password"
366
+ )
367
+ service = IBMWatson::TextToSpeechV1.new(
368
+ username: "username",
369
+ password: "password",
370
+ authenticator: authenticator
371
+ )
372
+ stub_request(:get, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/customizations/cust_id/prompts")
373
+ .with(
374
+ headers: {
375
+ "Accept" => "application/json",
376
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
377
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
378
+ }
379
+ ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
380
+ service_response = service.list_custom_prompts(
381
+ customization_id: "cust_id"
382
+ )
383
+ assert_equal(response, service_response.result)
384
+
385
+ stub_request(:get, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/customizations/cust_id/prompts/p_id")
386
+ .with(
387
+ headers: {
388
+ "Accept" => "application/json",
389
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
390
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
391
+ }
392
+ ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
393
+ service_response = service.get_custom_prompt(
394
+ customization_id: "cust_id",
395
+ prompt_id: "p_id"
396
+ )
397
+ assert_equal(response, service_response.result)
398
+
399
+ stub_request(:delete, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/customizations/cust_id/prompts/p_id")
400
+ .with(
401
+ headers: {
402
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
403
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
404
+ }
405
+ ).to_return(status: 200, body: "", headers: {})
406
+ service_response = service.delete_custom_prompt(
407
+ customization_id: "cust_id",
408
+ prompt_id: "p_id"
409
+ )
410
+ assert(service_response.nil?)
411
+
412
+ stub_request(:post, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/customizations/cust_id/prompts/p_id")
413
+ .with(
414
+ headers: {
415
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
416
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
417
+ }
418
+ ).to_return(status: 200, headers: { "Content-Type" => "application/json" })
419
+ audio_file = File.open(Dir.getwd + "/resources/speech.wav")
420
+ service_response = service.add_custom_prompt(
421
+ customization_id: "cust_id",
422
+ prompt_id: "p_id",
423
+ metadata: { "prompt_text" => "Thank you and good-bye!" },
424
+ file: audio_file
425
+ )
426
+ assert_equal(200, service_response.status)
427
+ end
428
+
429
+ def test_speaker_models
430
+ response = {
431
+ "speakers" => [
432
+ {
433
+ "speaker_id" => "56367f89-546d-4b37-891e-4eb0c13cc833",
434
+ "name" => "speaker_one"
435
+ },
436
+ {
437
+ "speaker_id" => "323e4476-63de-9825-7cd7-8120e45f8331",
438
+ "name" => "speaker_two"
439
+ }
440
+ ]
441
+ }
442
+
443
+ authenticator = IBMWatson::Authenticators::BasicAuthenticator.new(
444
+ username: "username",
445
+ password: "password"
446
+ )
447
+ service = IBMWatson::TextToSpeechV1.new(
448
+ username: "username",
449
+ password: "password",
450
+ authenticator: authenticator
451
+ )
452
+ stub_request(:get, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/speakers")
453
+ .with(
454
+ headers: {
455
+ "Accept" => "application/json",
456
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
457
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
458
+ }
459
+ ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
460
+ service_response = service.list_speaker_models
461
+ assert_equal(response, service_response.result)
462
+
463
+ stub_request(:get, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/speakers/speaker_id1")
464
+ .with(
465
+ headers: {
466
+ "Accept" => "application/json",
467
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
468
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
469
+ }
470
+ ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
471
+ service_response = service.get_speaker_model(
472
+ speaker_id: "speaker_id1"
473
+ )
474
+ assert_equal(response, service_response.result)
475
+
476
+ stub_request(:delete, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/speakers/speaker_id1")
477
+ .with(
478
+ headers: {
479
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
480
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
481
+ }
482
+ ).to_return(status: 200, body: "", headers: {})
483
+ service_response = service.delete_speaker_model(
484
+ speaker_id: "speaker_id1"
485
+ )
486
+ assert(service_response.nil?)
487
+
488
+ stub_request(:post, "https://api.us-south.text-to-speech.watson.cloud.ibm.com/v1/speakers?speaker_name=Russ")
489
+ .with(
490
+ headers: {
491
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
492
+ "Host" => "api.us-south.text-to-speech.watson.cloud.ibm.com"
493
+ }
494
+ ).to_return(status: 200, body: "", headers: {})
495
+ audio_file = File.open(Dir.getwd + "/resources/speech.wav")
496
+ service_response = service.create_speaker_model(
497
+ speaker_name: "Russ",
498
+ audio: audio_file
499
+ )
500
+ assert_equal(200, service_response.status)
501
+ end
357
502
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm_watson
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Nussbaum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-18 00:00:00.000000000 Z
11
+ date: 2021-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -347,7 +347,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
347
347
  version: '0'
348
348
  requirements: []
349
349
  rubyforge_project:
350
- rubygems_version: 2.7.6.2
350
+ rubygems_version: 2.7.6.3
351
351
  signing_key:
352
352
  specification_version: 4
353
353
  summary: Official client library to use the IBM Watson Services