1+ from unittest import TestCase
2+ import os
3+ import watson_developer_cloud
4+ import json
5+
6+ class Discoveryv1 (TestCase ):
7+ def setUp (self ):
8+ self .discovery = watson_developer_cloud .DiscoveryV1 (
9+ version = '2017-10-16' ,
10+ username = os .getenv ('SPEECH_TO_TEXT_USERNAME' ),
11+ password = os .getenv ('SPEECH_TO_TEXT_PASSWORD' ))
12+ self .discovery .set_default_headers ({'X-Watson-Learning-Opt-Out' : '1' , 'X-Watson-Test' : '1' })
13+ self .environment_id = 'e15f6424-f887-4f50-b4ea-68267c36fc9c' # This environment is created for integration testing
14+ self .collection_id = self .discovery .list_collections (self .environment_id )['collections' ][0 ]['collection_id' ]
15+
16+ def test_environments (self ):
17+ envs = self .discovery .list_environments ()
18+ assert envs is not None
19+ env = self .discovery .get_environment (envs ['environments' ][0 ]['environment_id' ])
20+ assert env is not None
21+ fields = self .discovery .list_fields (self .environment_id , self .collection_id )
22+ assert fields is not None
23+
24+ def test_configurations (self ):
25+ configs = self .discovery .list_configurations (self .environment_id )
26+ assert configs is not None
27+ new_configuration_id = self .discovery .create_configuration (self .environment_id , 'test' , 'creating new config for python sdk' )['configuration_id' ]
28+ assert new_configuration_id is not None
29+ self .discovery .get_configuration (self .environment_id , new_configuration_id )
30+ updated_config = self .discovery .update_configuration (self .environment_id , new_configuration_id , 'lala' )
31+ assert updated_config ['name' ] == 'lala'
32+ deleted_config = self .discovery .delete_configuration (self .environment_id , new_configuration_id )
33+ assert deleted_config ['status' ] == 'deleted'
34+
35+ def test_collections_and_expansions (self ):
36+ new_collection_id = self .discovery .create_collection (self .environment_id ,
37+ name = 'Example collection for python' ,
38+ description = "Integration test for python sdk" )['collection_id' ]
39+ assert new_collection_id is not None
40+ self .discovery .get_collection (self .environment_id , new_collection_id )
41+ updated_collection = self .discovery .update_collection (self .environment_id , new_collection_id , name = 'lala' )
42+ assert updated_collection ['name' ] == 'lala'
43+
44+ self .discovery .create_expansions (self .environment_id , new_collection_id , [{'input_terms' : ['a' ], 'expanded_terms' : ['aa' ]}])
45+ expansions = self .discovery .list_expansions (self .environment_id , new_collection_id )
46+ assert len (expansions ['expansions' ]) > 0
47+ self .discovery .delete_expansions (self .environment_id , new_collection_id )
48+
49+ deleted_collection = self .discovery .delete_collection (self .environment_id , new_collection_id )
50+ assert deleted_collection ['status' ] == 'deleted'
51+
52+ def test_documents (self ):
53+ with open (os .path .join (os .path .dirname (__file__ ), '../../resources/simple.html' ), 'r' ) as fileinfo :
54+ add_doc = self .discovery .add_document (environment_id = self .environment_id ,
55+ collection_id = self .collection_id ,
56+ file = fileinfo )
57+ add_doc ['document_id' ] is not None
58+
59+ doc_status = self .discovery .get_document_status (self .environment_id , self .collection_id , add_doc ['document_id' ])
60+ assert doc_status is not None
61+
62+ with open (os .path .join (os .path .dirname (__file__ ), '../../resources/simple.html' ), 'r' ) as fileinfo :
63+ update_doc = self .discovery .update_document (self .environment_id ,
64+ self .collection_id ,
65+ add_doc ['document_id' ],
66+ file = fileinfo ,
67+ filename = 'newname.html' )
68+ assert update_doc is not None
69+ delete_doc = self .discovery .delete_document (self .environment_id , self .collection_id , add_doc ['document_id' ])
70+ assert delete_doc ['status' ] == 'deleted'
71+
72+
73+ def test_queries (self ):
74+ query_results = self .discovery .query (self .environment_id ,
75+ self .collection_id ,
76+ filter = 'extracted_metadata.sha1::9181d244*' ,
77+ return_fields = 'extracted_metadata.sha1' )
78+ assert query_results is not None
0 commit comments