def any_time_field(field, **kwargs): """ Return random value for TimeField >>> result = any_field(models.TimeField()) >>> type(result) <type 'datetime.time'> """ return time(xunit.any_int(min_value=0, max_value=23), xunit.any_int(min_value=0, max_value=59), xunit.any_int(min_value=0, max_value=59))
def any_time_field(field, **kwargs): """ Return random value for TimeField >>> result = any_field(models.TimeField()) >>> type(result) <type 'datetime.time'> """ return time( xunit.any_int(min_value=0, max_value=23), xunit.any_int(min_value=0, max_value=59), xunit.any_int(min_value=0, max_value=59))
def time_field_data(field, **kwargs): """ Return random value for TimeField >>> result = any_form_field(forms.TimeField()) >>> type(result) <type 'str'> """ time_format = random.choice(field.input_formats or formats.get_format('TIME_INPUT_FORMATS')) return time(xunit.any_int(min_value=0, max_value=23), xunit.any_int(min_value=0, max_value=59), xunit.any_int(min_value=0, max_value=59)).strftime(time_format)
def any_integer_field(field, **kwargs): """ Return random value for IntegerField >>> result = any_field(models.IntegerField()) >>> type(result) <type 'int'> """ min_value = kwargs.get('min_value', -10000) max_value = kwargs.get('max_value', 10000) return xunit.any_int(min_value=min_value, max_value=max_value)
def any_biginteger_field(field, **kwargs): """ Return random value for BigIntegerField >>> result = any_field(models.BigIntegerField()) >>> type(result) <type 'long'> """ min_value = kwargs.get('min_value', 1) max_value = kwargs.get('max_value', 10**10) return long(xunit.any_int(min_value=min_value, max_value=max_value))
def any_positivesmallinteger_field(field, **kwargs): """ Return random value for PositiveSmallIntegerField >>> result = any_field(models.PositiveSmallIntegerField()) >>> type(result) <type 'int'> >>> result < 256, result > 0 (True, True) """ min_value = kwargs.get('min_value', 1) max_value = kwargs.get('max_value', 255) return xunit.any_int(min_value=min_value, max_value=max_value)
def any_smallinteger_field(field, **kwargs): """ Return random value for SmallIntegerValue >>> result = any_field(models.SmallIntegerField()) >>> type(result) <type 'int'> >>> result > -256, result < 256 (True, True) """ min_value = kwargs.get('min_value', -255) max_value = kwargs.get('max_value', 255) return xunit.any_int(min_value=min_value, max_value=max_value)
def any_ipaddress_field(field, **kwargs): """ Return random value for IPAddressField >>> result = any_field(models.IPAddressField()) >>> type(result) <type 'str'> >>> from django.core.validators import ipv4_re >>> re.match(ipv4_re, result) is not None True """ nums = [str(xunit.any_int(min_value=0, max_value=255)) for _ in xrange(0, 4)] return ".".join(nums)
def any_commaseparatedinteger_field(field, **kwargs): """ Return random value for CharField >>> result = any_field(models.CommaSeparatedIntegerField(max_length=10)) >>> type(result) <type 'str'> >>> [int(num) for num in result.split(',')] and 'OK' 'OK' """ nums_count = field.max_length/2 nums = [str(xunit.any_int(min_value=0, max_value=9)) for _ in xrange(0, nums_count)] return ",".join(nums)
def any_positiveinteger_field(field, **kwargs): """ An positive integer >>> result = any_field(models.PositiveIntegerField()) >>> type(result) <type 'int'> >>> result > 0 True """ min_value = kwargs.get('min_value', 1) max_value = kwargs.get('max_value', 9999) return xunit.any_int(min_value=min_value, max_value=max_value)
def multiple_choice_field_data(field, **kwargs): """ Return random value for MultipleChoiceField >>> CHOICES = [('YNG', 'Child'), ('MIDDLE', 'Parent') ,('OLD', 'GrandParent')] >>> result = any_form_field(forms.MultipleChoiceField(choices=CHOICES)) >>> type(result) <type 'str'> """ if field.choices: l = list(valid_choices(field.choices)) random.shuffle(l) choices = [] count = xunit.any_int(min_value=1, max_value=len(field.choices)) for i in xrange(0, count): choices.append(l[i]) return ' '.join(choices) return 'None'
def ipaddress_field_data(field, **kwargs): """ Return random value for IPAddressField >>> result = any_form_field(forms.IPAddressField()) >>> type(result) <type 'str'> >>> from django.core.validators import ipv4_re >>> import re >>> re.match(ipv4_re, result) is not None True """ choices = kwargs.get('choices') if choices: return random.choice(choices) else: nums = [str(xunit.any_int(min_value=0, max_value=255)) for _ in xrange(0, 4)] return ".".join(nums)
def integer_field_data(field, **kwargs): """ Return random value for IntegerField >>> result = any_form_field(forms.IntegerField(max_value=200, min_value=100)) >>> type(result) <type 'str'> >>> int(result) >=100, int(result) <=200 (True, True) """ min_value = 0 max_value = 100 from django.core.validators import MinValueValidator, MaxValueValidator for elem in field.validators: if isinstance(elem, MinValueValidator): min_value = elem.limit_value if isinstance(elem, MaxValueValidator): max_value = elem.limit_value min_value = kwargs.get('min_value', min_value) max_value = kwargs.get('max_value', max_value) return str(xunit.any_int(min_value=min_value, max_value=max_value))