ibm_watson 0.9.2 → 0.10.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.
@@ -20,6 +20,7 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
20
20
  }
21
21
  )
22
22
  service_response = service.profile(
23
+ accept: "application/json",
23
24
  content: personality_text,
24
25
  content_type: "text/plain;charset=utf-8"
25
26
  )
@@ -40,6 +41,7 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
40
41
  }
41
42
  )
42
43
  service_response = service.profile(
44
+ accept: "application/json",
43
45
  content: personality_text,
44
46
  content_type: "application/json",
45
47
  raw_scores: true,
@@ -86,6 +88,7 @@ if !ENV["PERSONALITY_INSIGHTS_USERNAME"].nil? && !ENV["PERSONALITY_INSIGHTS_PASS
86
88
  }
87
89
  )
88
90
  service_response = service.profile(
91
+ accept: "application/json",
89
92
  content: personality_text,
90
93
  content_type: "text/plain;charset=utf-8",
91
94
  content_language: "es",
@@ -47,7 +47,7 @@ if !ENV["VISUAL_RECOGNITION_IAM_APIKEY"].nil? && !ENV["VISUAL_RECOGNITION_IAM_UR
47
47
  trucks = File.open(Dir.getwd + "/resources/trucks.zip")
48
48
  classifier = @service.create_classifier(
49
49
  name: "CarsVsTrucks",
50
- cars_positive_examples: cars,
50
+ positive_examples: { cars: cars },
51
51
  negative_examples: trucks
52
52
  ).result
53
53
  refute(classifier.nil?)
@@ -0,0 +1,289 @@
1
+ # frozen_string_literal: true
2
+
3
+ require("json")
4
+ require_relative("./../test_helper.rb")
5
+ require("webmock/minitest")
6
+ SimpleCov.command_name "test:unit"
7
+
8
+ WebMock.disable_net_connect!(allow_localhost: true)
9
+
10
+ # Unit tests for the Watson Assistant V1 Service
11
+ class CompareComplyV1 < Minitest::Test
12
+ def test_convert_to_html
13
+ # service.set_default_headers("x-watson-learning-opt-out" => true)
14
+ service = IBMWatson::CompareComplyV1.new(
15
+ iam_apikey: "apikey",
16
+ iam_access_token: "token"
17
+ )
18
+ file = File.open(Dir.getwd + "/resources/cnc_test.pdf")
19
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/html_conversion").with do |req|
20
+ # Test the headers.
21
+ assert_equal(req.headers["Accept"], "application/json")
22
+ assert_match(%r{\Amultipart/form-data}, req.headers["Content-Type"])
23
+ end
24
+ service.convert_to_html(
25
+ file: file
26
+ )
27
+ service.convert_to_html(
28
+ file: "dummy",
29
+ filename: "file"
30
+ )
31
+ end
32
+
33
+ def test_classify_elements
34
+ # service.set_default_headers("x-watson-learning-opt-out" => true)
35
+ service = IBMWatson::CompareComplyV1.new(
36
+ iam_apikey: "apikey",
37
+ iam_access_token: "token"
38
+ )
39
+ file = File.open(Dir.getwd + "/resources/cnc_test.pdf")
40
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/element_classification").with do |req|
41
+ assert_equal(req.headers["Accept"], "application/json")
42
+ assert_match(%r{\Amultipart/form-data}, req.headers["Content-Type"])
43
+ assert_match(/Content-Disposition: form-data/, req.body)
44
+ end
45
+ service.classify_elements(
46
+ file: file
47
+ )
48
+ service.classify_elements(
49
+ file: "dummy",
50
+ filename: "file"
51
+ )
52
+ end
53
+
54
+ def test_extract_tables
55
+ # service.set_default_headers("x-watson-learning-opt-out" => true)
56
+ service = IBMWatson::CompareComplyV1.new(
57
+ iam_apikey: "apikey",
58
+ iam_access_token: "token"
59
+ )
60
+ file = File.open(Dir.getwd + "/resources/cnc_test.pdf")
61
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/tables").with do |req|
62
+ assert_equal(req.headers["Accept"], "application/json")
63
+ assert_match(%r{\Amultipart/form-data}, req.headers["Content-Type"])
64
+ assert_match(/Content-Disposition: form-data/, req.body)
65
+ end
66
+ service.extract_tables(
67
+ file: file
68
+ )
69
+ service.extract_tables(
70
+ file: "dummy",
71
+ filename: "file"
72
+ )
73
+ end
74
+
75
+ def test_compare_documents
76
+ # service.set_default_headers("x-watson-learning-opt-out" => true)
77
+ service = IBMWatson::CompareComplyV1.new(
78
+ iam_apikey: "apikey",
79
+ iam_access_token: "token"
80
+ )
81
+ file = File.open(Dir.getwd + "/resources/cnc_test.pdf")
82
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/comparison").with do |req|
83
+ assert_equal(req.headers["Accept"], "application/json")
84
+ assert_match(%r{\Amultipart/form-data}, req.headers["Content-Type"])
85
+ assert_match(/Content-Disposition: form-data/, req.body)
86
+ end
87
+ service.compare_documents(
88
+ file_1: file,
89
+ file_2: file
90
+ )
91
+ service.compare_documents(
92
+ file_1: "dummy data",
93
+ file_1_filename: "file1",
94
+ file_2: "dummy data",
95
+ file_2_filename: "file1"
96
+ )
97
+ end
98
+
99
+ def test_list_feedback
100
+ service = IBMWatson::CompareComplyV1.new(
101
+ iam_apikey: "apikey",
102
+ iam_access_token: "token"
103
+ )
104
+ message_response = {
105
+ "feedback" => [
106
+ {
107
+ "feedback_id" => "another_one",
108
+ "text" => "we the best music"
109
+ }
110
+ ]
111
+ }
112
+ headers = {
113
+ "Content-Type" => "application/json"
114
+ }
115
+ stub_request(:get, "https://gateway.watsonplatform.net/compare-comply/api/v1/feedback")
116
+ .with(
117
+ headers: {
118
+ "Accept" => "application/json",
119
+ "Authorization" => "Bearer token",
120
+ "Host" => "gateway.watsonplatform.net"
121
+ }
122
+ ).to_return(status: 200, body: message_response.to_json, headers: headers)
123
+
124
+ service_response = service.list_feedback
125
+ assert_equal(message_response, service_response.result)
126
+ end
127
+
128
+ def test_add_feedback
129
+ service = IBMWatson::CompareComplyV1.new(
130
+ iam_apikey: "apikey",
131
+ iam_access_token: "token"
132
+ )
133
+ message_response = {
134
+ "feedback_id" => "another_one"
135
+ }
136
+ headers = {
137
+ "Content-Type" => "application/json"
138
+ }
139
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/feedback")
140
+ .with(
141
+ headers: {
142
+ "Accept" => "application/json",
143
+ "Authorization" => "Bearer token",
144
+ "Host" => "gateway.watsonplatform.net"
145
+ }
146
+ ).to_return(status: 200, body: message_response.to_json, headers: headers)
147
+
148
+ service_response = service.add_feedback(
149
+ feedback_data: "we the best music"
150
+ )
151
+ assert_equal(message_response, service_response.result)
152
+ end
153
+
154
+ def test_get_feedback
155
+ service = IBMWatson::CompareComplyV1.new(
156
+ iam_apikey: "apikey",
157
+ iam_access_token: "token"
158
+ )
159
+ message_response = {
160
+ "feedback_id" => "messi"
161
+ }
162
+ headers = {
163
+ "Content-Type" => "application/json"
164
+ }
165
+ stub_request(:get, "https://gateway.watsonplatform.net/compare-comply/api/v1/feedback/messi")
166
+ .with(
167
+ headers: {
168
+ "Accept" => "application/json",
169
+ "Authorization" => "Bearer token",
170
+ "Host" => "gateway.watsonplatform.net"
171
+ }
172
+ ).to_return(status: 200, body: message_response.to_json, headers: headers)
173
+
174
+ service_response = service.get_feedback(
175
+ feedback_id: "messi"
176
+ )
177
+ assert_equal(message_response, service_response.result)
178
+ end
179
+
180
+ def test_delete_feedback
181
+ service = IBMWatson::CompareComplyV1.new(
182
+ iam_apikey: "apikey",
183
+ iam_access_token: "token"
184
+ )
185
+ message_response = "200"
186
+ stub_request(:delete, "https://gateway.watsonplatform.net/compare-comply/api/v1/feedback/messi")
187
+ .with(
188
+ headers: {
189
+ "Accept" => "application/json",
190
+ "Authorization" => "Bearer token",
191
+ "Host" => "gateway.watsonplatform.net"
192
+ }
193
+ ).to_return(status: 200, body: message_response, headers: {})
194
+
195
+ service_response = service.delete_feedback(
196
+ feedback_id: "messi"
197
+ )
198
+ assert_equal(message_response, service_response.result)
199
+ end
200
+
201
+ def test_create_batch
202
+ service = IBMWatson::CompareComplyV1.new(
203
+ iam_apikey: "apikey",
204
+ iam_access_token: "token"
205
+ )
206
+ stub_request(:post, "https://gateway.watsonplatform.net/compare-comply/api/v1/batches?function=tables")
207
+ .with do |req|
208
+ assert_equal req.headers["Accept"], "application/json"
209
+ assert_match %r{\Amultipart/form-data}, req.headers["Content-Type"]
210
+ end
211
+
212
+ service.create_batch(
213
+ function: "tables",
214
+ input_credentials_file: { key: "ip" },
215
+ input_bucket_location: "us",
216
+ input_bucket_name: "bucket",
217
+ output_credentials_file: { key: "op" },
218
+ output_bucket_location: "you",
219
+ output_bucket_name: "obucket"
220
+ )
221
+ end
222
+
223
+ def test_list_batches
224
+ service = IBMWatson::CompareComplyV1.new(
225
+ iam_apikey: "apikey",
226
+ iam_access_token: "token"
227
+ )
228
+ message_response = {
229
+ "batches" => []
230
+ }
231
+ headers = {
232
+ "Content-Type" => "application/json"
233
+ }
234
+ stub_request(:get, "https://gateway.watsonplatform.net/compare-comply/api/v1/batches")
235
+ .with(
236
+ headers: {
237
+ "Accept" => "application/json",
238
+ "Authorization" => "Bearer token",
239
+ "Host" => "gateway.watsonplatform.net"
240
+ }
241
+ ).to_return(status: 200, body: message_response.to_json, headers: headers)
242
+
243
+ service_response = service.list_batches
244
+ assert_equal(message_response, service_response.result)
245
+ end
246
+
247
+ def test_get_batch
248
+ service = IBMWatson::CompareComplyV1.new(
249
+ iam_apikey: "apikey",
250
+ iam_access_token: "token"
251
+ )
252
+ message_response = "200"
253
+ stub_request(:get, "https://gateway.watsonplatform.net/compare-comply/api/v1/batches/mo")
254
+ .with(
255
+ headers: {
256
+ "Accept" => "application/json",
257
+ "Authorization" => "Bearer token",
258
+ "Host" => "gateway.watsonplatform.net"
259
+ }
260
+ ).to_return(status: 200, body: message_response, headers: {})
261
+
262
+ service_response = service.get_batch(
263
+ batch_id: "mo"
264
+ )
265
+ assert_equal(message_response, service_response.result)
266
+ end
267
+
268
+ def test_update_batch
269
+ service = IBMWatson::CompareComplyV1.new(
270
+ iam_apikey: "apikey",
271
+ iam_access_token: "token"
272
+ )
273
+ message_response = "200"
274
+ stub_request(:put, "https://gateway.watsonplatform.net/compare-comply/api/v1/batches/mo?action=goal")
275
+ .with(
276
+ headers: {
277
+ "Accept" => "application/json",
278
+ "Authorization" => "Bearer token",
279
+ "Host" => "gateway.watsonplatform.net"
280
+ }
281
+ ).to_return(status: 200, body: message_response, headers: {})
282
+
283
+ service_response = service.update_batch(
284
+ batch_id: "mo",
285
+ action: "goal"
286
+ )
287
+ assert_equal(message_response, service_response.result)
288
+ end
289
+ end
@@ -31,6 +31,7 @@ class PersonalityInsightsV3Test < Minitest::Test
31
31
  password: "password"
32
32
  )
33
33
  service_response = service.profile(
34
+ accept: "application/json",
34
35
  content: personality_text,
35
36
  content_type: "text/plain;charset=utf-8"
36
37
  )
@@ -52,6 +53,7 @@ class PersonalityInsightsV3Test < Minitest::Test
52
53
  }
53
54
  ).to_return(status: 200, body: { "profile" => "response" }.to_json, headers: headers)
54
55
  service_response = service.profile(
56
+ accept: "application/json",
55
57
  content: { "personality" => "text" },
56
58
  content_type: "application/json"
57
59
  )
@@ -81,6 +83,7 @@ class PersonalityInsightsV3Test < Minitest::Test
81
83
  password: "password"
82
84
  )
83
85
  service_response = service.profile(
86
+ accept: "application/json",
84
87
  content: personality_text,
85
88
  content_type: "application/json",
86
89
  raw_scores: true,
@@ -157,6 +160,7 @@ class PersonalityInsightsV3Test < Minitest::Test
157
160
  password: "password"
158
161
  )
159
162
  service_response = service.profile(
163
+ accept: "application/json",
160
164
  content: personality_text,
161
165
  content_type: "text/plain;charset=utf-8",
162
166
  content_language: "es",
@@ -31,6 +31,7 @@ class VcapPersonalityInsightsV3Test < Minitest::Test
31
31
  version: "2017-10-13"
32
32
  )
33
33
  service_response = service.profile(
34
+ accept: "application/json",
34
35
  content: personality_text,
35
36
  content_type: "text/plain;charset=utf-8"
36
37
  )
@@ -63,6 +64,7 @@ class VcapPersonalityInsightsV3Test < Minitest::Test
63
64
  version: "2017-10-13"
64
65
  )
65
66
  service_response = service.profile(
67
+ accept: "application/json",
66
68
  content: personality_text,
67
69
  content_type: "application/json",
68
70
  raw_scores: true,
@@ -135,6 +137,7 @@ class VcapPersonalityInsightsV3Test < Minitest::Test
135
137
  version: "2017-10-13"
136
138
  )
137
139
  service_response = service.profile(
140
+ accept: "application/json",
138
141
  content: personality_text,
139
142
  content_type: "text/plain;charset=utf-8",
140
143
  content_language: "es",
@@ -116,15 +116,15 @@ class VisualRecognitionV3Test < Minitest::Test
116
116
  ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
117
117
  service_response = service.create_classifier(
118
118
  name: "Cars vs Trucks",
119
- classname_positive_examples: cars,
119
+ positive_examples: { cars: cars },
120
120
  negative_examples: trucks
121
121
  )
122
122
  assert_equal(response, service_response.result)
123
123
 
124
124
  service_response = service.create_classifier(
125
125
  name: "Cars vs Trucks",
126
- cars_positive_examples: "cars",
127
- cars_positive_examples_filename: "cars",
126
+ positive_examples: { cars: "cars" },
127
+ positive_examples_filename: { cars: "cars" },
128
128
  negative_examples: "trucks",
129
129
  negative_examples_filename: "trucks"
130
130
  )
@@ -158,15 +158,15 @@ class VisualRecognitionV3Test < Minitest::Test
158
158
  ).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
159
159
  service_response = service.update_classifier(
160
160
  classifier_id: "bogusid",
161
- positive_positive_examples: "positive examples classname",
161
+ positive_examples: { example: "positive examples classname" },
162
162
  negative_examples: "negative examples"
163
163
  )
164
164
  assert_equal(response, service_response.result)
165
165
 
166
166
  service_response = service.update_classifier(
167
167
  classifier_id: "bogusid",
168
- positive_positive_examples: "positive examples file",
169
- positive_positive_examples_filename: "positive_filename",
168
+ positive_examples: { example: "positive examples classname" },
169
+ positive_examples_filename: { example: "positive_filename" },
170
170
  negative_examples: "negative examples",
171
171
  negative_examples_filename: "negative_filename"
172
172
  )
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.9.2
4
+ version: 0.10.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: 2018-11-21 00:00:00.000000000 Z
11
+ date: 2018-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -246,6 +246,7 @@ files:
246
246
  - lib/ibm_watson.rb
247
247
  - lib/ibm_watson/assistant_v1.rb
248
248
  - lib/ibm_watson/assistant_v2.rb
249
+ - lib/ibm_watson/compare_comply_v1.rb
249
250
  - lib/ibm_watson/detailed_response.rb
250
251
  - lib/ibm_watson/discovery_v1.rb
251
252
  - lib/ibm_watson/iam_token_manager.rb
@@ -266,6 +267,7 @@ files:
266
267
  - test/appveyor_status.rb
267
268
  - test/integration/test_assistant_v1.rb
268
269
  - test/integration/test_assistant_v2.rb
270
+ - test/integration/test_compare_comply_v1.rb
269
271
  - test/integration/test_discovery_v1.rb
270
272
  - test/integration/test_iam_assistant_v1.rb
271
273
  - test/integration/test_language_translator_v3.rb
@@ -279,6 +281,7 @@ files:
279
281
  - test/test_helper.rb
280
282
  - test/unit/test_assistant_v1.rb
281
283
  - test/unit/test_assistant_v2.rb
284
+ - test/unit/test_compare_comply_v1.rb
282
285
  - test/unit/test_configure_http_client.rb
283
286
  - test/unit/test_discovery_v1.rb
284
287
  - test/unit/test_iam_token_manager.rb