Beispiel #1
0
    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())
Beispiel #2
0
                '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'],
Beispiel #3
0
        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)
Beispiel #4
0
    def test_api_keys_can_be_added(self):
        queue = ApiQueue()
        queue.add("my api key")

        self.assertEqual("my api key", queue.get())
Beispiel #5
0
 def test_it_raises_exception_if_initialized_not_with_list(self):
     with self.assertRaises(TypeError):
         ApiQueue({'key': 'value'})
Beispiel #6
0
    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())
Beispiel #7
0
                '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'],