Example #1
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()
Example #2
0
 def test_not_public(self):
     self.iss.status = ISSUER_INACTIVE
     self.iss.save()
     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()
Example #3
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()
Example #4
0
 def test_valid_inapp(self):
     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)
Example #5
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()
Example #6
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()
Example #7
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()
Example #8
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))
Example #9
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
Example #10
0
 def test_required(self):
     self.failed(VerifyForm({}))
Example #11
0
 def test_empty(self):
     self.failed(VerifyForm({'req': ''}))
Example #12
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()
Example #13
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)
Example #14
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
Example #15
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
Example #16
0
 def test_broken(self):
     self.failed(VerifyForm({'req': 'foo'}))
Example #17
0
 def test_unicode(self):
     self.failed(VerifyForm({'req': u'Հ'}))
Example #18
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
Example #19
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)
Example #20
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
Example #21
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
Example #22
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()
Example #23
0
 def test_non_existant(self, get_secret):
     get_secret.side_effect = ValueError
     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()
Example #24
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
Example #25
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)
Example #26
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