@@ -214,6 +214,45 @@ def test_collection():
214
214
collection_id = 'collid' )
215
215
assert len (responses .calls ) == 5
216
216
217
+ @responses .activate
218
+ def test_federated_query ():
219
+ discovery_url = urljoin (base_discovery_url ,
220
+ 'environments/envid/query' )
221
+
222
+ responses .add (responses .GET , discovery_url ,
223
+ body = "{\" body\" : \" hello\" }" , status = 200 ,
224
+ content_type = 'application/json' )
225
+ discovery = watson_developer_cloud .DiscoveryV1 ('2016-11-07' ,
226
+ username = 'username' ,
227
+ password = 'password' )
228
+ discovery .federated_query ('envid' , ['collid1' , 'collid2' ], filter = 'colls.sha1::9181d244*' )
229
+
230
+ called_url = urlparse (responses .calls [0 ].request .url )
231
+ test_url = urlparse (discovery_url )
232
+
233
+ assert called_url .netloc == test_url .netloc
234
+ assert called_url .path == test_url .path
235
+ assert len (responses .calls ) == 1
236
+
237
+ @responses .activate
238
+ def test_federated_query_notices ():
239
+ discovery_url = urljoin (base_discovery_url ,
240
+ 'environments/envid/notices' )
241
+
242
+ responses .add (responses .GET , discovery_url ,
243
+ body = "{\" body\" : \" hello\" }" , status = 200 ,
244
+ content_type = 'application/json' )
245
+ discovery = watson_developer_cloud .DiscoveryV1 ('2016-11-07' ,
246
+ username = 'username' ,
247
+ password = 'password' )
248
+ discovery .federated_query_notices ('envid' , ['collid1' , 'collid2' ], filter = 'notices.sha1::9181d244*' )
249
+
250
+ called_url = urlparse (responses .calls [0 ].request .url )
251
+ test_url = urlparse (discovery_url )
252
+
253
+ assert called_url .netloc == test_url .netloc
254
+ assert called_url .path == test_url .path
255
+ assert len (responses .calls ) == 1
217
256
218
257
@responses .activate
219
258
def test_query ():
@@ -226,7 +265,12 @@ def test_query():
226
265
discovery = watson_developer_cloud .DiscoveryV1 ('2016-11-07' ,
227
266
username = 'username' ,
228
267
password = 'password' )
229
- discovery .query ('envid' , 'collid' , {'count' : 10 })
268
+ discovery .query ('envid' , 'collid' ,
269
+ filter = 'extracted_metadata.sha1::9181d244*' ,
270
+ count = 1 ,
271
+ passages = True ,
272
+ passages_fields = ['x' , 'y' ],
273
+ passages_count = 2 )
230
274
231
275
called_url = urlparse (responses .calls [0 ].request .url )
232
276
test_url = urlparse (discovery_url )
@@ -282,6 +326,29 @@ def test_query_entities():
282
326
assert called_url .path == test_url .path
283
327
assert len (responses .calls ) == 1
284
328
329
+ @responses .activate
330
+ def test_query_notices ():
331
+ discovery_url = urljoin (
332
+ base_discovery_url ,
333
+ 'environments/envid/collections/collid/notices' )
334
+
335
+ responses .add (
336
+ responses .GET ,
337
+ discovery_url ,
338
+ body = "{\" body\" : \" hello\" }" ,
339
+ status = 200 ,
340
+ content_type = 'application/json' )
341
+
342
+ discovery = watson_developer_cloud .DiscoveryV1 (
343
+ '2016-11-07' , username = 'username' , password = 'password' )
344
+
345
+ discovery .query_notices ('envid' , 'collid' , filter = 'notices.sha1::*' )
346
+ called_url = urlparse (responses .calls [0 ].request .url )
347
+ test_url = urlparse (discovery_url )
348
+ assert called_url .netloc == test_url .netloc
349
+ assert called_url .path == test_url .path
350
+ assert len (responses .calls ) == 1
351
+
285
352
@responses .activate
286
353
def test_configs ():
287
354
discovery_url = urljoin (base_discovery_url ,
@@ -327,13 +394,20 @@ def test_configs():
327
394
328
395
discovery .create_configuration (environment_id = 'envid' ,
329
396
name = 'my name' )
397
+ discovery .create_configuration (environment_id = 'envid' ,
398
+ name = 'my name' ,
399
+ source = {'type' : 'salesforce' , 'credential_id' : 'xxx' })
330
400
discovery .update_configuration (environment_id = 'envid' ,
331
401
configuration_id = 'confid' ,
332
402
name = 'my new name' )
403
+ discovery .update_configuration (environment_id = 'envid' ,
404
+ configuration_id = 'confid' ,
405
+ name = 'my new name' ,
406
+ source = {'type' : 'salesforce' , 'credential_id' : 'xxx' })
333
407
discovery .delete_configuration (environment_id = 'envid' ,
334
408
configuration_id = 'confid' )
335
409
336
- assert len (responses .calls ) == 5
410
+ assert len (responses .calls ) == 7
337
411
338
412
339
413
@responses .activate
@@ -815,3 +889,65 @@ def test_delete_user_data():
815
889
response = discovery .delete_user_data ('id' )
816
890
assert response is None
817
891
assert len (responses .calls ) == 1
892
+
893
+ @responses .activate
894
+ def test_credentials ():
895
+ discovery_credentials_url = urljoin (base_discovery_url , 'environments/envid/credentials' )
896
+
897
+ results = {'credential_id' : 'e68305ce-29f3-48ea-b829-06653ca0fdef' ,
898
+ 'source_type' : 'salesforce' ,
899
+ 'credential_details' : {
900
+ 'url' : 'https://login.salesforce.com' ,
901
+ 'credential_type' : 'username_password' ,
902
+ 'username' :'user@email.com' }
903
+ }
904
+
905
+ iam_url = "https://iam.bluemix.net/identity/token"
906
+ iam_token_response = """{
907
+ "access_token": "oAeisG8yqPY7sFR_x66Z15",
908
+ "token_type": "Bearer",
909
+ "expires_in": 3600,
910
+ "expiration": 1524167011,
911
+ "refresh_token": "jy4gl91BQ"
912
+ }"""
913
+ responses .add (responses .POST , url = iam_url , body = iam_token_response , status = 200 )
914
+ responses .add (responses .GET , "{0}/{1}?version=2016-11-07" .format (discovery_credentials_url , 'credential_id' ),
915
+ body = json .dumps (results ),
916
+ status = 200 ,
917
+ content_type = 'application/json' )
918
+ responses .add (responses .GET , "{0}?version=2016-11-07" .format (discovery_credentials_url ),
919
+ body = json .dumps ([results ]),
920
+ status = 200 ,
921
+ content_type = 'application/json' )
922
+
923
+ responses .add (responses .POST , "{0}?version=2016-11-07" .format (discovery_credentials_url ),
924
+ body = json .dumps (results ),
925
+ status = 200 ,
926
+ content_type = 'application/json' )
927
+ results ['source_type' ] = 'ibm'
928
+ responses .add (responses .PUT , "{0}/{1}?version=2016-11-07" .format (discovery_credentials_url , 'credential_id' ),
929
+ body = json .dumps (results ),
930
+ status = 200 ,
931
+ content_type = 'application/json' )
932
+ responses .add (responses .DELETE , "{0}/{1}?version=2016-11-07" .format (discovery_credentials_url , 'credential_id' ),
933
+ body = json .dumps ({'deleted' : 'bogus -- ok' }),
934
+ status = 200 ,
935
+ content_type = 'application/json' )
936
+
937
+ discovery = watson_developer_cloud .DiscoveryV1 ('2016-11-07' ,
938
+ iam_api_key = 'iam_api_key' )
939
+ discovery .create_credentials ('envid' , 'salesforce' , {
940
+ 'url' : 'https://login.salesforce.com' ,
941
+ 'credential_type' : 'username_password' ,
942
+ 'username' :'user@email.com'
943
+ })
944
+
945
+ discovery .get_credentials ('envid' , 'credential_id' )
946
+
947
+ discovery .update_credentials (environment_id = 'envid' ,
948
+ credential_id = 'credential_id' ,
949
+ source_type = 'salesforce' ,
950
+ credential_details = results ['credential_details' ])
951
+ discovery .list_credentials ('envid' )
952
+ discovery .delete_credentials (environment_id = 'envid' , credential_id = 'credential_id' )
953
+ assert len (responses .calls ) == 10
0 commit comments