Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

Commit

Permalink
remove app validation tests from amo (bug 733126)
Browse files Browse the repository at this point in the history
  • Loading branch information
cvan committed Mar 14, 2012
1 parent 2c9c1e7 commit 2e64745
Showing 1 changed file with 1 addition and 87 deletions.
88 changes: 1 addition & 87 deletions apps/devhub/tests/test_views_validation.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
# -*- coding: utf8 -*-
import codecs
import json
import os
import shutil
import sys
import tempfile
import traceback

from django.conf import settings
from django import forms

import mock
from nose.plugins.attrib import attr
Expand All @@ -25,7 +22,7 @@
from applications.models import AppVersion, Application
from files.models import File, FileUpload, FileValidation
from files.tests.test_models import UploadTest as BaseUploadTest
from files.utils import parse_addon, WebAppParser
from files.utils import parse_addon
from users.models import UserProfile
from zadmin.models import ValidationResult

Expand Down Expand Up @@ -118,16 +115,6 @@ def test_results_page(self):
eq_(doc('#addon-validator-suite').attr('data-validateurl'),
self.json_url)

@mock.patch.object(settings, 'APP_PREVIEW', True)
def test_app_results_page(self):
waffle.models.Flag.objects.create(name='accept-webapps', everyone=True)
r = self.client.get(self.url, follow=True)
eq_(r.status_code, 200)
eq_(r.context['addon'], self.addon)
doc = pq(r.content)
assert doc('#site-nav').hasClass('app-nav'), 'Expected apps devhub nav'
eq_(doc('#breadcrumbs a').eq(0).attr('href'), reverse('devhub.apps'))

def test_only_dev_can_see_results(self):
self.client.logout()
assert self.client.login(username='regular@mozilla.com',
Expand Down Expand Up @@ -675,76 +662,3 @@ def test_compat_error_type_override(self, run_validator):
data = self.upload()
eq_(data['validation']['messages'][0]['type'], 'error')
eq_(data['validation']['messages'][1]['type'], 'warning')


class TestWebApps(amo.tests.TestCase):

def setUp(self):
self.webapp_path = os.path.join(os.path.dirname(__file__),
'addons', 'mozball.webapp')
self.tmp_files = []
self.manifest = dict(name=u'Ivan Krsti\u0107', version=u'1.0',
description=u'summary')

def tearDown(self):
for tmp in self.tmp_files:
os.unlink(tmp)

def webapp(self, data=None, contents='', suffix='.webapp'):
fp, tmp = tempfile.mkstemp(suffix=suffix)
self.tmp_files.append(tmp)
with open(tmp, 'w') as f:
f.write(json.dumps(data) if data else contents)
return tmp

def test_parse(self):
wp = WebAppParser().parse(self.webapp_path)
eq_(wp['guid'], None)
eq_(wp['type'], amo.ADDON_WEBAPP)
eq_(wp['summary']['en-US'], u'Exciting Open Web development action!')
eq_(wp['summary']['es'],
u'\u9686Acci\u8d38n abierta emocionante del desarrollo del Web!')
eq_(wp['summary']['it'],
u'Azione aperta emozionante di sviluppo di fotoricettore!')
eq_(wp['version'], '1.0')
eq_(wp['default_locale'], 'en-US')

def test_no_locales(self):
wp = WebAppParser().parse(self.webapp(dict(name='foo', version='1.0',
description='summary')))
eq_(wp['summary']['en-US'], u'summary')

def test_no_description(self):
wp = WebAppParser().parse(self.webapp(dict(name='foo',
version='1.0')))
eq_(wp['summary'], {})

def test_syntax_error(self):
with self.assertRaises(forms.ValidationError) as exc:
WebAppParser().parse(self.webapp(contents='}]'))
m = exc.exception.messages[0]
assert m.startswith('Could not parse webapp manifest'), (
'Unexpected: %s' % m)

def test_utf8_bom(self):
wm = codecs.BOM_UTF8 + json.dumps(self.manifest, encoding='utf8')
wp = WebAppParser().parse(self.webapp(contents=wm))
eq_(wp['version'], '1.0')

def test_utf16_bom(self):
data = json.dumps(self.manifest, encoding='utf8')
wm = data.decode('utf8').encode('utf16') # BOM added automatically
wp = WebAppParser().parse(self.webapp(contents=wm))
eq_(wp['version'], '1.0')

def test_utf32_bom(self):
data = json.dumps(self.manifest, encoding='utf8')
wm = data.decode('utf8').encode('utf32') # BOM added automatically
wp = WebAppParser().parse(self.webapp(contents=wm))
eq_(wp['version'], '1.0')

def test_non_ascii(self):
wm = json.dumps({'name': u'まつもとゆきひろ', 'version': '1.0'},
encoding='shift-jis')
wp = WebAppParser().parse(self.webapp(contents=wm))
eq_(wp['name'], {'en-US': u'まつもとゆきひろ'})

0 comments on commit 2e64745

Please sign in to comment.