def test_valid_addon(self): addon_factory(slug='bar') form = ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': '/addon/bar/'}) assert form.is_valid(), form.errors assert form.cleaned_data['path'] == '/addon/bar/'
def test_invalid_urls(self): assert not ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': 'ftp://google.com/'}).is_valid() assert not ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': 'https://88999@~'}).is_valid() assert not ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': 'https://www. rutrt/'}).is_valid() path = '/addon/bar/' site = settings.SITE_URL full_url = site + path # path is okay assert ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': path}).is_valid() # but we don't allow full urls for AMO paths form = ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': full_url}) assert not form.is_valid() assert ('Paths for [%s] should be relative, not full URLs including ' 'the domain name' % site in form.errors['path'])
def test_valid_collection(self): bagpuss = user_factory(username='******') collection_factory(slug='stuff', author=bagpuss) form = ReplacementAddonAdmin(ReplacementAddon, None).get_form(None)( {'guid': 'foo', 'path': '/collections/bagpuss/stuff/'}) assert form.is_valid(), form.errors assert form.cleaned_data['path'] == '/collections/bagpuss/stuff/'
def test_invalid(self): form = ReplacementAddonAdmin(ReplacementAddon, None).get_form(None)({ 'guid': 'foo', 'path': '/invalid_url/' }) assert not form.is_valid()
def test_url(self): form = ReplacementAddonAdmin(ReplacementAddon, None).get_form(None)({ 'guid': 'foo', 'path': 'https://google.com/' }) assert form.is_valid()
def test_valid_addon(self): addon_factory(slug='bar') form = ReplacementAddonAdmin(ReplacementAddon, None).get_form(None)({ 'guid': 'foo', 'path': '/addon/bar/' }) assert form.is_valid(), form.errors
def test_url(self): form = ReplacementAddonAdmin(ReplacementAddon, admin.site).get_form(None)({ 'guid': 'foo', 'path': 'https://google.com/' }) assert form.is_valid() assert form.cleaned_data['path'] == 'https://google.com/'
def test_valid_collection(self): bagpuss = user_factory(username='******') collection_factory(slug='stuff', author=bagpuss) form = ReplacementAddonAdmin(ReplacementAddon, None).get_form(None)({ 'guid': 'foo', 'path': '/collections/bagpuss/stuff/' }) assert form.is_valid(), form.errors
def test_invalid_urls(self): assert not ReplacementAddonAdmin(ReplacementAddon, None).get_form( None)({'guid': 'foo', 'path': 'ftp://google.com/'}).is_valid() assert not ReplacementAddonAdmin(ReplacementAddon, None).get_form( None)({'guid': 'foo', 'path': 'https://88999@~'}).is_valid() assert not ReplacementAddonAdmin(ReplacementAddon, None).get_form( None)({'guid': 'foo', 'path': 'https://www. rutrt/'}).is_valid() path = '/addon/bar/' site = settings.SITE_URL full_url = site + path # path is okay assert ReplacementAddonAdmin(ReplacementAddon, None).get_form( None)({'guid': 'foo', 'path': path}).is_valid() # but we don't allow full urls for AMO paths form = ReplacementAddonAdmin(ReplacementAddon, None).get_form( None)({'guid': 'foo', 'path': full_url}) assert not form.is_valid() assert ('Paths for [%s] should be relative, not full URLs including ' 'the domain name' % site in form.errors['__all__'])
def test_url(self): form = ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': 'https://google.com/'}) assert form.is_valid() assert form.cleaned_data['path'] == 'https://google.com/'
def test_invalid(self): form = ReplacementAddonAdmin( ReplacementAddon, admin.site).get_form(None)( {'guid': 'foo', 'path': '/invalid_url/'}) assert not form.is_valid()