Exemple #1
0
 def test_short_fields_too_long(self):
     for fn in ('chargebackURL', 'defaultLocale', 'id', 'name',
                'postbackURL', 'productData'):
         payload = self.payload(extra_req={fn: 'x' * 256})
         req = self.request(payload=payload)
         form = VerifyForm({'req': req})
         assert not form.is_valid(), (
             'Field {0} gets too long error'.format(fn))
Exemple #2
0
 def test_valid_inapp(self, get_active_product):
     self.set_secret(get_active_product)
     payload = self.request(iss=self.key, app_secret=self.secret)
     with self.settings(INAPP_KEY_PATHS={None: sample}, DEBUG=True):
         form = VerifyForm({'req': payload})
         assert form.is_valid()
         # This means we've successfully looked up the InappConfig.
         eq_(form.key, self.key)
         eq_(form.secret, self.secret)
Exemple #3
0
    def test_not_public(self):
        # Should this be moved down to solitude? There currently isn't
        # an active status in solitude.
        raise SkipTest

        payload = self.request(iss=self.key, app_secret=self.secret)
        with self.settings(INAPP_KEY_PATHS={None: sample}, DEBUG=True):
            form = VerifyForm({'req': payload})
            assert not form.is_valid()
Exemple #4
0
 def test_empty_locales_and_null_default(self):
     payload = self.payload(extra_req={
         'locales': {},
         'defaultLocale': None,
     })
     req = self.request(iss=self.key,
                        app_secret=self.secret,
                        payload=payload)
     form = VerifyForm({'req': req})
     assert form.is_valid()
Exemple #5
0
 def test_double_encoded_jwt(self):
     payload = self.payload()
     # Some jwt libraries are doing this, I think.
     payload = json.dumps(payload)
     req = self.request(iss=self.key,
                        app_secret=self.secret,
                        payload=payload)
     with self.settings(INAPP_KEY_PATHS={None: sample}, DEBUG=True):
         form = VerifyForm({'req': req})
         assert not form.is_valid()
Exemple #6
0
 def test_locales_and_without_defaultLocale(self):
     payload = self.payload(
         extra_req={
             'locales': {
                 'de': {
                     'name': 'Die App',
                     'description': 'Eine Beschreibung für die App.'
                 }
             }
         })
     req = self.request(iss=self.key,
                        app_secret=self.secret,
                        payload=payload)
     form = VerifyForm({'req': req})
     assert not form.is_valid()
Exemple #7
0
 def test_non_existant(self, get_active_product):
     get_active_product.side_effect = ObjectDoesNotExist
     payload = self.request(iss=self.key + '.nope', app_secret=self.secret)
     with self.settings(INAPP_KEY_PATHS={None: sample}, DEBUG=True):
         form = VerifyForm({'req': payload})
         assert not form.is_valid()
Exemple #8
0
 def test_only_mnc(self):
     form = VerifyForm({'mnc': '456'})
     form.is_valid()
     assert 'mcc' not in form.errors
     assert 'mnc' not in form.errors
     assert '__all__' in form.errors
Exemple #9
0
 def test_mcc(self):
     form = VerifyForm({'mcc': '123', 'mnc': '456'})
     form.is_valid()
     assert 'mcc' not in form.errors
     assert 'mnc' not in form.errors
Exemple #10
0
 def test_not_mcc(self):
     form = VerifyForm({'mcc': 'fooo', 'mnc': '1'})
     form.is_valid()
     assert 'mcc' in form.errors
     assert 'mnc' in form.errors
Exemple #11
0
 def test_unicode(self):
     self.failed(VerifyForm({'req': u'Հ'}))
Exemple #12
0
 def test_broken(self):
     self.failed(VerifyForm({'req': 'foo'}))
Exemple #13
0
 def test_empty(self):
     self.failed(VerifyForm({'req': ''}))
Exemple #14
0
 def test_required(self):
     self.failed(VerifyForm({}))
Exemple #15
0
 def test_valid_purchase(self):
     payload = self.request(iss=settings.KEY, app_secret=settings.SECRET)
     form = VerifyForm({'req': payload})
     assert form.is_valid()
     eq_(form.key, settings.KEY)
     eq_(form.secret, settings.SECRET)