def tearDown(self): logger.warning('Testing API done.') # clean up orders self.mock_order.tear_down_testing_orders() # clean up users self.mock_user.cleanup() os.environ['espa_api_testing'] = ''
def setUp(self): logger.warning('Testing API started...') os.environ['espa_api_testing'] = 'True' # create a user self.mock_user = MockUser() self.mock_order = MockOrder() user_id = self.mock_user.add_testing_user() order_id = self.mock_order.generate_testing_order(user_id) self.order = Order.find(order_id) self.user = User.find(user_id) self.product_id = 'LT05_L1TP_032028_20120425_20160830_01_T1' self.sensor_id = 'tm5_collection' self.staff_product_id = 'LE07_L1TP_010028_20050420_20160925_01_T1' self.staff_sensor = 'etm7_collection' self.global_product_id = 'LE70450302003206EDC01' staff_user_id = self.mock_user.add_testing_user() self.staff_user = User.find(staff_user_id) self.staff_user.update('is_staff', True) staff_order_id = self.mock_order.generate_testing_order(staff_user_id) staff_order = Order.find(staff_order_id) staff_scene = staff_order.scenes()[0] staff_scene.update('name', self.staff_product_id) user_scene = self.order.scenes()[0] user_scene.update('name', self.staff_product_id) with open(os.path.join(__location__, 'domain/restricted.yaml')) as f: self.restricted = yaml.load(f.read()) self.restricted['all']['role'].remove('restricted_prod')
def setUp(self): logger.warning('Testing Inventory started...') os.environ['espa_api_testing'] = 'True' self.lta_prod_good = u'LE07_L1TP_026027_20170912_20171008_01_T1' self.lta_prod_bad = u'LE07_L1TP_026027_20170912_20171008_01_T1' self.lpdaac_prod_good = u'MOD09A1.A2016305.h11v04.006.2016314200836' self.lpdaac_prod_bad = u'MOD09A1.A2016305.h11v04.006.9999999999999' self.lta_order_good = { 'etm7_collection': { 'inputs': [self.lta_prod_good] } } self.lta_order_bad = { 'olitirs8_collection': { 'inputs': [self.lta_prod_bad] } } self.lpdaac_order_good = { 'mod09a1': { 'inputs': [self.lpdaac_prod_good] } } self.lpdaac_order_bad = {'mod09a1': {'inputs': [self.lpdaac_prod_bad]}}
def setUp(self): logger.warning('Testing Validation started...') os.environ['espa_api_testing'] = 'True' self.mock_user = MockUser() self.staffuser = User.find(self.mock_user.add_testing_user()) self.staffuser.update('is_staff', True) self.base_order = lowercase_all(testorders.build_base_order()) self.base_schema = BaseValidationSchema.request_schema
def verify_user(username, password): if (username is None) or (not (str(username).strip())): logger.warning('Invalid username supplied: %s', username) flask.g.error_reason = 'auth' return False try: # usernames with spaces are valid in EE, though they can't be used for cache keys cache_key = '{}-credentials'.format( username.replace(' ', '_espa_cred_insert_')) cache_entry = cache.get(cache_key) if cache_entry: # Need to be encrypted? if cache_entry['password'] == password: user_entry = cache_entry['user_entry'] # User may have changed their password while it was still cached else: user_entry = User.get(username, password) else: user_entry = User.get(username, password) cache_entry = {'password': password, 'user_entry': user_entry} cache.set(cache_key, cache_entry, 7200) user = User(*user_entry) flask.g.user = user # Replace usage with cached version except UserException as e: logger.info('Invalid login attempt, username: {}, {}'.format( username, e)) flask.g.error_reason = 'unknown' return False except ERSApiAuthFailedException as e: logger.info('Invalid login attempt, username: {}, {}'.format( username, e)) flask.g.error_reason = 'auth' return False except ERSApiErrorException as e: logger.info('ERS lookup failed, username: {}, {}'.format(username, e)) flask.g.error_reason = 'unknown' return False except ERSApiConnectionException as e: logger.info('ERS is down {}'.format(e)) flask.g.error_reason = 'conn' return False except DBConnectException as e: logger.critical('! Database reported a problem: {}'.format(e)) flask.g.error_reasons = 'db' return False except Exception: logger.info('Invalid login attempt, username: {}'.format(username)) flask.g.error_reason = 'unknown' return False return True
def setUp(self): logger.warning('Testing Inventory started...') os.environ['espa_api_testing'] = 'True' self.lta_prod_good = u'LT50300372011275PAC01' self.lta_prod_bad = u'LE70290302001200EDC01' self.lpdaac_prod_good = u'MOD09A1.A2016305.h11v04.006.2016314200836' self.lpdaac_prod_bad = u'MOD09A1.A2016305.h11v04.006.9999999999999' self.lta_order_good = {'olitirs8': {'inputs': [self.lta_prod_good]}} self.lta_order_bad = {'olitirs8': {'inputs': [self.lta_prod_bad]}} self.lpdaac_order_good = { 'mod09a1': { 'inputs': [self.lpdaac_prod_good] } } self.lpdaac_order_bad = {'mod09a1': {'inputs': [self.lpdaac_prod_bad]}}