def test_api_keys_are_used_cyclically(self): queue = ApiQueue(["first key", "second key"]) self.assertEqual("first key", queue.get()) self.assertEqual("second key", queue.get()) self.assertEqual("first key", queue.get()) self.assertEqual("second key", queue.get())
'character_id': 77777777, 'refresh_token': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }, }, } } def api_to_sso(api): return SSO(sso_app['client_id'], sso_app['secret_key'], api['refresh_token'], api['character_id']) api_queue_fc = ApiQueue( list(map(api_to_sso, eve_apis['fc-team']['characters'].values()))) api_queue_logistics = ApiQueue( list(map(api_to_sso, eve_apis['logistics-team']['characters'].values()))) db_connection = sqlite3.connect(db_file) db_connection.row_factory = sqlite3.Row db = db_connection.cursor() def notifications_job_fc(): esi_notification_task( eve_apis['fc-team']['notifications'], api_queue_fc, 'slack', CachingNotifier(SplitterNotifier([ SlackNotifier(slack_apis['example']['api_key'], slack_apis['example']['username'], '#fc', 'online'), SlackNotifier(slack_apis['example']['api_key'],
DiscordWebhookNotifier( discord['webhook']['url'] ) ]), duration=7200 ) def api_to_sso(api): return SSO( sso_app['client_id'], sso_app['secret_key'], api['refresh_token'], api['character_id'] ) api_queue_logistics = ApiQueue(list(map(api_to_sso, characters_list.values()))) def notifications_job_logistics(): esi_notification_task( notifications, api_queue_logistics, 'discord', my_discord_channels ) def run_and_schedule(characters, notifications_job): notifications_job() schedule.every(notification_caching_timer/len(characters)).minutes.do(notifications_job) run_and_schedule(characters_list, notifications_job_logistics)
def test_api_keys_can_be_added(self): queue = ApiQueue() queue.add("my api key") self.assertEqual("my api key", queue.get())
def test_it_raises_exception_if_initialized_not_with_list(self): with self.assertRaises(TypeError): ApiQueue({'key': 'value'})
def test_can_be_initialized_with_api_keys(self): queue = ApiQueue(["first key", "second key"]) self.assertEqual("first key", queue.get()) self.assertEqual("second key", queue.get())
'character_name': 'CCP Example', 'character_id': 11111111, 'key_id': 2222222, 'vcode': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', }, 'ccp-example-2': { 'character_name': 'CCP Example 2', 'character_id': 33333333, 'key_id': 4444444, 'vcode': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', }, }, } } api_queue = ApiQueue(list(eve_apis['example-group']['characters'].values())) db_connection = sqlite3.connect(db_file) db_connection.row_factory = sqlite3.Row db = db_connection.cursor() def notifications_job(): notification_task( db, eve_apis['example-group']['notifications'], api_queue, CachingNotifier( SplitterNotifier([ SlackNotifier( slack_apis['example']['api_key'], slack_apis['example']['username'],