def test_unregister(self):
        autofixture.register(SimpleModel, SimpleAutoFixture)
        self.assertTrue(SimpleModel in autofixture.REGISTRY)
        self.assertEqual(autofixture.REGISTRY[SimpleModel], SimpleAutoFixture)

        autofixture.unregister(SimpleModel)
        self.assertFalse(SimpleModel in autofixture.REGISTRY)
Example #2
0
    def test_unregister(self):
        autofixture.register(SimpleModel, SimpleAutoFixture)
        self.assertTrue(SimpleModel in autofixture.REGISTRY)
        self.assertEqual(autofixture.REGISTRY[SimpleModel], SimpleAutoFixture)

        autofixture.unregister(SimpleModel)
        self.assertFalse(SimpleModel in autofixture.REGISTRY)
Example #3
0
 def test_overwrite_attributes(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     for obj in autofixture.create(SimpleModel,
                                   10,
                                   field_values={'name': 'bar'}):
         self.assertEqual(obj.name, 'bar')
     obj = autofixture.create_one(SimpleModel, field_values={'name': 'bar'})
     self.assertEqual(obj.name, 'bar')
Example #4
0
 def test_overwrite_attributes(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     for obj in autofixture.create(
             SimpleModel, 10, field_values={'name': 'bar'}):
         self.assertEqual(obj.name, 'bar')
     obj = autofixture.create_one(
         SimpleModel, field_values={'name': 'bar'})
     self.assertEqual(obj.name, 'bar')
Example #5
0
 def test_values_class(self):
     autofixture.register(BasicModel, BasicValueFixture)
     for obj in autofixture.create(BasicModel, 10):
         self.assertEqual(obj.chars, 'foo')
         self.assertEqual(obj.shortchars, 'a')
         self.assertEqual(obj.blankchars, 'bar')
         self.assertEqual(obj.nullchars, 'spam')
         self.assertTrue(1 <= obj.intfield <= 13)
Example #6
0
 def test_values_class(self):
     autofixture.register(BasicModel, BasicValueFixture)
     for obj in autofixture.create(BasicModel, 10):
         self.assertEqual(obj.chars, 'foo')
         self.assertEqual(obj.shortchars, 'a')
         self.assertEqual(obj.blankchars, 'bar')
         self.assertEqual(obj.nullchars, 'spam')
         self.assertTrue(1 <= obj.intfield <= 13)
Example #7
0
    def test_registered_fixture_is_used_for_fk(self):
        class BasicModelFixture(AutoFixture):
            field_values = {'chars': 'Hello World!'}

        autofixture.register(BasicModel, BasicModelFixture)

        fixture = AutoFixture(RelatedModel, generate_fk=['related'])
        obj = fixture.create_one()
        self.assertTrue(obj)
        self.assertEqual(obj.related.chars, 'Hello World!')
Example #8
0
    def test_registered_fixture_is_used_for_fk(self):
        class BasicModelFixture(AutoFixture):
            field_values={'chars': 'Hello World!'}

        autofixture.register(BasicModel, BasicModelFixture)

        fixture = AutoFixture(RelatedModel, generate_fk=['related'])
        obj = fixture.create_one()
        self.assertTrue(obj)
        self.assertEqual(obj.related.chars, 'Hello World!')
Example #9
0
    def test_registered_fixture_is_used_for_m2m(self):
        class SimpleModelFixture(AutoFixture):
            field_values = {'name': 'Jon Doe'}

        autofixture.register(SimpleModel, SimpleModelFixture)

        fixture = AutoFixture(M2MModel, generate_m2m={'m2m': (5, 5)})
        obj = fixture.create_one()
        self.assertTrue(obj)

        self.assertEqual(obj.m2m.count(), 5)
        self.assertEqual(list(obj.m2m.values_list('name', flat=True)),
                         ['Jon Doe'] * 5)
Example #10
0
    def test_registered_fixture_is_used_for_m2m(self):
        class SimpleModelFixture(AutoFixture):
            field_values={'name': 'Jon Doe'}

        autofixture.register(SimpleModel, SimpleModelFixture)

        fixture = AutoFixture(M2MModel, generate_m2m={'m2m': (5,5)})
        obj = fixture.create_one()
        self.assertTrue(obj)

        self.assertEqual(obj.m2m.count(), 5)
        self.assertEqual(
            list(obj.m2m.values_list('name', flat=True)),
            ['Jon Doe'] * 5)
    def generate_page(cls, child_class, parent_id, number_childs):
        aux_dict = {
            'content_type': ContentType.objects.get_for_model(child_class)
        }
        cls.field_values = dict(cls.field_values, **aux_dict)
        register(child_class, GenericAutoFixture, overwrite=True)

        parent_page = Page.objects.filter(pk=parent_id)[0]
        parent_path = parent_page.path
        child_depth = parent_page.depth + 1
        num_childs = parent_page.numchild
        for pos in range(0, number_childs):
            new_page_path = parent_path + str(num_childs + 1).zfill(4)
            fields = {'path': new_page_path, 'depth': child_depth}
            cls.field_values = dict(cls.field_values, **fields)
            call_command('loadtestdata',
                         child_class._meta.__unicode__() + ':1')
            call_command('fixtree')
            num_childs += 1
    def generate_page(cls, child_class, parent_id, number_childs):
        aux_dict = {
            'content_type': ContentType.objects.get_for_model(child_class)
        }
        cls.field_values = dict(cls.field_values, **aux_dict)
        register(child_class, GenericAutoFixture, overwrite=True)

        parent_page = Page.objects.filter(pk=parent_id)[0]
        parent_path = parent_page.path
        child_depth = parent_page.depth + 1
        num_childs = parent_page.numchild
        for pos in range(0, number_childs):
            new_page_path = parent_path + str(num_childs + 1).zfill(4)
            fields = {
                'path': new_page_path,
                'depth': child_depth
            }
            cls.field_values = dict(cls.field_values, **fields)
            call_command('loadtestdata', child_class._meta.__unicode__() + ':1')
            call_command('fixtree')
            num_childs += 1
Example #13
0
from autofixture import AutoFixture, generators, register
from faker import Factory

from .models import Project

fake = Factory.create()

IMAGESIZES = ((1300, 600), )


class ProjectAutoFixture(AutoFixture):

    field_values = {
        'name': generators.CallableGenerator(fake.company),
        'slug': generators.CallableGenerator(fake.slug),
        'image': generators.ImageGenerator(sizes=IMAGESIZES),
        'is_draft': generators.ChoicesGenerator(values=[True, False, False]),
    }


register(Project, ProjectAutoFixture)
Example #14
0
                                            "Bioethanol")),
        'image_url':
        generators.ChoicesGenerator(
            values=("http://127.0.0.1:8000/static/images/pic01.jpg",
                    "http://127.0.0.1:8000/static/images/pic02.jpg",
                    "http://127.0.0.1:8000/static/images/pic03.jpg",
                    "http://127.0.0.1:8000/static/images/pic04.jpg",
                    "http://127.0.0.1:8000/static/images/pic05.jpg")),
        'price_per_unit':
        generators.ChoicesGenerator(values=(50, 60, 45, 110, 51, 90, 80, 144,
                                            97, 56)),
        'seats':
        generators.ChoicesGenerator(values=(1, 2, 3, 4)),
        'year':
        generators.ChoicesGenerator(values=("2001", "2002", "2003", "2015",
                                            "2016", "2017", "2018")),
    }


register(Car, CarAutoFixture)


class PersonAutoFixture(AutoFixture):
    field_values = {
        'user':
        AutoFixture.create('auth.User', 1, field_values={'is_superuser':
                                                         True}),
    }


register(Person, PersonAutoFixture)
Example #15
0
from models import Book
from autofixture import generators, register, AutoFixture

class BookAutoFixture(AutoFixture):
    field_values = {
        'name': generators.StaticGenerator('trial static name'),
    }

register(Book, BookAutoFixture)
Example #16
0
from autofixture import AutoFixture
from autofixture import register

from .models import Module


class ModuleAutoFixture(AutoFixture):
    follow_pk = True


register(Module, ModuleAutoFixture)
Example #17
0
import autofixture
from autofixture import AutoFixture

GlazeLookupFixture = AutoFixture(GlazeLookup, --overwrite-defaults = True, )

class GlazeLookupFixture(AutoFixture):

     class Values:
          glaze_description = generators.StringGenerator(self, chars=None, multiline=False,
                                               min_length=10, max_length= 30)
          glaze_name = generators.ChoicesGenerator(
               values="aqua,black,blue,fuchsia,gray,green,lime,maroon,navy, olive,orange,purple,red,silver,teal,white,yellow".split(',')
          )
          glaze_begin_date = generators.DateTimeGenerator(
               min_date=datetime(2009,1,1),
               max_date=datetime(2009,12,31))
          glaze_end_date = generators.DateTimeGenerator(
               min_date=datetime(2009,1,1),
               max_date=datetime(2009,12,31))
autofixture.register(GlazeLookup, GlazeLookupFixture, overwrite=False, fail_silently=False)


Example #18
0
from sales.models import Orders, Categories, Suppliers, Products, OrderDetail
from autofixture import generators, register, AutoFixture


class CategoriesFixture(AutoFixture):
    field_values = {
        'name': generators.FirstNameGenerator(),
        'description': generators.LoremGenerator(),
        #'picture' : generators.ImageGenerator()
    }


register(Categories, CategoriesFixture)
Example #19
0
from snip.models import Piece, Condition, PublicationLookup, publication_link_piece, ExhibitionLookup, exhibition_link_piece, Documentation, documentation_link_piece, GlazeLookup, glaze_link_piece, HeathLineLookup, heath_line_link_piece, Logo,logo_link_piece, MakerLookup, maker_link_piece, MaterialLookup, material_link_piece, MethodLookup, method_link_piece, SetCollection, setCollection_link_piece

#from snip.models import Piece, ExhibitionLookup, GlazeLookup, glaze_link_piece, HeathLineLookup, heath_line_link_piece, MakerLookup, maker_link_piece, MaterialLookup, material_link_piece, MethodLookup, method_link_piece

from autofixture import generators, register, AutoFixture


class  PieceAutoFixture(AutoFixture):
    field_values = {
        'cataloguer': generators.ChoicesGenerator(
            values="Erminia Galdamez, Angila Weekly,  Milton Burnley,  Earle Hampshire,  Lael Warford,  Leilani Dennis,  Porsha Nodine,  Tammie Wert,  Tonie Schweinsberg,  Meryl Belville,  Latricia Landrum,  Margorie Galeano,  Josiah Torgrimson,  Kurt Picklesimer, Veola Callaham, Rolf Humphery,  Shari Carpenter , Belen Hott  ".split(',')
        )
    }
register(Piece, PieceAutoFixture)

class GlazeLookupAutoFixture(AutoFixture):
    field_values = {
        'glaze_name': generators.ChoicesGenerator(
            values="aqua,black,blue,fuchsia,gray,green,lime,maroon,navy, olive,orange,purple,red,silver,teal,white,yellow".split(',')
        )
    }

register(GlazeLookup, GlazeLookupAutoFixture)

class  HeathLineLookupAutoFixture(AutoFixture):
    field_values = {
        'heath_line_name': generators.ChoicesGenerator(
            values="Coupe, Rim, Chez Pannise, Alabama Chanin".split(',')
        )
    }
Example #20
0
import datetime
from autofixture import generators, register, AutoFixture

from topics.models import Vote


class DateTimeGenerator(generators.DateTimeGenerator):
    min_date = datetime.datetime(2011, 1, 1, 0, 0)
    max_date = datetime.datetime(2012, 12, 1, 0, 0)


class VoteAutoFixture(AutoFixture):
    field_values = {
        'date': DateTimeGenerator(),
    }


register(Vote, VoteAutoFixture)
Example #21
0
        'name':
        generators.ChoicesGenerator(values=(
            "Iphone",
            "Sumsung",
            "Xiaomi",
            "Watches",
            "Honor",
            "Redmi",
        )),
        'description':
        generators.ChoicesGenerator(values=("Some phone", "Very good",
                                            "Best phone ever",
                                            "Now on sale!")),
        'price':
        generators.ChoicesGenerator(values=('15.45', '2.00', '14.00',
                                            '10.05')),
    }


register(Product, ProductAutoFixture)


class CategoryAutoFixture(AutoFixture):
    field_values = {
        'name':
        generators.ChoicesGenerator(values=("Phone", "Headphones", "Watches")),
    }


register(Category, CategoryAutoFixture)
 def test_using_registry(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     self.call('autofixture_tests.SimpleModel:10')
     for obj in SimpleModel.objects.all():
         self.assertEqual(obj.name, 'foo')
Example #23
0
#from somepots.models import Piece, Condition, PublicationLookup, publication_link_piece, ExhibitionLookup, exhibition_link_piece, Documentation, documentation_link_piece, GlazeLookup, glaze_link_piece, HeathLineLookup, heath_line_link_piece, Logo,logo_link_piece, MakerLookup, maker_link_piece, MaterialLookup, material_link_piece, MethodLookup, method_link_piece, SetCollection, setCollection_link_piece

from somepots.models import Piece, GlazeLookup, glaze_link_piece, HeathLineLookup, heath_line_link_piece, MakerLookup, maker_link_piece, MaterialLookup, material_link_piece, MethodLookup, method_link_piece

from autofixture import generators, register, AutoFixture

class GlazeLookupAutoFixture(AutoFixture):
    field_values = {
        'glaze_name': generators.ChoicesGenerator(
            values="aqua,black,blue,fuchsia,gray,green,lime,maroon,navy, olive,orange,purple,red,silver,teal,white,yellow".split(',')
        )
    }

register(GlazeLookup, GlazeLookupAutoFixture)

class  HeathLineLookupAutoFixture(AutoFixture):
    field_values = {
        'heath_line_name': generators.ChoicesGenerator(
            values="Coupe, Rim, Chez Pannise, Alabama Chanin".split(',')
        )
    }

register(HeathLineLookup, HeathLineLookupAutoFixture)

class  MakerLookupAutoFixture(AutoFixture):
    field_values = {
        'maker_name': generators.ChoicesGenerator(
            values="Erminia Galdamez, Angila Weekly,  Milton Burnley,  Earle Hampshire,  Lael Warford,  Leilani Dennis,  Porsha Nodine,  Tammie Wert,  Tonie Schweinsberg,  Meryl Belville,  Latricia Landrum,  Margorie Galeano,  Josiah Torgrimson,  Kurt Picklesimer, Veola Callaham, Rolf Humphery,  Shari Carpenter , Belen Hott  ".split(',')
        )
    }
import string

from autofixture import generators, register, AutoFixture

from fairsharing.models import FairsharingRecord

from django_prototype.settings import DATACITE_PREFIX


def generate_doi(prefix, size=6):
    suffix = ''.join(
        random.choice(string.ascii_uppercase + string.ascii_lowercase +
                      string.digits) for _ in range(size))
    return '%s/FAIRsharing.%s' % (prefix, suffix)


####################################
# The actual records themselves... #
####################################
class FairsharingRecordAutoFixture(AutoFixture):
    field_values = {
        'name': generators.StringGenerator(max_length=10, min_length=8),
        'abbreviation': generators.StringGenerator(max_length=3, min_length=2),
        'homepage': generators.URLGenerator(),
        'description': generators.LoremGenerator(),
        'doi': generators.StaticGenerator(generate_doi(DATACITE_PREFIX))
    }


register(FairsharingRecord, FairsharingRecordAutoFixture)
from django.core.management.base import NoArgsCommand
from django.conf import settings

from selvbetjening.core.user.models import SUser
from selvbetjening.core.events.models import Event, Group, Attend, OptionGroup, Option, Selection

import autofixture
from autofixture import generators


class EventAutoFixture(autofixture.AutoFixture):
    field_values = {
        'title': generators.LoremSentenceGenerator(max_length=30)
    }

autofixture.register(Event, EventAutoFixture)


class GroupAutoFixture(autofixture.AutoFixture):
    field_values = {
        'name': generators.LoremWordGenerator(max_length=10)
    }

autofixture.register(Group, GroupAutoFixture)


class Command(NoArgsCommand):

    def handle_noargs(self, **options):

        if not settings.DEBUG:
Example #26
0
from sales.models import Orders, Categories, Suppliers, Products, OrderDetail
from autofixture import generators, register, AutoFixture

class CategoriesFixture(AutoFixture):
	field_values = {
		'name' : generators.FirstNameGenerator(),
		'description' : generators.LoremGenerator(),
		#'picture' : generators.ImageGenerator()
	}

register(Categories, CategoriesFixture)
Example #27
0
 def test_create(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     for obj in autofixture.create(SimpleModel, 10):
         self.assertEqual(obj.name, 'foo')
     obj = autofixture.create_one(SimpleModel)
     self.assertEqual(obj.name, 'foo')
Example #28
0
from autofixture import AutoFixture, generators, register
from faker import Factory

from .models import Idea

fake = Factory.create()


class IdeaAutoFixture(AutoFixture):

    IMAGESIZES = ((1300, 600),)

    field_values = {
        'name': generators.CallableGenerator(fake.company),
        'description': generators.CallableGenerator(fake.text),
        'image': generators.ImageGenerator(sizes=IMAGESIZES),
    }

    follow_pk = True

register(Idea, IdeaAutoFixture)
Example #29
0
from contactos.models import Contacto
from autofixture import generators, register, AutoFixture
from random import randint


class ContactoAutoFixture(AutoFixture):
    field_values = {
        'nombre': generators.FirstNameGenerator(),
        'apellidos': generators.LastNameGenerator(),
        'direccion': generators.StringGenerator(),
        'telefono': '+' + str(randint(100000000000, 1000000000000))
    }


register(Contacto, ContactoAutoFixture)
Example #30
0
from autofixture import AutoFixture, generators, register
from faker import Factory

from .models import User

fake = Factory.create()


class UserAutoFixture(AutoFixture):

    field_values = {
        'username': generators.CallableGenerator(fake.name),
        '_avatar': None
    }


register(User, UserAutoFixture)
Example #31
0
 def test_registration(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     self.assertTrue(SimpleModel in autofixture.REGISTRY)
     self.assertEqual(autofixture.REGISTRY[SimpleModel], SimpleAutoFixture)
                        'Wang', 'Chen', 'Chou', 'Tang', 'Huang', 'Liu', 'Shih', 'Su', 'Song', 'Yang',
                        'Chan', 'Tsai', 'Wong', 'Hsu', 'Cheng', 'Chang', 'Wu', 'Lin', 'Yu', 'Yao', 
                        'Kang', 'Park', 'Kim', 'Choi', 'Ahn', 'Mujuni']

    def generate(self):
        return random.choice(self.surname)


class UserAutoFixture(AutoFixture):
    field_values = {
        'email' : generators.EmailGenerator(static_domain='example.com'),
        'firstname' : FirstNameGenerator(),
        'lastname' : LastNameGenerator()
    }

register(User, UserAutoFixture)


class TraineeAutoFixture(AutoFixture):
    field_values = {
    }

register(Trainee, TraineeAutoFixture)


class TrainingAssistantAutoFixture(AutoFixture):
    field_values = {
    }

register(TrainingAssistant, TrainingAssistantAutoFixture)
Example #33
0
 def test_create(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     for obj in autofixture.create(SimpleModel, 10):
         self.assertEqual(obj.name, 'foo')
     obj = autofixture.create_one(SimpleModel)
     self.assertEqual(obj.name, 'foo')
Example #34
0
from list.models import Category, Item
from autofixture import generators, register, AutoFixture

import random

nouns = ("Hardware", "Software", "Test-Software", "Test-Hardware", "Apps", "BigData",)

class CategoryFixture(AutoFixture):
	field_values = {
		'name' : generators.random.choice(nouns),
		'slug' : generators.SlugGenerator('cidei'),
	}

register(Category, CategoryFixture)
Example #35
0
    def price_constraint(self, model, instance):
        last_bid = Bid.get_last_bid_by_auction(instance.auction)
        minimum_price = 0
        if last_bid is not None:
            minimum_price = last_bid.price
        else:
            minimum_price = instance.auction.minimum_price
        if instance.price <= minimum_price:
            raise autofixture.InvalidConstraint((model._meta.get_field("price"),))

    def prepare_class(self):
        self.add_constraint(self.bidder_constraint)
        # self.add_constraint(self.price_constraint)

    def pre_process_instance(self, instance):
        last_bid = Bid.get_last_bid_by_auction(instance.auction)
        minimum_price = 0
        if last_bid is not None:
            minimum_price = last_bid.price
        else:
            minimum_price = instance.auction.minimum_price
        if instance.price <= minimum_price:
            instance.price = minimum_price + 1
        return instance


autofixture.register(User, UserFixture, overwrite=True, fail_silently=False)
autofixture.register(Auction, AuctionFixture, fail_silently=False)
autofixture.register(Bid, BidFixture, fail_silently=False)
Example #36
0
    LOGOSIZES = ((400, 400),)

    field_values = {
        'name': generators.CallableGenerator(fake.company),
        'slug': generators.CallableGenerator(fake.slug),
        'image': generators.ImageGenerator(sizes=IMAGESIZES),
        'logo': generators.ImageGenerator(sizes=LOGOSIZES),
        'place': generators.CallableGenerator(fake.city),
        'facebook_handle': 'LIQDeV',
        'twitter_handle': 'bunnybuddhism',
        'instragram_handle': 'insta.plane',
        'webpage': 'https://example.com',
    }


class OrganisationTranslationsAutoFixture(AutoFixture):

    field_values = {
        'title': generators.CallableGenerator(fake.company),
        'description_why': generators.CallableGenerator(fake.text),
        'description_how': generators.CallableGenerator(fake.text),
        'description': generators.CallableGenerator(fake.text),
        'language_code': 'en',
    }

    follow_fk = True


register(Organisation, OrganisationAutoFixture)
register(OrganisationTranslation, OrganisationTranslationsAutoFixture)
Example #37
0
from autofixture import AutoFixture, register

from .models import Module


class ModuleAutoFixture(AutoFixture):
    follow_pk = True


register(Module, ModuleAutoFixture)
Example #38
0

class ProductAutoFixture(AutoFixture):
    """Fixture for Product generation."""

    field_values = {
        'article':
        generators.StringGenerator(
            chars=string.ascii_letters + string.digits + ' -',
            max_length=Product._meta.get_field('article').max_length,
        ),
        'cost':
        generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('cost').max_digits,
            decimal_places=Product._meta.get_field('cost').decimal_places,
        ),
        'price':
        generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('price').max_digits,
            decimal_places=Product._meta.get_field('price').decimal_places,
        ),
        'count':
        generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('count').max_digits,
            decimal_places=Product._meta.get_field('count').decimal_places,
        ),
    }


register(Product, ProductAutoFixture)
Example #39
0
from autofixture import AutoFixture, generators, register

from .models import Product


class ProductAutoFixture(AutoFixture):
    """Fixture for Product generation."""

    field_values = {
        'article': generators.StringGenerator(
            chars=string.ascii_letters + string.digits + ' -',
            max_length=Product._meta.get_field('article').max_length,
        ),
        'cost': generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('cost').max_digits,
            decimal_places=Product._meta.get_field('cost').decimal_places,
        ),
        'price': generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('price').max_digits,
            decimal_places=Product._meta.get_field('price').decimal_places,
        ),
        'count': generators.PositiveDecimalGenerator(
            max_digits=Product._meta.get_field('count').max_digits,
            decimal_places=Product._meta.get_field('count').decimal_places,
        ),
    }


register(Product, ProductAutoFixture)
Example #40
0
        can provide a ``username`` and a ``password`` argument. Then you can do
        something like::

            autofixture.create_one('auth.User', username='******', password='******'foo', password='******')
        '''
        self.username = kwargs.pop('username', None)
        self.password = kwargs.pop('password', None)
        super(UserFixture, self).__init__(*args, **kwargs)
        if self.username:
            self.field_values['username'] = generators.StaticGenerator(
                self.username)

    def unique_email(self, model, instance):
        if User.objects.filter(email=instance.email):
            raise autofixture.InvalidConstraint(('email',))

    def prepare_class(self):
        self.add_constraint(self.unique_email)

    def post_process_instance(self, instance):
        # make sure user's last login was not before he joined
        if instance.last_login < instance.date_joined:
            instance.last_login = instance.date_joined
        if self.password:
            instance.set_password(self.password)
        return instance


autofixture.register(User, UserFixture, fail_silently=True)
Example #41
0
        about = 'About Skill'
        level = random.choice(LEVELS)


#class JobSeekerProfileAutoFixture(AutoFixture):
#    It generates test data for the JobSeekerProfile Model
#    The field_values is a  dictionary with field names of model as keys.
#
#    """
#    class Values:
#        about = 'About Job Seeker'
#        user = generators.InstanceGenerator(UserFixture)
#        dob = generators.DateGenerator(max_date=(datetime.date.today() - datetime.timedelta(365 * 20)))
#        mobile = '0702006545'
#        experience = random.choice(EXPERIENCE)
#        industry = random.choice(INDUSTRIES)
#        edu = random.choice(EDU)
#        gender = random.choice(GENDERS)
#        location = random.choice(LOCATIONS)
#        skills = random.choice(JobSkill.objects.all())

# ============================================================================
# autofixture registration
# ============================================================================
register(JobSkill, JobSkillAutoFixture)
# register(JobSeekerProfile, JobSeekerProfileAutoFixture)

# ============================================================================
# EOF
# ============================================================================
Example #42
0
 def test_registration(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     self.assertTrue(SimpleModel in autofixture.REGISTRY)
     self.assertEqual(autofixture.REGISTRY[SimpleModel], SimpleAutoFixture)
        'launched':
        generators.DateTimeGenerator(min_date=datetime(1950, 1, 1),
                                     max_date=datetime(2015, 12, 31)),
        'type':
        generators.ChoicesGenerator(values=('se', '4x', 'co', 'br')),
    }


class ManufacturerAutoFixture(AutoFixture):
    field_values = {
        'name':
        generators.StringGenerator(min_length=3, max_length=12),
        'created':
        generators.DateTimeGenerator(min_date=datetime(1900, 1, 1),
                                     max_date=datetime(2015, 12, 31)),
        'country_code':
        generators.ChoicesGenerator(values=(COUNTRIES.keys())),
    }


class AdAutoFixture(AutoFixture):
    field_values = {
        'title': generators.LoremWordGenerator(),
        'description': generators.LoremHTMLGenerator(),
    }


register(Car, CarAutoFixture)
register(Manufacturer, ManufacturerAutoFixture)
register(Ad, AdAutoFixture)
Example #44
0
import autofixture
from autofixture import AutoFixture, generators
from models import *
from datetime import datetime

print 'Setting up CMS fixtures'

CourseFixture = AutoFixture(Course,
    field_values={
      'name': generators.LoremWordGenerator(count=2)
      ,'full_name': generators.LoremSentenceGenerator()
      ,'description': generators.LoremHTMLGenerator()
      ,'schedule_no': generators.PositiveIntegerGenerator(min_value=222222)
      ,'start_date': generators.DateGenerator(max_date=datetime.today())
      ,'end_date': generators.DateGenerator(min_date=datetime.today())
      ,'active': generators.StaticGenerator(True)
    }
  )


autofixture.register(Course, CourseFixture)

courses = autofixture.create(Course, 3)
print courses
Example #45
0
    LOGOSIZES = ((400, 400), )

    field_values = {
        'name': generators.CallableGenerator(fake.company),
        'slug': generators.CallableGenerator(fake.slug),
        'image': generators.ImageGenerator(sizes=IMAGESIZES),
        'logo': generators.ImageGenerator(sizes=LOGOSIZES),
        'place': generators.CallableGenerator(fake.city),
        'facebook_handle': 'LIQDeV',
        'twitter_handle': 'bunnybuddhism',
        'instragram_handle': 'insta.plane',
        'webpage': 'https://example.com',
    }


class OrganisationTranslationsAutoFixture(AutoFixture):

    field_values = {
        'title': generators.CallableGenerator(fake.company),
        'description_why': generators.CallableGenerator(fake.text),
        'description_how': generators.CallableGenerator(fake.text),
        'description': generators.CallableGenerator(fake.text),
        'language_code': 'en',
    }

    follow_fk = True


register(Organisation, OrganisationAutoFixture)
register(OrganisationTranslation, OrganisationTranslationsAutoFixture)
Example #46
0
 def test_using_registry(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     models = ('autofixture_test.SimpleModel:10',)
     self.command.handle(*models, **self.options)
     for obj in SimpleModel.objects.all():
         self.assertEqual(obj.name, 'foo')
Example #47
0
""" Clase para crear informacion para el modelo Customer """
class CustomerFixture(AutoFixture):
	field_values = {
		'customer_name': generators.FirstNameGenerator(),
		'customer_address': generators.SmallIntegerGenerator(min_value=1240, max_value=9999),
		'customer_phone': generators.IntegerGenerator(min_value=124000, max_value=9999999)
	}

class ProductFixture(AutoFixture):
	field_values = {
		'product_name': generators.StaticGenerator(products),
		'product_price': generators.PositiveIntegerGenerator(),
		'product_type': generators.random.choice(types),
		'product_description': generators.LoremGenerator()
	}

class StockFixture(AutoFixture):
	field_values = {
		'stock_quatity': generators.SmallIntegerGenerator(min_value=1240, max_value=9999)
	}

class OrderFixture(AutoFixture):
	field_values = {
		'order_amount': generators.SmallIntegerGenerator(min_value=1, max_value=10)
	}

""" Asociando modelo a clase para generar informacion """
register(Customer, CustomerFixture)
register(Product, ProductFixture)
register(Stock, StockFixture)
register(Order, OrderFixture)
Example #48
0
from autofixture import generators, register, AutoFixture
from .models import SummaryNote

class SummaryNoteAutoFixtures(AutoFixture):
     field_values = {
        'title': generators.LoremWordGenerator(),
        'content': generators.LoremHTMLGenerator(),
    }

register(SummaryNote, SummaryNoteAutoFixtures)
Example #49
0
class CarAutoFixture(AutoFixture):
    field_values = {
        'model_year': generators.DateGenerator(),
        'registered_day': generators.DateGenerator(),
        'color': generators.ChoicesGenerator(COLOR_CHOICES),
        'fuel': generators.ChoicesGenerator(Car.FUEL_CHOICES),
        'sub_model': generators.ChoicesGenerator(SUB_MODEL_CHOICES),
        'gear': generators.ChoicesGenerator(Car.GEAR_CHOICES),
        'kms': generators.PositiveIntegerGenerator(),
        'region': generators.ChoicesGenerator(REGION_CHOICE),
        'status': generators.ChoicesGenerator(Car.STATUS_CHOICES),
    }


register(Car, CarAutoFixture)
#
# model_year = YearMonthField(max_length=20)
# registered_day = models.DateTimeField('Registered Date')
# brand = models.CharField(max_length=100)
# type = models.CharField(max_length=100)
# model = models.CharField(max_length=100)
# color = models.CharField(max_length=20)
# fuel = models.CharField(
#     max_length=6,
#     choices=FUEL_CHOICES,
#     default=GASOLINE,
# )
# gear = models.CharField(
#     max_length=4,
#     choices=GEAR_CHOICES,
Example #50
0
from autofixture import AutoFixture, generators, register
from django.contrib.contenttypes.models import ContentType

from home.models import HomePage

from .models import Comment


class CommentAutoFixture(AutoFixture):

    homepage_contenttype = ContentType.objects.get(app_label='home',
                                                   model='homepage')
    homepage_id = HomePage.objects.first().pk

    field_values = {
        'content_type': homepage_contenttype,
        'object_pk': homepage_id,
        'is_removed': generators.BooleanGenerator(),
        'is_censored': generators.BooleanGenerator(),
    }

register(Comment, CommentAutoFixture)
import autofixture
from .models import TestModel


class CustomTestModelFixture(autofixture.AutoFixture):
    pass


autofixture.register(TestModel, CustomTestModelFixture)
Example #52
0
from autofixture import register, AutoFixture
from .models import Region


class RegionAutoFixture(AutoFixture):
    overwrite_defaults = True
    field_values = {
        'regional_groups': None,
        'key_figures': None,
        'population_data': None,
        'media_sources': None,
    }

    # def post_process_instance(self, instance, commit):
    #     pass


register(Region, RegionAutoFixture)
Example #53
0
class Post(models.Model):
    title = models.CharField(_("title"), max_length=200)
    content = models.TextField(_("content"), help_text=u"Markdown is available http://pl.wikipedia.org/wiki/Markdown")

    create_time = models.DateTimeField(_("create time"), auto_now_add=True, db_index=True)
    update_time = models.DateTimeField(_("update time"), auto_now=True)
    author = models.ForeignKey(User, verbose_name=_("author"), related_name="posts")

    tags = TagField()

    class Meta:
        verbose_name = _("post")
        verbose_name_plural = _("posts")
        get_latest_by = "create_time"
        ordering = ("-create_time",)

    def __unicode__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("posts.detail", args=(slugify(self.title), self.id))

    def set_tags(self, tags):
        Tag.objects.update_tags(self, tags)

    def get_tags(self):
        return Tag.objects.get_for_object(self)


autofixture.register(Post, PostFixture)
Example #54
0
                num2=generators.SmallIntegerGenerator().generate()).lower(),
            'password':
            '******'
        }
        return self.USER_MODEL.objects.create_user(**defaults)


class AuthorFixture(AutoFixture):
    field_values = {
        'user': UserGenerator(),
        'name': generators.FirstNameGenerator(),
        'age': generators.PositiveIntegerGenerator(min_value=20, max_value=80)
    }


register(Author, AuthorFixture, overwrite=True)


class PublisherFixture(AutoFixture):
    field_values = {
        'name':
        PublisherGenerator(),
        'num_awards':
        generators.PositiveIntegerGenerator(min_value=0, max_value=10)
    }


register(Publisher, PublisherFixture, overwrite=True)


class BookFixture(AutoFixture):
Example #55
0
 def test_using_registry(self):
     autofixture.register(SimpleModel, SimpleAutoFixture)
     models = ('autofixture_test.SimpleModel:10', )
     self.command.handle(*models, **self.options)
     for obj in SimpleModel.objects.all():
         self.assertEqual(obj.name, 'foo')
Example #56
0
        '''
        self.username = kwargs.pop('username', None)
        self.password = kwargs.pop('password', None)
        super(UserFixture, self).__init__(*args, **kwargs)
        if self.username:
            self.field_values['username'] = generators.StaticGenerator(
                self.username)

    def unique_email(self, model, instance):
        if User.objects.filter(email=instance.email):
            raise autofixture.InvalidConstraint(('email', ))

    def prepare_class(self):
        self.add_constraint(self.unique_email)

    def post_process_instance(self, instance, commit):
        # make sure user's last login was not before he joined
        changed = False
        if instance.last_login < instance.date_joined:
            instance.last_login = instance.date_joined
            changed = True
        if self.password:
            instance.set_password(self.password)
            changed = True
        if changed and commit:
            instance.save()
        return instance


autofixture.register(User, UserFixture, fail_silently=True)
Example #57
0
from autofixture import AutoFixture, generators, register
from faker import Factory

from .models import User

fake = Factory.create()


class UserAutoFixture(AutoFixture):

    field_values = {
        'username': generators.CallableGenerator(fake.name)
    }

register(User, UserAutoFixture)
Example #58
0
        'url': '',
        'website': '',
        'attachment': None,
    }

    def post_process_instance(self, instance, commit):
        choice = random.randint(1, 2)
        if choice == 1:
            instance.text = generators.LoremGenerator().generate()
        else:
            instance.url = generators.URLGenerator().generate()
            instance.website = urlparse(instance.url).netloc
        instance.save()


register(Lead, LeadAutoFixture)


# Since autofixture is quite slow, create a method to use to generate
# large number of leads more efficiently
def create_many_leads(num, created_by, project):
    leads = []
    for i in range(num):
        lead = Lead()
        lead.title = generators.LoremGenerator(max_length=20).generate()
        lead.project = project
        lead.created_by = created_by
        lead.modified_by = created_by
        lead.status = random.choice(['pending', 'processed'])
        lead.condidentiality = random.choice([
            'unprotected',
Example #59
0
from autofixture import AutoFixture
from autofixture import constraints
from autofixture import generators
from autofixture import register
from faker import Factory

from . import content
from . import models

fake = Factory.create()


def only_two_phases_per_module(model, instance):
    if instance.module.phase_set.count() >= 2:
        raise constraints.InvalidConstraint(['module'])


class PhaseAutoFixture(AutoFixture):
    field_values = {
        'name': generators.CallableGenerator(fake.company),
        'type': generators.ChoicesGenerator(choices=content.as_choices()),
    }

    follow_pk = True

    constraints = (only_two_phases_per_module)


register(models.Phase, PhaseAutoFixture)