Switch to unified view

a/AlluraTesting/alluratest/validation.py b/AlluraTesting/alluratest/validation.py
...
...
266
    if Config.instance().validation_enabled('html5'):
266
    if Config.instance().validation_enabled('html5'):
267
        validate_html(html_or_response)
267
        validate_html(html_or_response)
268
    if Config.instance().validation_enabled('inlinejs'):
268
    if Config.instance().validation_enabled('inlinejs'):
269
        validate_js(html_or_response)
269
        validate_js(html_or_response)
270
270
271
272
class AntiSpamTestApp(TestApp):
271
class AntiSpamTestApp(TestApp):
273
272
274
    def post(self, *args, **kwargs):
273
    def post(self, *args, **kwargs):
275
        if kwargs.pop('antispam', False):
274
        if kwargs.pop('antispam', False):
276
            antispam = utils.AntiSpam()
275
            antispam = utils.AntiSpam()
...
...
283
            for k, v in kwargs['params'].iteritems():
282
            for k, v in kwargs['params'].iteritems():
284
                params[antispam.enc(k)] = v
283
                params[antispam.enc(k)] = v
285
            kwargs['params'] = params
284
            kwargs['params'] = params
286
        return super(AntiSpamTestApp, self).post(*args, **kwargs)
285
        return super(AntiSpamTestApp, self).post(*args, **kwargs)
287
286
288
class ValidatingTestApp(AntiSpamTestApp):
287
class PostParamCheckingTestApp(AntiSpamTestApp):
288
289
    def _validate_params(self, params, method):
290
        if not params:
291
            return
292
        # params can be a list or a dict
293
        if hasattr(params, 'items'):
294
            params = params.items()
295
        for k, v in params:
296
            if not isinstance(k, basestring):
297
                raise TypeError('%s key %s is %s, not str' % (method, k, type(k)))
298
            if not isinstance(v, basestring):
299
                raise TypeError('%s key %s has value %s of type %s, not str. ' % (method, k, v, type(v)))
300
301
    def get(self, *args, **kwargs):
302
        self._validate_params(kwargs.get('params'), 'get')
303
        return super(PostParamCheckingTestApp, self).get(*args, **kwargs)
304
305
    def post(self, *args, **kwargs):
306
        self._validate_params(kwargs.get('params'), 'post')
307
        return super(PostParamCheckingTestApp, self).post(*args, **kwargs)
308
309
class ValidatingTestApp(PostParamCheckingTestApp):
289
310
290
    # Subclasses may set this to True to skip validation altogether
311
    # Subclasses may set this to True to skip validation altogether
291
    validate_skip = False
312
    validate_skip = False
292
313
293
    def _validate(self, resp, method, val_params):
314
    def _validate(self, resp, method, val_params):