@@ -214,6 +214,45 @@ def test_collection():
214214 collection_id = 'collid' )
215215 assert len (responses .calls ) == 5
216216
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
217256
218257@responses .activate
219258def test_query ():
@@ -226,7 +265,12 @@ def test_query():
226265 discovery = watson_developer_cloud .DiscoveryV1 ('2016-11-07' ,
227266 username = 'username' ,
228267 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 )
230274
231275 called_url = urlparse (responses .calls [0 ].request .url )
232276 test_url = urlparse (discovery_url )
@@ -282,6 +326,29 @@ def test_query_entities():
282326 assert called_url .path == test_url .path
283327 assert len (responses .calls ) == 1
284328
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+
285352@responses .activate
286353def test_configs ():
287354 discovery_url = urljoin (base_discovery_url ,
@@ -327,13 +394,20 @@ def test_configs():
327394
328395 discovery .create_configuration (environment_id = 'envid' ,
329396 name = 'my name' )
397+ discovery .create_configuration (environment_id = 'envid' ,
398+ name = 'my name' ,
399+ source = {'type' : 'salesforce' , 'credential_id' : 'xxx' })
330400 discovery .update_configuration (environment_id = 'envid' ,
331401 configuration_id = 'confid' ,
332402 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' })
333407 discovery .delete_configuration (environment_id = 'envid' ,
334408 configuration_id = 'confid' )
335409
336- assert len (responses .calls ) == 5
410+ assert len (responses .calls ) == 7
337411
338412
339413@responses .activate
@@ -815,3 +889,65 @@ def test_delete_user_data():
815889 response = discovery .delete_user_data ('id' )
816890 assert response is None
817891 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