def test_cloudant_bluemix_context_helper_raise_error_for_missing_iam_and_creds( self): """ Test that the cloudant_bluemix context helper raises a CloudantClientException when the IAM key, username, and password are missing in the VCAP_SERVICES env variable. """ instance_name = 'Cloudant NoSQL DB-lv' vcap_services = { 'cloudantNoSQLDB': [{ 'credentials': { 'host': '{0}.cloudant.com'.format(self.account), 'port': 443, 'url': self.url }, 'name': instance_name, }] } try: with cloudant_bluemix(vcap_services, instance_name=instance_name) as c: self.assertIsInstance(c, Cloudant) self.assertIsInstance(c.r_session, requests.Session) except CloudantClientException as err: self.assertEqual( 'Invalid service: IAM API key or username/password credentials are required.', str(err))
def test_cloudant_bluemix_context_helper(self): """ Test that the cloudant_bluemix context helper works as expected. """ instance_name = 'Cloudant NoSQL DB-lv' vcap_services = { 'cloudantNoSQLDB': [{ 'credentials': { 'username': self.user, 'password': self.pwd, 'host': '{0}.cloudant.com'.format(self.account), 'port': 443, 'url': self.url }, 'name': instance_name, }] } try: with cloudant_bluemix(vcap_services, instance_name=instance_name) as c: self.assertIsInstance(c, Cloudant) self.assertIsInstance(c.r_session, requests.Session) self.assertEquals(c.session()['userCtx']['name'], self.user) except Exception as err: self.fail('Exception {0} was raised.'.format(str(err)))
def connect_cloudant(): is_bluemix_env = os.getenv("cloudant_env") == "bluemix" global __cloudant_client__ if is_bluemix_env: with cloudant_bluemix( os.getenv("VCAP_SERVICES")) as __cloudant_client__: print("connected to cloudant bluemix service!!") else: __cloudant_client__ = Cloudant("admin", "pass", url="http://localhost:7080", connect=True, auto_renew=True) print("connected to local cloudant instance!!")