def test_default_values(self):
     feed_req_obj = Feed(None, None, '220', 'EBAY_US', 'v^1 ...')
     self.assertEquals(feed_req_obj.feed_type, FeedType.ITEM.value)
     self.assertEquals(feed_req_obj.feed_scope, FeedScope.DAILY.value)
     self.assertTrue(feed_req_obj.token.startswith('Bearer'), 'Bearer is missing from token')
     self.assertEquals(feed_req_obj.feed_date, get_formatted_date(feed_req_obj.feed_type))
     self.assertEquals(feed_req_obj.environment, Environment.PRODUCTION.value)
     self.assertEquals(feed_req_obj.download_location, DEFAULT_DOWNLOAD_LOCATION)
     self.assertEquals(feed_req_obj.file_format, FileFormat.GZIP.value)
 def __init__(self, feed_type, feed_scope, category_id, marketplace_id, token, feed_date=None,
              environment=Environment.PRODUCTION.value, download_location=None, file_format=FileFormat.GZIP.value):
     self.token = const.TOKEN_BEARER_PREFIX + token if (token and not token.startswith('Bearer')) else token
     self.feed_type = feed_type.lower() if feed_type else FeedType.ITEM.value
     self.feed_scope = feed_scope.upper() if feed_scope else FeedScope.DAILY.value
     self.category_id = category_id
     self.marketplace_id = marketplace_id
     self.environment = environment if environment else Environment.PRODUCTION.value
     self.download_location = download_location if download_location else DEFAULT_DOWNLOAD_LOCATION
     self.file_format = file_format if file_format else FileFormat.GZIP.value
     self.feed_date = feed_date if feed_date else date_utils.get_formatted_date(feed_type)
 def test_download_feed_daily(self):
     test_date = get_formatted_date(FeedType.ITEM, -4)
     feed_req_obj = Feed(FeedType.ITEM.value, FeedScope.DAILY.value, self.test_category_1,
                         self.test_marketplace, self.test_token, download_location='../tests/test-data/',
                         feed_date=test_date)
     get_response = feed_req_obj.get()
     # store the file path for clean up
     self.file_paths.append(get_response.file_path)
     # assert the result
     self.assertEquals(get_response.status_code, SUCCESS_CODE)
     self.assertIsNotNone(get_response.message)
     self.assertIsNotNone(get_response.file_path, 'file_path is None')
     self.assertTrue(isfile(get_response.file_path), 'file_path is not pointing to a file. file_path: %s'
                     % get_response.file_path)
     # check the file size and name
     self.assertTrue(getsize(get_response.file_path) > 0, 'feed file is empty. file_path: %s'
                     % get_response.file_path)
     self.assertTrue(FeedPrefix.DAILY.value in get_response.file_path,
                     'feed file name does not have %s in it. file_path: %s' %
                     (FeedPrefix.DAILY.value, get_response.file_path))
     file_dir, file_name = split(abspath(get_response.file_path))
     self.assertEquals(abspath(feed_req_obj.download_location), file_dir)
 def test_get_formatted_date(self):
     today_date = date_utils.get_formatted_date(FeedType.ITEM)
     try:
         datetime.strptime(today_date, '%Y%m%d')
     except ValueError:
         self.fail('Invalid date format: %s' % today_date)