def _printErrorList(self, flavour, errors): for test, err in errors: self.stream.writeln(self.separator1) self.stream.writeln("%s: %s" % (flavour, self.getDescription(test))) self.stream.writeln(self.separator2) self.stream.writeln("%s" % unicode_to_readable(err))
def _report_testcase(self, testCase, test_cases_list): """ Return a list with test name or desciption, status and error msg if fail or skip. """ full_name = testCase.test_id class_doc = testCase.test_method.__class__.__doc__ if class_doc: full_name += '<br>'.join([ line.strip() for line in to_bytes(class_doc).decode( 'utf-8').strip('<br> ').splitlines() ]) doc = getattr(testCase.test_method, '_testMethodDoc', '') if doc: full_name += '<br> ' + '<br> '.join([ line.strip() for line in to_bytes(doc).decode('utf-8').replace( '@note: ', '').strip('\n').splitlines() ]) status = ('success', 'danger', 'warning', 'info')[testCase.outcome - 1] error_type = "" if testCase.outcome != testCase.SKIP and testCase.outcome != testCase.SUCCESS: error_type = testCase.err[0].__name__ etype, value, tb = testCase.err error_message = ''.join([ force_text(el) for el in traceback.format_exception( etype, value, tb, limit=None) ]) error_message = unicode_to_readable(error_message) else: error_message = testCase.err error_message = jinja2.filters.do_mark_safe('<pre>%s</pre>' % error_message) test_cases_list.append([full_name, status, error_type, error_message])
def handle(self, *args, **kwargs): path_to_file = kwargs.get('path_to_file') labels = kwargs.get('labels') if len(labels) > 1 and kwargs.get('pks'): sys.exit("Multiple models labels can't be used with --pk arguments") objects_list = [] for label in labels: app_label, model_label = label.split('.') obj_model = get_model(app_label, model_label) qs = obj_model.objects.all() if kwargs.get('pks'): qs = qs.filter(pk__in=kwargs.get('pks')) objects_list.extend(qs) if 'PolymorphicModelBase' in [b.__name__ for b in obj_model.__class__.__bases__]: polymorphic_model = obj_model.polymorphic_ctype.field.model polymorphic_model = polymorphic_model if polymorphic_model != obj_model else obj_model base_objects_qs = polymorphic_model.base_objects.filter( pk__in=qs.values_list('pk', flat=True)) objects_list.extend(base_objects_qs) text = unicode_to_readable(serializers.serialize('json', objects_list, indent=4, use_natural_foreign_keys=True)) with open(path_to_file, 'ab') as f: f.write(text.encode('utf-8'))
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = kwargs.get('label').split('.') obj_model = get_model(app_label, model_label) obj = generate_random_obj(obj_model, filename=kwargs.get('path_to_random_file'), with_save=False) """Объект создается без сохранения, поэтому исключаем m2m""" fields = [ f.name for f in set(obj_model._meta.fields).difference( obj_model._meta.many_to_many) ] text = unicode_to_readable( serializers.serialize('json', [ obj, ], indent=4, use_natural_foreign_keys=True, fields=fields)) if path_to_file: with open(path_to_file, 'ab') as f: f.write(text.encode('utf-8')) else: print(text)
def _report_testcase(self, testCase, test_cases_list): """ Return a list with test name or desciption, status and error msg if fail or skip. """ full_name = testCase.test_id class_doc = testCase.test_method.__class__.__doc__ if class_doc: full_name += '<br>'.join([line.strip() for line in to_bytes(class_doc).decode('utf-8').strip('<br> ').splitlines()]) doc = getattr(testCase.test_method, '_testMethodDoc', '') if doc: full_name += '<br> ' + '<br> '.join([line.strip() for line in to_bytes(doc).decode('utf-8').replace('@note: ', '').strip('\n').splitlines()]) status = ('success', 'danger', 'warning', 'info')[testCase.outcome - 1] error_type = "" if testCase.outcome != testCase.SKIP and testCase.outcome != testCase.SUCCESS: error_type = testCase.err[0].__name__ etype, value, tb = testCase.err error_message = ''.join([force_text(el) for el in traceback.format_exception(etype, value, tb, limit=None)]) error_message = unicode_to_readable(error_message) else: error_message = testCase.err error_message = jinja2.filters.do_mark_safe('<pre>%s</pre>' % error_message) test_cases_list.append([full_name, status, error_type, error_message])
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = label[0].split('.') obj_model = get_model(app_label, model_label) text = unicode_to_readable(serializers.serialize('json', obj_model.objects.all(), indent=4, use_natural_keys=True)) f = open(path_to_file, 'a') f.write(text) f.close()
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = label[0].split('.') obj_model = get_model(app_label, model_label) text = unicode_to_readable( serializers.serialize('json', obj_model.objects.all(), indent=4, use_natural_keys=True)) f = open(path_to_file, 'a') f.write(text) f.close()
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = label[0].split('.') obj_model = get_model(app_label, model_label) obj = generate_random_obj(obj_model, filename=kwargs.get('path_to_random_file'), with_save=False) text = unicode_to_readable(serializers.serialize('json', [obj, ], indent=4, use_natural_keys=True)) if path_to_file: f = open(path_to_file, 'a') f.write(text) f.close() else: print text
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = kwargs.get('label').split('.') obj_model = get_model(app_label, model_label) obj = generate_random_obj(obj_model, filename=kwargs.get('path_to_random_file'), with_save=False) """Объект создается без сохранения, поэтому исключаем m2m""" fields = [f.name for f in set(obj_model._meta.fields).difference(obj_model._meta.many_to_many)] text = unicode_to_readable( serializers.serialize('json', [obj, ], indent=4, use_natural_foreign_keys=True, fields=fields)) if path_to_file: with open(path_to_file, 'ab') as f: f.write(text.encode('utf-8')) else: print(text)
def handle(self, *label, **kwargs): path_to_file = kwargs.get('path_to_file') app_label, model_label = kwargs.get('label').split('.') obj_model = get_model(app_label, model_label) qs = obj_model.objects.all() if kwargs.get('pks'): qs = qs.filter(pk__in=kwargs.get('pks')) objects_list = list(qs) if 'PolymorphicModelBase' in [b.__name__ for b in obj_model.__class__.__bases__]: polymorphic_model = obj_model.polymorphic_ctype.field.model polymorphic_model = polymorphic_model if polymorphic_model != obj_model else obj_model base_objects_qs = polymorphic_model.base_objects.filter( pk__in=qs.values_list('pk', flat=True)) objects_list.extend(base_objects_qs) text = unicode_to_readable(serializers.serialize('json', objects_list, indent=4, use_natural_foreign_keys=True)) with open(path_to_file, 'ab') as f: f.write(text.encode('utf-8'))