diff --git a/.bumpversion.cfg b/.bumpversion.cfg index c35a0f04..798266a7 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,6 +1,6 @@ [bumpversion] commit = True -current_version = 5.1.4 +current_version = 5.1.5 files = mixer/__init__.py tag = True tag_name = {new_version} diff --git a/.gitignore b/.gitignore index f6c0d678..42c0b4b6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ dist docs/_build /*.egg-info +/.coverage +/.ropeproject diff --git a/mixer/__init__.py b/mixer/__init__.py index 256c568c..c63eeb42 100644 --- a/mixer/__init__.py +++ b/mixer/__init__.py @@ -14,7 +14,7 @@ # Module information # ================== -__version__ = "5.1.4" +__version__ = "5.1.5" __project__ = "mixer" __author__ = "horneds " __license__ = "BSD" diff --git a/mixer/_faker.py b/mixer/_faker.py index d4f5bbcc..a6c04497 100644 --- a/mixer/_faker.py +++ b/mixer/_faker.py @@ -177,6 +177,9 @@ def nickname(self): )) return self.bothify(self.generator.parse(template)) + def pybytes(self, size=20): + return bytes(self.pystr(size)) + class MixerGenerator(Generator): diff --git a/mixer/backend/django.py b/mixer/backend/django.py index 79c1546f..bdceec21 100644 --- a/mixer/backend/django.py +++ b/mixer/backend/django.py @@ -78,17 +78,18 @@ class GenFactory(BaseFactory): """ Map a django classes to simple types. """ types = { - models.IntegerField: int, - (models.CharField, models.SlugField): str, + (models.AutoField, models.PositiveIntegerField): t.PositiveInteger, models.BigIntegerField: t.BigInteger, + models.BinaryField: bytes, models.BooleanField: bool, + (models.CharField, models.SlugField): str, models.DateField: datetime.date, models.DecimalField: decimal.Decimal, models.EmailField: t.EmailString, models.FloatField: float, - models.IPAddressField: t.IP4String, models.GenericIPAddressField: t.IPString, - (models.AutoField, models.PositiveIntegerField): t.PositiveInteger, + models.IPAddressField: t.IP4String, + models.IntegerField: int, models.PositiveSmallIntegerField: t.PositiveSmallInteger, models.SmallIntegerField: t.SmallInteger, models.TextField: t.Text, diff --git a/mixer/factory.py b/mixer/factory.py index 0af7e020..aea00f9c 100644 --- a/mixer/factory.py +++ b/mixer/factory.py @@ -61,6 +61,7 @@ class GenFactory(_.with_metaclass(GenFactoryMeta)): float: faker.pyfloat, int: faker.random_int, str: faker.pystr, + bytes: faker.pybytes, list: faker.pylist, set: faker.pyset, tuple: faker.pytuple, diff --git a/tests/django_app/migrations/0001_initial.py b/tests/django_app/migrations/0001_initial.py index 46f40e09..5f609f2a 100644 --- a/tests/django_app/migrations/0001_initial.py +++ b/tests/django_app/migrations/0001_initial.py @@ -149,6 +149,7 @@ class Migration(migrations.Migration): ('error_code', models.PositiveSmallIntegerField()), ('custom', CustomField(max_length=24)), ('content_type', models.ForeignKey(to='contenttypes.ContentType')), + ('binary', models.BinaryField()), ], options={ }, diff --git a/tests/django_app/models.py b/tests/django_app/models.py index 4eb61a95..013fddac 100644 --- a/tests/django_app/models.py +++ b/tests/django_app/models.py @@ -48,6 +48,8 @@ class Rabbit(models.Model): custom = CustomField(max_length=24) content_object = generic.GenericForeignKey('content_type', 'object_id') + binary = models.BinaryField() + one2one = models.OneToOneField('django_app.Simple') def save(self, **kwargs): diff --git a/tests/test_faker.py b/tests/test_faker.py index 4a91d925..97b03837 100644 --- a/tests/test_faker.py +++ b/tests/test_faker.py @@ -43,3 +43,5 @@ def test_faker(): assert faker.env is env assert faker.email() + + assert faker.pybytes() diff --git a/tests/test_main.py b/tests/test_main.py index 30b7b180..3c18d8b2 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -240,9 +240,6 @@ def test_ctx(): phone = mixer.faker.phone_number() assert phone.startswith('+7') - phone = mixer.faker.phone_number() - assert not phone.startswith('+7') - assert LOGGER.level == level