Пример #1
0
 def test_rate_limiter_handles_IndexError(self):
     nsinstance = Nationstates("world")
     nsinstance.rltime = list(range(50))
     try:
         nsinstance.ratelimitcheck()
     except IndexError as err:
         self.fail(str(err))
Пример #2
0
 def test_rate_limiting_check_isFalse(self):
     """This Tests whether or Not the rate limiter catches
     a rate limit break """
     nsinstance = Nationstates("world")
     ct = time()
     nsinstance.rltime = [(ct+x) for x in range(50)]
     self.assertFalse(nsinstance.ratelimitcheck(xrls=50))
     nationstates.__rltime__ = []
Пример #3
0
def lambda_handler(event, context):
    _ = event, context
    api = Nationstates(f'{NATION} Decision Engine')
    nation = api.nation(NATION, password=PASSWORD)
    shard = nation.request(['issues'], None)
    issues = (shard.get('issues') or {}).get('issue', [])
    if isinstance(issues, NSDict):
        issues = [issues]

    for issue in issues:
        choice = random.choice(issue.get('option', []))
        r = nation.pick_issue(issue['id'], choice['id'])
        urlopen(
            Request(WEBHOOK,
                    data=json.dumps({
                        'text': f'In {NATION}, {r}'
                    }).encode('utf-8')))

    return {
        'statusCode': 200,
    }
Пример #4
0
 def test_rate_limiting_check_isTrue(self):
     nsinstance = Nationstates("world")
     ct = time()
     nsinstance.rltime = [(ct+x) for x in range(47)]
     self.assertTrue(nsinstance.ratelimitcheck(xrls=47))