ibm_watson 0.14.0 → 0.15.0
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.
- checksums.yaml +4 -4
- data/lib/ibm_watson/assistant_v1.rb +791 -736
- data/lib/ibm_watson/assistant_v2.rb +12 -8
- data/lib/ibm_watson/common.rb +2 -1
- data/lib/ibm_watson/compare_comply_v1.rb +171 -169
- data/lib/ibm_watson/discovery_v1.rb +778 -689
- data/lib/ibm_watson/language_translator_v3.rb +65 -63
- data/lib/ibm_watson/natural_language_classifier_v1.rb +36 -35
- data/lib/ibm_watson/natural_language_understanding_v1.rb +28 -25
- data/lib/ibm_watson/personality_insights_v3.rb +10 -10
- data/lib/ibm_watson/speech_to_text_v1.rb +764 -702
- data/lib/ibm_watson/text_to_speech_v1.rb +215 -200
- data/lib/ibm_watson/tone_analyzer_v3.rb +10 -9
- data/lib/ibm_watson/version.rb +1 -1
- data/lib/ibm_watson/visual_recognition_v3.rb +94 -95
- data/lib/ibm_watson/websocket/speech_to_text_websocket_listener.rb +1 -1
- data/test/integration/test_assistant_v1.rb +18 -289
- data/test/integration/test_assistant_v2.rb +21 -31
- data/test/integration/test_discovery_v1.rb +21 -18
- data/test/integration/test_language_translator_v3.rb +3 -3
- data/test/integration/test_natural_language_classifier_v1.rb +3 -3
- data/test/integration/test_natural_language_understanding_v1.rb +16 -20
- data/test/integration/test_personality_insights_v3.rb +12 -40
- data/test/integration/test_speech_to_text_v1.rb +3 -3
- data/test/integration/test_text_to_speech_v1.rb +3 -3
- data/test/integration/test_tone_analyzer_v3.rb +14 -31
- data/test/integration/test_visual_recognition_v3.rb +3 -3
- data/test/unit/test_compare_comply_v1.rb +3 -7
- data/test/unit/test_discovery_v1.rb +21 -7
- data/test/unit/test_language_translator_v3.rb +1 -3
- data/test/unit/test_natural_language_classifier_v1.rb +1 -3
- data/test/unit/test_speech_to_text_v1.rb +25 -7
- data/test/unit/test_text_to_speech_v1.rb +0 -4
- data/test/unit/test_visual_recognition_v3.rb +2 -6
- metadata +2 -2
@@ -4,15 +4,15 @@ require("json")
|
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
require("minitest/hooks/test")
|
6
6
|
|
7
|
-
if !ENV["
|
7
|
+
if !ENV["NATURAL_LANGUAGE_CLASSIFIER_APIKEY"].nil? && !ENV["NATURAL_LANGUAGE_CLASSIFIER_URL"].nil?
|
8
8
|
# Integration tests for the Natural Language Classifier V1 Service
|
9
9
|
class NaturalLanguageClassifierV1Test < Minitest::Test
|
10
10
|
include Minitest::Hooks
|
11
11
|
attr_accessor :service
|
12
12
|
def before_all
|
13
13
|
@service = IBMWatson::NaturalLanguageClassifierV1.new(
|
14
|
-
|
15
|
-
|
14
|
+
iam_apikey: ENV["NATURAL_LANGUAGE_CLASSIFIER_APIKEY"],
|
15
|
+
url: ENV["NATURAL_LANGUAGE_CLASSIFIER_URL"]
|
16
16
|
)
|
17
17
|
@service.add_default_headers(
|
18
18
|
headers: {
|
@@ -3,15 +3,26 @@
|
|
3
3
|
require("json")
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
|
6
|
-
if !ENV["
|
6
|
+
if !ENV["NATURAL_LANGUAGE_UNDERSTANDING_APIKEY"].nil? && !ENV["NATURAL_LANGUAGE_UNDERSTANDING_URL"].nil?
|
7
7
|
# Integration tests for the Natural Language Understanding V1 Service
|
8
8
|
class NaturalLanguageUnderstandingV1Test < Minitest::Test
|
9
|
-
|
10
|
-
|
9
|
+
include Minitest::Hooks
|
10
|
+
attr_accessor :service
|
11
|
+
def before_all
|
12
|
+
@service = IBMWatson::NaturalLanguageUnderstandingV1.new(
|
11
13
|
version: "2018-03-16",
|
12
|
-
|
13
|
-
|
14
|
+
iam_apikey: ENV["NATURAL_LANGUAGE_UNDERSTANDING_APIKEY"],
|
15
|
+
url: ENV["NATURAL_LANGUAGE_UNDERSTANDING_URL"]
|
16
|
+
)
|
17
|
+
@service.add_default_headers(
|
18
|
+
headers: {
|
19
|
+
"X-Watson-Learning-Opt-Out" => "1",
|
20
|
+
"X-Watson-Test" => "1"
|
21
|
+
}
|
14
22
|
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_text_analyze
|
15
26
|
service.add_default_headers(
|
16
27
|
headers: {
|
17
28
|
"X-Watson-Learning-Opt-Out" => "1",
|
@@ -40,11 +51,6 @@ if !ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"].nil? && !ENV["NATURAL_LANGUAG
|
|
40
51
|
end
|
41
52
|
|
42
53
|
def test_html_analyze
|
43
|
-
service = IBMWatson::NaturalLanguageUnderstandingV1.new(
|
44
|
-
version: "2018-03-16",
|
45
|
-
username: ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"],
|
46
|
-
password: ENV["NATURAL_LANGUAGE_UNDERSTANDING_PASSWORD"]
|
47
|
-
)
|
48
54
|
service.add_default_headers(
|
49
55
|
headers: {
|
50
56
|
"X-Watson-Learning-Opt-Out" => "1",
|
@@ -61,11 +67,6 @@ if !ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"].nil? && !ENV["NATURAL_LANGUAG
|
|
61
67
|
end
|
62
68
|
|
63
69
|
def test_url_analyze
|
64
|
-
service = IBMWatson::NaturalLanguageUnderstandingV1.new(
|
65
|
-
version: "2018-03-16",
|
66
|
-
username: ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"],
|
67
|
-
password: ENV["NATURAL_LANGUAGE_UNDERSTANDING_PASSWORD"]
|
68
|
-
)
|
69
70
|
service.add_default_headers(
|
70
71
|
headers: {
|
71
72
|
"X-Watson-Learning-Opt-Out" => "1",
|
@@ -83,11 +84,6 @@ if !ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"].nil? && !ENV["NATURAL_LANGUAG
|
|
83
84
|
|
84
85
|
def test_list_models
|
85
86
|
skip
|
86
|
-
service = IBMWatson::NaturalLanguageUnderstandingV1.new(
|
87
|
-
version: "2018-03-16",
|
88
|
-
username: ENV["NATURAL_LANGUAGE_UNDERSTANDING_USERNAME"],
|
89
|
-
password: ENV["NATURAL_LANGUAGE_UNDERSTANDING_PASSWORD"]
|
90
|
-
)
|
91
87
|
service.add_default_headers(
|
92
88
|
headers: {
|
93
89
|
"X-Watson-Learning-Opt-Out" => "1",
|
@@ -3,22 +3,27 @@
|
|
3
3
|
require("json")
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
|
6
|
-
if !ENV["
|
6
|
+
if !ENV["PERSONALITY_INSIGHTS_APIKEY"].nil? && !ENV["PERSONALITY_INSIGHTS_URL"].nil?
|
7
7
|
# Integration tests for the Personality Insights V3 Service
|
8
8
|
class PersonalityInsightsV3Test < Minitest::Test
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
include Minitest::Hooks
|
10
|
+
attr_accessor :service
|
11
|
+
def before_all
|
12
|
+
@service = IBMWatson::PersonalityInsightsV3.new(
|
12
13
|
version: "2017-10-13",
|
13
|
-
|
14
|
-
|
14
|
+
iam_apikey: ENV["PERSONALITY_INSIGHTS_APIKEY"],
|
15
|
+
url: ENV["PERSONALITY_INSIGHTS_URL"]
|
15
16
|
)
|
16
|
-
service.add_default_headers(
|
17
|
+
@service.add_default_headers(
|
17
18
|
headers: {
|
18
19
|
"X-Watson-Learning-Opt-Out" => "1",
|
19
20
|
"X-Watson-Test" => "1"
|
20
21
|
}
|
21
22
|
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_plain_to_json
|
26
|
+
personality_text = File.read(Dir.getwd + "/resources/personality-v3.txt")
|
22
27
|
service_response = service.profile(
|
23
28
|
accept: "application/json",
|
24
29
|
content: personality_text,
|
@@ -29,17 +34,6 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
|
|
29
34
|
|
30
35
|
def test_json_to_json
|
31
36
|
personality_text = File.read(Dir.getwd + "/resources/personality-v3.json")
|
32
|
-
service = IBMWatson::PersonalityInsightsV3.new(
|
33
|
-
version: "2017-10-13",
|
34
|
-
username: ENV["PERSONALITY_INSIGHTS_USERNAME"],
|
35
|
-
password: ENV["PERSONALITY_INSIGHTS_PASSWORD"]
|
36
|
-
)
|
37
|
-
service.add_default_headers(
|
38
|
-
headers: {
|
39
|
-
"X-Watson-Learning-Opt-Out" => "1",
|
40
|
-
"X-Watson-Test" => "1"
|
41
|
-
}
|
42
|
-
)
|
43
37
|
service_response = service.profile(
|
44
38
|
accept: "application/json",
|
45
39
|
content: personality_text,
|
@@ -52,17 +46,6 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
|
|
52
46
|
|
53
47
|
def test_json_to_csv
|
54
48
|
personality_text = File.read(Dir.getwd + "/resources/personality-v3.json")
|
55
|
-
service = IBMWatson::PersonalityInsightsV3.new(
|
56
|
-
version: "2017-10-13",
|
57
|
-
username: ENV["PERSONALITY_INSIGHTS_USERNAME"],
|
58
|
-
password: ENV["PERSONALITY_INSIGHTS_PASSWORD"]
|
59
|
-
)
|
60
|
-
service.add_default_headers(
|
61
|
-
headers: {
|
62
|
-
"X-Watson-Learning-Opt-Out" => "1",
|
63
|
-
"X-Watson-Test" => "1"
|
64
|
-
}
|
65
|
-
)
|
66
49
|
service_response = service.profile(
|
67
50
|
content: personality_text,
|
68
51
|
content_type: "application/json",
|
@@ -76,17 +59,6 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
|
|
76
59
|
|
77
60
|
def test_plain_to_json_es
|
78
61
|
personality_text = File.read(Dir.getwd + "/resources/personality-v3-es.txt")
|
79
|
-
service = IBMWatson::PersonalityInsightsV3.new(
|
80
|
-
version: "2017-10-13",
|
81
|
-
username: ENV["PERSONALITY_INSIGHTS_USERNAME"],
|
82
|
-
password: ENV["PERSONALITY_INSIGHTS_PASSWORD"]
|
83
|
-
)
|
84
|
-
service.add_default_headers(
|
85
|
-
headers: {
|
86
|
-
"X-Watson-Learning-Opt-Out" => "1",
|
87
|
-
"X-Watson-Test" => "1"
|
88
|
-
}
|
89
|
-
)
|
90
62
|
service_response = service.profile(
|
91
63
|
accept: "application/json",
|
92
64
|
content: personality_text,
|
@@ -22,15 +22,15 @@ class MyRecognizeCallback < IBMWatson::RecognizeCallback
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
if !ENV["
|
25
|
+
if !ENV["SPEECH_TO_TEXT_APIKEY"].nil? && !ENV["SPEECH_TO_TEXT_URL"].nil?
|
26
26
|
# Integration tests for the Speech to Text V1 Service
|
27
27
|
class SpeechToTextV1Test < Minitest::Test
|
28
28
|
include Minitest::Hooks
|
29
29
|
attr_accessor :service
|
30
30
|
def before_all
|
31
31
|
@service = IBMWatson::SpeechToTextV1.new(
|
32
|
-
|
33
|
-
|
32
|
+
iam_apikey: ENV["SPEECH_TO_TEXT_APIKEY"],
|
33
|
+
url: ENV["SPEECH_TO_TEXT_URL"]
|
34
34
|
)
|
35
35
|
@service.add_default_headers(
|
36
36
|
headers: {
|
@@ -3,15 +3,15 @@
|
|
3
3
|
require_relative("./../test_helper.rb")
|
4
4
|
require("minitest/hooks/test")
|
5
5
|
|
6
|
-
if !ENV["
|
6
|
+
if !ENV["TEXT_TO_SPEECH_APIKEY"].nil? && !ENV["TEXT_TO_SPEECH_URL"].nil?
|
7
7
|
# Integration tests for the Text to Speech V1 Service
|
8
8
|
class TextToSpeechV1Test < Minitest::Test
|
9
9
|
include Minitest::Hooks
|
10
10
|
attr_accessor :service
|
11
11
|
def before_all
|
12
12
|
@service = IBMWatson::TextToSpeechV1.new(
|
13
|
-
|
14
|
-
|
13
|
+
iam_apikey: ENV["TEXT_TO_SPEECH_APIKEY"],
|
14
|
+
url: ENV["TEXT_TO_SPEECH_URL"]
|
15
15
|
)
|
16
16
|
@service.add_default_headers(
|
17
17
|
headers: {
|
@@ -3,22 +3,27 @@
|
|
3
3
|
require("json")
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
|
6
|
-
if !ENV["
|
6
|
+
if !ENV["TONE_ANALYZER_APIKEY"].nil? && !ENV["TONE_ANALYZER_URL"].nil?
|
7
7
|
# Integration tests for the Tone Analyzer V3 Service
|
8
8
|
class ToneAnalyzerV3Test < Minitest::Test
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
9
|
+
include Minitest::Hooks
|
10
|
+
attr_accessor :service
|
11
|
+
def before_all
|
12
|
+
@service = IBMWatson::ToneAnalyzerV3.new(
|
13
|
+
iam_apikey: ENV["TONE_ANALYZER_APIKEY"],
|
14
|
+
url: ENV["TONE_ANALYZER_URL"],
|
15
|
+
version: "2017-09-21"
|
16
|
+
)
|
17
|
+
@service.add_default_headers(
|
17
18
|
headers: {
|
18
19
|
"X-Watson-Learning-Opt-Out" => "1",
|
19
20
|
"X-Watson-Test" => "1"
|
20
21
|
}
|
21
22
|
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_tone
|
26
|
+
tone_text = File.read(Dir.getwd + "/resources/personality.txt")
|
22
27
|
service_response = service.tone(
|
23
28
|
tone_input: tone_text,
|
24
29
|
content_type: "text/plain"
|
@@ -28,17 +33,6 @@ if !ENV["TONE_ANALYZER_USERNAME"].nil? && !ENV["TONE_ANALYZER_PASSWORD"].nil?
|
|
28
33
|
|
29
34
|
def test_tone_with_args
|
30
35
|
tone_text = File.read(Dir.getwd + "/resources/personality.txt")
|
31
|
-
service = IBMWatson::ToneAnalyzerV3.new(
|
32
|
-
version: "2017-09-21",
|
33
|
-
username: ENV["TONE_ANALYZER_USERNAME"],
|
34
|
-
password: ENV["TONE_ANALYZER_PASSWORD"]
|
35
|
-
)
|
36
|
-
service.add_default_headers(
|
37
|
-
headers: {
|
38
|
-
"X-Watson-Learning-Opt-Out" => "1",
|
39
|
-
"X-Watson-Test" => "1"
|
40
|
-
}
|
41
|
-
)
|
42
36
|
service_response = service.tone(
|
43
37
|
tone_input: tone_text,
|
44
38
|
content_type: "text/plain",
|
@@ -48,17 +42,6 @@ if !ENV["TONE_ANALYZER_USERNAME"].nil? && !ENV["TONE_ANALYZER_PASSWORD"].nil?
|
|
48
42
|
end
|
49
43
|
|
50
44
|
def test_tone_chat
|
51
|
-
service = IBMWatson::ToneAnalyzerV3.new(
|
52
|
-
version: "2017-09-21",
|
53
|
-
username: ENV["TONE_ANALYZER_USERNAME"],
|
54
|
-
password: ENV["TONE_ANALYZER_PASSWORD"]
|
55
|
-
)
|
56
|
-
service.add_default_headers(
|
57
|
-
headers: {
|
58
|
-
"X-Watson-Learning-Opt-Out" => "1",
|
59
|
-
"X-Watson-Test" => "1"
|
60
|
-
}
|
61
|
-
)
|
62
45
|
utterances = [
|
63
46
|
{
|
64
47
|
"text" => "I am very happy",
|
@@ -4,16 +4,16 @@ require("json")
|
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
require("minitest/hooks/test")
|
6
6
|
|
7
|
-
if !ENV["
|
7
|
+
if !ENV["VISUAL_RECOGNITION_APIKEY"].nil? && !ENV["VISUAL_RECOGNITION_URL"].nil?
|
8
8
|
# Integration tests for the Visual Recognition V3 Service
|
9
9
|
class VisualRecognitionV3Test < Minitest::Test
|
10
10
|
include Minitest::Hooks
|
11
11
|
attr_accessor :service, :classifier_id
|
12
12
|
def before_all
|
13
13
|
@service = IBMWatson::VisualRecognitionV3.new(
|
14
|
-
iam_apikey: ENV["
|
14
|
+
iam_apikey: ENV["VISUAL_RECOGNITION_APIKEY"],
|
15
15
|
version: "2018-03-19",
|
16
|
-
url: ENV["
|
16
|
+
url: ENV["VISUAL_RECOGNITION_URL"]
|
17
17
|
)
|
18
18
|
@classifier_id = "doxnotxdeletexsdksxintegration_718351350"
|
19
19
|
@service.add_default_headers(
|
@@ -46,8 +46,7 @@ class CompareComplyV1 < Minitest::Test
|
|
46
46
|
file: file
|
47
47
|
)
|
48
48
|
service.classify_elements(
|
49
|
-
file: "dummy"
|
50
|
-
filename: "file"
|
49
|
+
file: "dummy"
|
51
50
|
)
|
52
51
|
end
|
53
52
|
|
@@ -67,8 +66,7 @@ class CompareComplyV1 < Minitest::Test
|
|
67
66
|
file: file
|
68
67
|
)
|
69
68
|
service.extract_tables(
|
70
|
-
file: "dummy"
|
71
|
-
filename: "file"
|
69
|
+
file: "dummy"
|
72
70
|
)
|
73
71
|
end
|
74
72
|
|
@@ -90,9 +88,7 @@ class CompareComplyV1 < Minitest::Test
|
|
90
88
|
)
|
91
89
|
service.compare_documents(
|
92
90
|
file_1: "dummy data",
|
93
|
-
|
94
|
-
file_2: "dummy data",
|
95
|
-
file_2_filename: "file1"
|
91
|
+
file_2: "dummy data"
|
96
92
|
)
|
97
93
|
end
|
98
94
|
|
@@ -571,7 +571,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
571
571
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/collid/training_data?version=2018-03-05")
|
572
572
|
.with(
|
573
573
|
headers: {
|
574
|
-
"Accept" => "application/json",
|
575
574
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
576
575
|
"Host" => "gateway.watsonplatform.net"
|
577
576
|
}
|
@@ -682,7 +681,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
682
681
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/collid/training_data/queryid?version=2018-03-05")
|
683
682
|
.with(
|
684
683
|
headers: {
|
685
|
-
"Accept" => "application/json",
|
686
684
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
687
685
|
"Host" => "gateway.watsonplatform.net"
|
688
686
|
}
|
@@ -773,7 +771,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
773
771
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/collid/training_data/queryid/examples/exampleid?version=2018-03-05")
|
774
772
|
.with(
|
775
773
|
headers: {
|
776
|
-
"Accept" => "application/json",
|
777
774
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
778
775
|
"Host" => "gateway.watsonplatform.net"
|
779
776
|
}
|
@@ -894,7 +891,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
894
891
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/collid/expansions?version=2018-03-05")
|
895
892
|
.with(
|
896
893
|
headers: {
|
897
|
-
"Accept" => "application/json",
|
898
894
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
899
895
|
"Host" => "gateway.watsonplatform.net"
|
900
896
|
}
|
@@ -951,7 +947,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
951
947
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/collid/word_lists/tokenization_dictionary?version=2018-03-05")
|
952
948
|
.with(
|
953
949
|
headers: {
|
954
|
-
"Accept" => "application/json",
|
955
950
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
956
951
|
"Host" => "gateway.watsonplatform.net"
|
957
952
|
}
|
@@ -972,7 +967,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
972
967
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/user_data?customer_id=id&version=2018-03-05")
|
973
968
|
.with(
|
974
969
|
headers: {
|
975
|
-
"Accept" => "application/json",
|
976
970
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
977
971
|
"Host" => "gateway.watsonplatform.net"
|
978
972
|
}
|
@@ -1390,6 +1384,27 @@ class DiscoveryV1Test < Minitest::Test
|
|
1390
1384
|
assert_equal({ "received" => "true" }, service_response.result)
|
1391
1385
|
end
|
1392
1386
|
|
1387
|
+
def test_list_fields
|
1388
|
+
service = IBMWatson::DiscoveryV1.new(
|
1389
|
+
username: "username",
|
1390
|
+
password: "password",
|
1391
|
+
version: "2018-03-05"
|
1392
|
+
)
|
1393
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/fields?collection_ids=collid&version=2018-03-05")
|
1394
|
+
.with(
|
1395
|
+
headers: {
|
1396
|
+
"Accept" => "application/json",
|
1397
|
+
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
1398
|
+
"Host" => "gateway.watsonplatform.net"
|
1399
|
+
}
|
1400
|
+
).to_return(status: 200, body: { "received" => "true" }.to_json, headers: { "Content-Type" => "application/json" })
|
1401
|
+
service_response = service.list_fields(
|
1402
|
+
environment_id: "envid",
|
1403
|
+
collection_ids: ["collid"]
|
1404
|
+
)
|
1405
|
+
assert_equal({ "received" => "true" }, service_response.result)
|
1406
|
+
end
|
1407
|
+
|
1393
1408
|
def test_create_stopword_list
|
1394
1409
|
service = IBMWatson::DiscoveryV1.new(
|
1395
1410
|
username: "username",
|
@@ -1418,7 +1433,6 @@ class DiscoveryV1Test < Minitest::Test
|
|
1418
1433
|
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v1/environments/envid/collections/colid/word_lists/stopwords?version=2018-03-05")
|
1419
1434
|
.with(
|
1420
1435
|
headers: {
|
1421
|
-
"Accept" => "application/json",
|
1422
1436
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
1423
1437
|
"Host" => "gateway.watsonplatform.net"
|
1424
1438
|
}
|
@@ -286,8 +286,7 @@ class LanguageTranslatorV3Test < Minitest::Test
|
|
286
286
|
base_model_id: "en-fr",
|
287
287
|
name: "test_glossary",
|
288
288
|
forced_glossary: custom_model.read,
|
289
|
-
parallel_corpus: "parallel corpus"
|
290
|
-
parallel_corpus_filename: "parallel_corpus_filename"
|
289
|
+
parallel_corpus: "parallel corpus"
|
291
290
|
)
|
292
291
|
assert_equal(expected, service_response.result)
|
293
292
|
|
@@ -295,7 +294,6 @@ class LanguageTranslatorV3Test < Minitest::Test
|
|
295
294
|
base_model_id: "en-fr",
|
296
295
|
name: "test_glossary",
|
297
296
|
forced_glossary: custom_model,
|
298
|
-
forced_glossary_filename: "language_translator_model.tmx",
|
299
297
|
parallel_corpus: "parallel corpus"
|
300
298
|
)
|
301
299
|
assert_equal(expected, service_response.result)
|
@@ -101,9 +101,7 @@ class NaturalLanguageClassifierV1Test < Minitest::Test
|
|
101
101
|
training_data = File.open(Dir.getwd + "/resources/weather_data_train.csv")
|
102
102
|
service_response = service.create_classifier(
|
103
103
|
training_data: training_data,
|
104
|
-
|
105
|
-
metadata: { "language" => "en" },
|
106
|
-
metadata_filename: "metadata"
|
104
|
+
metadata: { "language" => "en" }
|
107
105
|
)
|
108
106
|
assert_equal(create_response, service_response.result)
|
109
107
|
|
@@ -3,9 +3,25 @@
|
|
3
3
|
require("json")
|
4
4
|
require_relative("./../test_helper.rb")
|
5
5
|
require("webmock/minitest")
|
6
|
+
require_relative("./../../lib/ibm_watson/websocket/recognize_callback.rb")
|
6
7
|
|
7
8
|
WebMock.disable_net_connect!(allow_localhost: true)
|
8
9
|
|
10
|
+
class MyRecognizeCallback < IBMWatson::RecognizeCallback
|
11
|
+
def initialize(atomic_boolean: nil)
|
12
|
+
super
|
13
|
+
@atomic_boolean = atomic_boolean
|
14
|
+
end
|
15
|
+
|
16
|
+
def on_error(*)
|
17
|
+
@atomic_boolean.make_true
|
18
|
+
end
|
19
|
+
|
20
|
+
def on_inactivity_timeout(*)
|
21
|
+
@atomic_boolean.make_true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
9
25
|
# Unit tests for the Speech to Text V1 Service
|
10
26
|
class SpeechToTextV1Test < Minitest::Test
|
11
27
|
def test_success
|
@@ -63,6 +79,14 @@ class SpeechToTextV1Test < Minitest::Test
|
|
63
79
|
content_type: "audio/l16; rate=44100"
|
64
80
|
)
|
65
81
|
assert_equal(recognize_response, service_response.result)
|
82
|
+
|
83
|
+
mycallback = MyRecognizeCallback.new
|
84
|
+
service_response = service.recognize_using_websocket(
|
85
|
+
audio: audio_file,
|
86
|
+
recognize_callback: mycallback,
|
87
|
+
content_type: "audio/l16; rate=44100"
|
88
|
+
)
|
89
|
+
refute_nil(service_response)
|
66
90
|
end
|
67
91
|
|
68
92
|
def test_get_model
|
@@ -142,7 +166,6 @@ class SpeechToTextV1Test < Minitest::Test
|
|
142
166
|
stub_request(:delete, "https://stream.watsonplatform.net/speech-to-text/api/v1/recognitions/jobid")
|
143
167
|
.with(
|
144
168
|
headers: {
|
145
|
-
"Accept" => "application/json",
|
146
169
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
147
170
|
"Host" => "stream.watsonplatform.net"
|
148
171
|
}
|
@@ -161,7 +184,6 @@ class SpeechToTextV1Test < Minitest::Test
|
|
161
184
|
stub_request(:post, "https://stream.watsonplatform.net/speech-to-text/api/v1/register_callback?callback_url=monitorcalls.com")
|
162
185
|
.with(
|
163
186
|
headers: {
|
164
|
-
"Accept" => "application/json",
|
165
187
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
166
188
|
"Host" => "stream.watsonplatform.net"
|
167
189
|
}
|
@@ -174,7 +196,6 @@ class SpeechToTextV1Test < Minitest::Test
|
|
174
196
|
stub_request(:post, "https://stream.watsonplatform.net/speech-to-text/api/v1/unregister_callback?callback_url=monitorcalls.com")
|
175
197
|
.with(
|
176
198
|
headers: {
|
177
|
-
"Accept" => "application/json",
|
178
199
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
179
200
|
"Host" => "stream.watsonplatform.net"
|
180
201
|
}
|
@@ -351,7 +372,6 @@ class SpeechToTextV1Test < Minitest::Test
|
|
351
372
|
stub_request(:post, "https://stream.watsonplatform.net/speech-to-text/api/v1/customizations/customid/corpora/corpus")
|
352
373
|
.with(
|
353
374
|
headers: {
|
354
|
-
"Accept" => "application/json",
|
355
375
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
356
376
|
"Host" => "stream.watsonplatform.net"
|
357
377
|
}
|
@@ -360,8 +380,7 @@ class SpeechToTextV1Test < Minitest::Test
|
|
360
380
|
service_response = service.add_corpus(
|
361
381
|
customization_id: "customid",
|
362
382
|
corpus_name: "corpus",
|
363
|
-
corpus_file: corpus_file
|
364
|
-
corpus_filename: "corpus-short-1.txt"
|
383
|
+
corpus_file: corpus_file
|
365
384
|
)
|
366
385
|
assert_nil(service_response)
|
367
386
|
|
@@ -699,7 +718,6 @@ class SpeechToTextV1Test < Minitest::Test
|
|
699
718
|
stub_request(:delete, "https://stream.watsonplatform.net/speech-to-text/api/v1/user_data?customer_id=id")
|
700
719
|
.with(
|
701
720
|
headers: {
|
702
|
-
"Accept" => "application/json",
|
703
721
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
704
722
|
"Host" => "stream.watsonplatform.net"
|
705
723
|
}
|
@@ -220,7 +220,6 @@ class TextToSpeechV1Test < Minitest::Test
|
|
220
220
|
stub_request(:delete, "https://stream.watsonplatform.net/text-to-speech/api/v1/customizations/custid")
|
221
221
|
.with(
|
222
222
|
headers: {
|
223
|
-
"Accept" => "application/json",
|
224
223
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
225
224
|
"Host" => "stream.watsonplatform.net"
|
226
225
|
}
|
@@ -287,7 +286,6 @@ class TextToSpeechV1Test < Minitest::Test
|
|
287
286
|
.with(
|
288
287
|
body: "{\"translation\":\"I'm translated\"}",
|
289
288
|
headers: {
|
290
|
-
"Accept" => "application/json",
|
291
289
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
292
290
|
"Content-Type" => "application/json",
|
293
291
|
"Host" => "stream.watsonplatform.net"
|
@@ -303,7 +301,6 @@ class TextToSpeechV1Test < Minitest::Test
|
|
303
301
|
stub_request(:delete, "https://stream.watsonplatform.net/text-to-speech/api/v1/customizations/custid/words/word")
|
304
302
|
.with(
|
305
303
|
headers: {
|
306
|
-
"Accept" => "application/json",
|
307
304
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
308
305
|
"Host" => "stream.watsonplatform.net"
|
309
306
|
}
|
@@ -323,7 +320,6 @@ class TextToSpeechV1Test < Minitest::Test
|
|
323
320
|
stub_request(:delete, "https://stream.watsonplatform.net/text-to-speech/api/v1/user_data?customer_id=id")
|
324
321
|
.with(
|
325
322
|
headers: {
|
326
|
-
"Accept" => "application/json",
|
327
323
|
"Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
|
328
324
|
"Host" => "stream.watsonplatform.net"
|
329
325
|
}
|
@@ -124,9 +124,7 @@ class VisualRecognitionV3Test < Minitest::Test
|
|
124
124
|
service_response = service.create_classifier(
|
125
125
|
name: "Cars vs Trucks",
|
126
126
|
positive_examples: { cars: "cars" },
|
127
|
-
|
128
|
-
negative_examples: "trucks",
|
129
|
-
negative_examples_filename: "trucks"
|
127
|
+
negative_examples: "trucks"
|
130
128
|
)
|
131
129
|
assert_equal(response, service_response.result)
|
132
130
|
end
|
@@ -166,9 +164,7 @@ class VisualRecognitionV3Test < Minitest::Test
|
|
166
164
|
service_response = service.update_classifier(
|
167
165
|
classifier_id: "bogusid",
|
168
166
|
positive_examples: { example: "positive examples classname" },
|
169
|
-
|
170
|
-
negative_examples: "negative examples",
|
171
|
-
negative_examples_filename: "negative_filename"
|
167
|
+
negative_examples: "negative examples"
|
172
168
|
)
|
173
169
|
assert_equal(response, service_response.result)
|
174
170
|
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: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Nussbaum
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|