Exemple #1
0
 def test_00_rlkeygen(self):
     apikey = rlkeygen.key_generate(SECRET, 1, 1, 0)
     meta = rlkeygen.key_verify(SECRET, apikey)
     self.assertTrue(meta != None)
     self.assertEqual(1, meta['org_id'])
     self.assertEqual(1, meta['app_id'])
     self.assertEqual(0, meta['credits'])
     self.assertEqual(None, meta['expires'])
Exemple #2
0
    def test_credit_deduction_generated_key(self):
        # credit limit of 3 inside the key
        apikey = rlkeygen.key_generate(SECRET, 1, 1, 3)
        r, body = self.http.get('/test.json', apikey=apikey)
        self.assertEqual(200, r.status)
        self.assertEqual('2',
                r.getheader('x-ratelimit-remaining', 'bad'))

        # this key will have a credit limit of 2
        apikey = rlkeygen.key_generate(SECRET, 1, 1, 2)
        r, body = self.http.get('/test.json', apikey=apikey)
        self.assertEqual(200, r.status)
        self.assertEqual('0',
                r.getheader('x-ratelimit-remaining', 'bad'))
        reset_time = float(r.getheader('x-ratelimit-reset', 'bad'))
        r, body = self.http.get('/credit.json', apikey=apikey)
        self.assertEqual(200, r.status)
        self.assertEqual(reset_time,
                float(r.getheader('x-ratelimit-reset', 'bad')))
        js = json.loads(body)
        self.assertEqual('0',
                r.getheader('x-ratelimit-remaining', 'bad'))
        self.assertEqual(0, js['response']['remaining'])
        self.assertEqual(2, js['response']['limit'])