ibm_watson 1.0.0 → 1.1.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/README.md +7 -2
- data/lib/ibm_watson.rb +1 -0
- data/lib/ibm_watson/assistant_v1.rb +22 -14
- data/lib/ibm_watson/assistant_v2.rb +7 -2
- data/lib/ibm_watson/discovery_v1.rb +2 -2
- data/lib/ibm_watson/discovery_v2.rb +762 -0
- data/lib/ibm_watson/speech_to_text_v1.rb +10 -0
- data/lib/ibm_watson/version.rb +1 -1
- data/lib/ibm_watson/visual_recognition_v4.rb +39 -6
- data/test/integration/test_assistant_v1.rb +2 -4
- data/test/integration/test_compare_comply_v1.rb +1 -1
- data/test/integration/test_discovery_v2.rb +144 -0
- data/test/unit/test_assistant_v1.rb +13 -403
- data/test/unit/test_assistant_v2.rb +8 -26
- data/test/unit/test_compare_comply_v1.rb +8 -93
- data/test/unit/test_discovery_v1.rb +10 -399
- data/test/unit/test_discovery_v2.rb +237 -0
- data/test/unit/test_visual_recognition_v4.rb +54 -131
- metadata +7 -4
@@ -0,0 +1,237 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require("json")
|
4
|
+
require_relative("./../test_helper.rb")
|
5
|
+
require("webmock/minitest")
|
6
|
+
require("stringio")
|
7
|
+
|
8
|
+
WebMock.disable_net_connect!(allow_localhost: true)
|
9
|
+
|
10
|
+
# Unit tests for the Discovery V1 Service
|
11
|
+
class DiscoveryV2Test < Minitest::Test
|
12
|
+
include Minitest::Hooks
|
13
|
+
attr_accessor :service
|
14
|
+
def before_all
|
15
|
+
authenticator = IBMWatson::Authenticators::NoAuthAuthenticator.new
|
16
|
+
@service = IBMWatson::DiscoveryV2.new(
|
17
|
+
version: "2018-03-05",
|
18
|
+
authenticator: authenticator,
|
19
|
+
service_url: "https://gateway.watsonplatform.net/discovery/api"
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_collections
|
24
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/collections?version=2018-03-05")
|
25
|
+
.with(
|
26
|
+
headers: {
|
27
|
+
"Accept" => "application/json",
|
28
|
+
"Host" => "gateway.watsonplatform.net"
|
29
|
+
}
|
30
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
31
|
+
service_response = service.list_collections(
|
32
|
+
project_id: "project"
|
33
|
+
)
|
34
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_query
|
38
|
+
stub_request(:post, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/query?version=2018-03-05")
|
39
|
+
.with(
|
40
|
+
body: "{\"count\":10}",
|
41
|
+
headers: {
|
42
|
+
"Accept" => "application/json",
|
43
|
+
"Host" => "gateway.watsonplatform.net"
|
44
|
+
}
|
45
|
+
).to_return(status: 200, body: { body: "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
46
|
+
service_response = service.query(
|
47
|
+
project_id: "project",
|
48
|
+
count: 10
|
49
|
+
)
|
50
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_get_autocompletion
|
54
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/autocompletion?prefix=hi&version=2018-03-05")
|
55
|
+
.with(
|
56
|
+
headers: {
|
57
|
+
"Accept" => "application/json",
|
58
|
+
"Host" => "gateway.watsonplatform.net"
|
59
|
+
}
|
60
|
+
).to_return(status: 200, body: { "received" => "true" }.to_json, headers: { "Content-Type" => "application/json" })
|
61
|
+
service_response = service.get_autocompletion(
|
62
|
+
project_id: "project",
|
63
|
+
prefix: "hi"
|
64
|
+
)
|
65
|
+
assert_equal({ "received" => "true" }, service_response.result)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_query_notices
|
69
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/notices?version=2018-03-05")
|
70
|
+
.with(
|
71
|
+
headers: {
|
72
|
+
"Accept" => "application/json",
|
73
|
+
"Host" => "gateway.watsonplatform.net"
|
74
|
+
}
|
75
|
+
).to_return(status: 200, body: { "received" => "true" }.to_json, headers: { "Content-Type" => "application/json" })
|
76
|
+
service_response = service.query_notices(
|
77
|
+
project_id: "project"
|
78
|
+
)
|
79
|
+
assert_equal({ "received" => "true" }, service_response.result)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_list_fields
|
83
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/fields?collection_ids=collid&version=2018-03-05")
|
84
|
+
.with(
|
85
|
+
headers: {
|
86
|
+
"Accept" => "application/json",
|
87
|
+
"Host" => "gateway.watsonplatform.net"
|
88
|
+
}
|
89
|
+
).to_return(status: 200, body: { "received" => "true" }.to_json, headers: { "Content-Type" => "application/json" })
|
90
|
+
service_response = service.list_fields(
|
91
|
+
project_id: "project",
|
92
|
+
collection_ids: ["collid"]
|
93
|
+
)
|
94
|
+
assert_equal({ "received" => "true" }, service_response.result)
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_get_component_settings
|
98
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/component_settings?version=2018-03-05")
|
99
|
+
.with(
|
100
|
+
headers: {
|
101
|
+
"Accept" => "application/json",
|
102
|
+
"Host" => "gateway.watsonplatform.net"
|
103
|
+
}
|
104
|
+
).to_return(status: 200, body: { "received" => "true" }.to_json, headers: { "Content-Type" => "application/json" })
|
105
|
+
service_response = service.get_component_settings(
|
106
|
+
project_id: "project"
|
107
|
+
)
|
108
|
+
assert_equal({ "received" => "true" }, service_response.result)
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_add_document
|
112
|
+
stub_request(:post, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/collections/collid/documents?version=2018-03-05")
|
113
|
+
.with(
|
114
|
+
headers: {
|
115
|
+
"Accept" => "application/json",
|
116
|
+
"Host" => "gateway.watsonplatform.net"
|
117
|
+
}
|
118
|
+
).to_return(status: 200, body: { body: [] }.to_json, headers: { "Content-Type" => "application/json" })
|
119
|
+
File.open(Dir.getwd + "/resources/simple.html") do |file_info|
|
120
|
+
service_response = service.add_document(
|
121
|
+
project_id: "project",
|
122
|
+
collection_id: "collid",
|
123
|
+
file: file_info
|
124
|
+
)
|
125
|
+
refute(service_response.nil?)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_update_document
|
130
|
+
stub_request(:post, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/collections/collid/documents/docid?version=2018-03-05")
|
131
|
+
.with(
|
132
|
+
headers: {
|
133
|
+
"Accept" => "application/json",
|
134
|
+
"Host" => "gateway.watsonplatform.net"
|
135
|
+
}
|
136
|
+
).to_return(status: 200, body: { body: [] }.to_json, headers: { "Content-Type" => "application/json" })
|
137
|
+
service_response = service.update_document(
|
138
|
+
project_id: "project",
|
139
|
+
collection_id: "collid",
|
140
|
+
document_id: "docid",
|
141
|
+
file: "file",
|
142
|
+
filename: "file.name"
|
143
|
+
)
|
144
|
+
assert_equal({ "body" => [] }, service_response.result)
|
145
|
+
end
|
146
|
+
|
147
|
+
def test_delete_document
|
148
|
+
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/collections/collid/documents/docid?version=2018-03-05")
|
149
|
+
.with(
|
150
|
+
headers: {
|
151
|
+
"Accept" => "application/json",
|
152
|
+
"Host" => "gateway.watsonplatform.net"
|
153
|
+
}
|
154
|
+
).to_return(status: 200, body: { body: [] }.to_json, headers: { "Content-Type" => "application/json" })
|
155
|
+
service_response = service.delete_document(
|
156
|
+
project_id: "project",
|
157
|
+
collection_id: "collid",
|
158
|
+
document_id: "docid"
|
159
|
+
)
|
160
|
+
assert_equal({ "body" => [] }, service_response.result)
|
161
|
+
end
|
162
|
+
|
163
|
+
def test_list_training_queries
|
164
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/training_data/queries?version=2018-03-05")
|
165
|
+
.with(
|
166
|
+
headers: {
|
167
|
+
"Accept" => "application/json",
|
168
|
+
"Host" => "gateway.watsonplatform.net"
|
169
|
+
}
|
170
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
171
|
+
service_response = service.list_training_queries(
|
172
|
+
project_id: "project"
|
173
|
+
)
|
174
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
175
|
+
end
|
176
|
+
|
177
|
+
def test_delete_training_queries
|
178
|
+
stub_request(:delete, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/training_data/queries?version=2018-03-05")
|
179
|
+
.with(
|
180
|
+
headers: {
|
181
|
+
"Host" => "gateway.watsonplatform.net"
|
182
|
+
}
|
183
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
184
|
+
service_response = service.delete_training_queries(
|
185
|
+
project_id: "project"
|
186
|
+
)
|
187
|
+
assert_nil(service_response)
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_create_training_query
|
191
|
+
stub_request(:post, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/training_data/queries?version=2018-03-05")
|
192
|
+
.with(
|
193
|
+
headers: {
|
194
|
+
"Accept" => "application/json",
|
195
|
+
"Host" => "gateway.watsonplatform.net"
|
196
|
+
}
|
197
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
198
|
+
service_response = service.create_training_query(
|
199
|
+
project_id: "project",
|
200
|
+
natural_language_query: "query",
|
201
|
+
examples: []
|
202
|
+
)
|
203
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
204
|
+
end
|
205
|
+
|
206
|
+
def test_get_training_query
|
207
|
+
stub_request(:get, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/training_data/queries/queryid?version=2018-03-05")
|
208
|
+
.with(
|
209
|
+
headers: {
|
210
|
+
"Accept" => "application/json",
|
211
|
+
"Host" => "gateway.watsonplatform.net"
|
212
|
+
}
|
213
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
214
|
+
service_response = service.get_training_query(
|
215
|
+
project_id: "project",
|
216
|
+
query_id: "queryid"
|
217
|
+
)
|
218
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
219
|
+
end
|
220
|
+
|
221
|
+
def test_update_training_query
|
222
|
+
stub_request(:post, "https://gateway.watsonplatform.net/discovery/api/v2/projects/project/training_data/queries/queryid?version=2018-03-05")
|
223
|
+
.with(
|
224
|
+
headers: {
|
225
|
+
"Accept" => "application/json",
|
226
|
+
"Host" => "gateway.watsonplatform.net"
|
227
|
+
}
|
228
|
+
).to_return(status: 200, body: { "body" => "hello" }.to_json, headers: { "Content-Type" => "application/json" })
|
229
|
+
service_response = service.update_training_query(
|
230
|
+
project_id: "project",
|
231
|
+
query_id: "queryid",
|
232
|
+
natural_language_query: "query",
|
233
|
+
examples: []
|
234
|
+
)
|
235
|
+
assert_equal({ "body" => "hello" }, service_response.result)
|
236
|
+
end
|
237
|
+
end
|
@@ -8,14 +8,17 @@ WebMock.disable_net_connect!(allow_localhost: true)
|
|
8
8
|
|
9
9
|
# Unit tests for the Visual Recognition V3 Service
|
10
10
|
class VisualRecognitionV4Test < Minitest::Test
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
11
|
+
include Minitest::Hooks
|
12
|
+
attr_accessor :service
|
13
|
+
def before_all
|
14
|
+
authenticator = IBMWatson::Authenticators::NoAuthAuthenticator.new
|
15
|
+
@service = IBMWatson::VisualRecognitionV4.new(
|
16
16
|
version: "2018-03-19",
|
17
17
|
authenticator: authenticator
|
18
18
|
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_analyze
|
19
22
|
file = File.open(Dir.getwd + "/resources/cnc_test.pdf")
|
20
23
|
stub_request(:post, "https://gateway.watsonplatform.net/visual-recognition/api/v4/analyze?version=2018-03-19").with do |req|
|
21
24
|
assert_equal(req.headers["Accept"], "application/json")
|
@@ -37,13 +40,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
37
40
|
end
|
38
41
|
|
39
42
|
def test_analyze_url
|
40
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
41
|
-
bearer_token: "bogus_access_token"
|
42
|
-
)
|
43
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
44
|
-
version: "2018-03-19",
|
45
|
-
authenticator: authenticator
|
46
|
-
)
|
47
43
|
stub_request(:post, "https://gateway.watsonplatform.net/visual-recognition/api/v4/analyze?version=2018-03-19").with do |req|
|
48
44
|
assert_equal(req.headers["Accept"], "application/json")
|
49
45
|
assert_match(%r{\Amultipart/form-data}, req.headers["Content-Type"])
|
@@ -59,13 +55,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
59
55
|
end
|
60
56
|
|
61
57
|
def test_create_collection
|
62
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
63
|
-
bearer_token: "bogus_access_token"
|
64
|
-
)
|
65
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
66
|
-
version: "2018-03-19",
|
67
|
-
authenticator: authenticator
|
68
|
-
)
|
69
58
|
response = {
|
70
59
|
"collection_id" => "collid",
|
71
60
|
"name" => "Dog Breeds",
|
@@ -82,22 +71,17 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
82
71
|
.with(
|
83
72
|
headers: {
|
84
73
|
"Accept" => "application/json",
|
85
|
-
"Host" => "gateway.watsonplatform.net"
|
86
|
-
"Authorization" => "Bearer bogus_access_token"
|
74
|
+
"Host" => "gateway.watsonplatform.net"
|
87
75
|
}
|
88
76
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
89
|
-
service_response = service.create_collection
|
77
|
+
service_response = service.create_collection(
|
78
|
+
name: "my-collection",
|
79
|
+
description: "A description of my collection"
|
80
|
+
)
|
90
81
|
assert_equal(response, service_response.result)
|
91
82
|
end
|
92
83
|
|
93
84
|
def test_list_collections
|
94
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
95
|
-
bearer_token: "bogus_access_token"
|
96
|
-
)
|
97
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
98
|
-
version: "2018-03-19",
|
99
|
-
authenticator: authenticator
|
100
|
-
)
|
101
85
|
response = {
|
102
86
|
"collections" => []
|
103
87
|
}
|
@@ -105,8 +89,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
105
89
|
.with(
|
106
90
|
headers: {
|
107
91
|
"Accept" => "application/json",
|
108
|
-
"Host" => "gateway.watsonplatform.net"
|
109
|
-
"Authorization" => "Bearer bogus_access_token"
|
92
|
+
"Host" => "gateway.watsonplatform.net"
|
110
93
|
}
|
111
94
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
112
95
|
service_response = service.list_collections
|
@@ -114,13 +97,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
114
97
|
end
|
115
98
|
|
116
99
|
def test_get_collection
|
117
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
118
|
-
bearer_token: "bogus_access_token"
|
119
|
-
)
|
120
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
121
|
-
version: "2018-03-19",
|
122
|
-
authenticator: authenticator
|
123
|
-
)
|
124
100
|
response = {
|
125
101
|
"collection_id" => "collid",
|
126
102
|
"name" => "Dog Breeds",
|
@@ -137,8 +113,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
137
113
|
.with(
|
138
114
|
headers: {
|
139
115
|
"Accept" => "application/json",
|
140
|
-
"Host" => "gateway.watsonplatform.net"
|
141
|
-
"Authorization" => "Bearer bogus_access_token"
|
116
|
+
"Host" => "gateway.watsonplatform.net"
|
142
117
|
}
|
143
118
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
144
119
|
service_response = service.get_collection(
|
@@ -148,13 +123,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
148
123
|
end
|
149
124
|
|
150
125
|
def test_update_collection
|
151
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
152
|
-
bearer_token: "bogus_access_token"
|
153
|
-
)
|
154
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
155
|
-
version: "2018-03-19",
|
156
|
-
authenticator: authenticator
|
157
|
-
)
|
158
126
|
response = {
|
159
127
|
"collection_id" => "collid",
|
160
128
|
"name" => "Dog Breeds",
|
@@ -171,8 +139,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
171
139
|
.with(
|
172
140
|
headers: {
|
173
141
|
"Accept" => "application/json",
|
174
|
-
"Host" => "gateway.watsonplatform.net"
|
175
|
-
"Authorization" => "Bearer bogus_access_token"
|
142
|
+
"Host" => "gateway.watsonplatform.net"
|
176
143
|
}
|
177
144
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
178
145
|
service_response = service.update_collection(
|
@@ -182,20 +149,12 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
182
149
|
end
|
183
150
|
|
184
151
|
def test_delete_collection
|
185
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
186
|
-
bearer_token: "bogus_access_token"
|
187
|
-
)
|
188
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
189
|
-
version: "2018-03-19",
|
190
|
-
authenticator: authenticator
|
191
|
-
)
|
192
152
|
response = {}
|
193
153
|
stub_request(:delete, "https://gateway.watsonplatform.net/visual-recognition/api/v4/collections/collid?version=2018-03-19")
|
194
154
|
.with(
|
195
155
|
headers: {
|
196
156
|
"Accept" => "application/json",
|
197
|
-
"Host" => "gateway.watsonplatform.net"
|
198
|
-
"Authorization" => "Bearer bogus_access_token"
|
157
|
+
"Host" => "gateway.watsonplatform.net"
|
199
158
|
}
|
200
159
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
201
160
|
service_response = service.delete_collection(
|
@@ -205,13 +164,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
205
164
|
end
|
206
165
|
|
207
166
|
def test_add_images
|
208
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
209
|
-
bearer_token: "bogus_access_token"
|
210
|
-
)
|
211
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
212
|
-
version: "2018-03-19",
|
213
|
-
authenticator: authenticator
|
214
|
-
)
|
215
167
|
response = {
|
216
168
|
"collection_id" => "collid"
|
217
169
|
}
|
@@ -220,8 +172,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
220
172
|
.with(
|
221
173
|
headers: {
|
222
174
|
"Accept" => "application/json",
|
223
|
-
"Host" => "gateway.watsonplatform.net"
|
224
|
-
"Authorization" => "Bearer bogus_access_token"
|
175
|
+
"Host" => "gateway.watsonplatform.net"
|
225
176
|
}
|
226
177
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
227
178
|
service_response = service.add_images(
|
@@ -238,13 +189,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
238
189
|
end
|
239
190
|
|
240
191
|
def test_list_images
|
241
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
242
|
-
bearer_token: "bogus_access_token"
|
243
|
-
)
|
244
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
245
|
-
version: "2018-03-19",
|
246
|
-
authenticator: authenticator
|
247
|
-
)
|
248
192
|
response = {
|
249
193
|
"collections" => []
|
250
194
|
}
|
@@ -252,8 +196,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
252
196
|
.with(
|
253
197
|
headers: {
|
254
198
|
"Accept" => "application/json",
|
255
|
-
"Host" => "gateway.watsonplatform.net"
|
256
|
-
"Authorization" => "Bearer bogus_access_token"
|
199
|
+
"Host" => "gateway.watsonplatform.net"
|
257
200
|
}
|
258
201
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
259
202
|
service_response = service.list_images(
|
@@ -263,13 +206,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
263
206
|
end
|
264
207
|
|
265
208
|
def test_get_image_details
|
266
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
267
|
-
bearer_token: "bogus_access_token"
|
268
|
-
)
|
269
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
270
|
-
version: "2018-03-19",
|
271
|
-
authenticator: authenticator
|
272
|
-
)
|
273
209
|
response = {
|
274
210
|
"collection_id" => "collid"
|
275
211
|
}
|
@@ -277,8 +213,7 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
277
213
|
.with(
|
278
214
|
headers: {
|
279
215
|
"Accept" => "application/json",
|
280
|
-
"Host" => "gateway.watsonplatform.net"
|
281
|
-
"Authorization" => "Bearer bogus_access_token"
|
216
|
+
"Host" => "gateway.watsonplatform.net"
|
282
217
|
}
|
283
218
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
284
219
|
service_response = service.get_image_details(
|
@@ -289,20 +224,12 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
289
224
|
end
|
290
225
|
|
291
226
|
def test_delete_image
|
292
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
293
|
-
bearer_token: "bogus_access_token"
|
294
|
-
)
|
295
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
296
|
-
version: "2018-03-19",
|
297
|
-
authenticator: authenticator
|
298
|
-
)
|
299
227
|
response = {}
|
300
228
|
stub_request(:delete, "https://gateway.watsonplatform.net/visual-recognition/api/v4/collections/collid/images/imageid?version=2018-03-19")
|
301
229
|
.with(
|
302
230
|
headers: {
|
303
231
|
"Accept" => "application/json",
|
304
|
-
"Host" => "gateway.watsonplatform.net"
|
305
|
-
"Authorization" => "Bearer bogus_access_token"
|
232
|
+
"Host" => "gateway.watsonplatform.net"
|
306
233
|
}
|
307
234
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
308
235
|
service_response = service.delete_image(
|
@@ -313,21 +240,13 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
313
240
|
end
|
314
241
|
|
315
242
|
def test_get_jpeg_image
|
316
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
317
|
-
bearer_token: "bogus_access_token"
|
318
|
-
)
|
319
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
320
|
-
version: "2018-03-19",
|
321
|
-
authenticator: authenticator
|
322
|
-
)
|
323
243
|
response = {
|
324
244
|
"collection_id" => "collid"
|
325
245
|
}
|
326
246
|
stub_request(:get, "https://gateway.watsonplatform.net/visual-recognition/api/v4/collections/collid/images/imageid/jpeg?version=2018-03-19")
|
327
247
|
.with(
|
328
248
|
headers: {
|
329
|
-
"Host" => "gateway.watsonplatform.net"
|
330
|
-
"Authorization" => "Bearer bogus_access_token"
|
249
|
+
"Host" => "gateway.watsonplatform.net"
|
331
250
|
}
|
332
251
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
333
252
|
service_response = service.get_jpeg_image(
|
@@ -338,21 +257,13 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
338
257
|
end
|
339
258
|
|
340
259
|
def test_train
|
341
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
342
|
-
bearer_token: "bogus_access_token"
|
343
|
-
)
|
344
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
345
|
-
version: "2018-03-19",
|
346
|
-
authenticator: authenticator
|
347
|
-
)
|
348
260
|
response = {
|
349
261
|
"collection_id" => "collid"
|
350
262
|
}
|
351
263
|
stub_request(:post, "https://gateway.watsonplatform.net/visual-recognition/api/v4/collections/collid/train?version=2018-03-19")
|
352
264
|
.with(
|
353
265
|
headers: {
|
354
|
-
"Host" => "gateway.watsonplatform.net"
|
355
|
-
"Authorization" => "Bearer bogus_access_token"
|
266
|
+
"Host" => "gateway.watsonplatform.net"
|
356
267
|
}
|
357
268
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
358
269
|
service_response = service.train(
|
@@ -362,13 +273,6 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
362
273
|
end
|
363
274
|
|
364
275
|
def test_add_image_training_data
|
365
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
366
|
-
bearer_token: "bogus_access_token"
|
367
|
-
)
|
368
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
369
|
-
version: "2018-03-19",
|
370
|
-
authenticator: authenticator
|
371
|
-
)
|
372
276
|
response = {
|
373
277
|
"collection_id" => "collid"
|
374
278
|
}
|
@@ -376,32 +280,34 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
376
280
|
.with(
|
377
281
|
headers: {
|
378
282
|
"Accept" => "application/json",
|
379
|
-
"Host" => "gateway.watsonplatform.net"
|
380
|
-
"Authorization" => "Bearer bogus_access_token"
|
283
|
+
"Host" => "gateway.watsonplatform.net"
|
381
284
|
}
|
382
285
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
383
286
|
service_response = service.add_image_training_data(
|
384
287
|
collection_id: "collid",
|
385
|
-
image_id: "imageid"
|
288
|
+
image_id: "imageid",
|
289
|
+
objects: [
|
290
|
+
{
|
291
|
+
object: "2018-Fit",
|
292
|
+
location: {
|
293
|
+
top: 5,
|
294
|
+
left: 13,
|
295
|
+
width: 760,
|
296
|
+
height: 419
|
297
|
+
}
|
298
|
+
}
|
299
|
+
]
|
386
300
|
)
|
387
301
|
assert_equal(response, service_response.result)
|
388
302
|
end
|
389
303
|
|
390
304
|
def test_delete_user_data
|
391
|
-
authenticator = IBMWatson::Authenticators::BearerTokenAuthenticator.new(
|
392
|
-
bearer_token: "bogus_access_token"
|
393
|
-
)
|
394
|
-
service = IBMWatson::VisualRecognitionV4.new(
|
395
|
-
version: "2018-03-19",
|
396
|
-
authenticator: authenticator
|
397
|
-
)
|
398
305
|
response = {}
|
399
306
|
stub_request(:delete, "https://gateway.watsonplatform.net/visual-recognition/api/v4/user_data?version=2018-03-19&customer_id=customer")
|
400
307
|
.with(
|
401
308
|
headers: {
|
402
309
|
"Accept" => "application/json",
|
403
|
-
"Host" => "gateway.watsonplatform.net"
|
404
|
-
"Authorization" => "Bearer bogus_access_token"
|
310
|
+
"Host" => "gateway.watsonplatform.net"
|
405
311
|
}
|
406
312
|
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
407
313
|
service_response = service.delete_user_data(
|
@@ -409,4 +315,21 @@ class VisualRecognitionV4Test < Minitest::Test
|
|
409
315
|
)
|
410
316
|
assert_nil(service_response)
|
411
317
|
end
|
318
|
+
|
319
|
+
def test_get_training_usage
|
320
|
+
response = {
|
321
|
+
"usage" => "usage"
|
322
|
+
}
|
323
|
+
stub_request(:get, "https://gateway.watsonplatform.net/visual-recognition/api/v4/training_usage?end_time=end&start_time=start&version=2018-03-19")
|
324
|
+
.with(
|
325
|
+
headers: {
|
326
|
+
"Host" => "gateway.watsonplatform.net"
|
327
|
+
}
|
328
|
+
).to_return(status: 200, body: response.to_json, headers: { "Content-Type" => "application/json" })
|
329
|
+
service_response = service.get_training_usage(
|
330
|
+
start_time: "start",
|
331
|
+
end_time: "end"
|
332
|
+
)
|
333
|
+
assert_equal(response, service_response.result)
|
334
|
+
end
|
412
335
|
end
|