Ejemplo n.º 1
0
class QuestionFactory(factory.DjangoModelFactory):
    class Meta:
        model = Question

    title = FuzzyUnicode()
    content = FuzzyUnicode()
    creator = factory.SubFactory(UserFactory)

    @factory.post_generation
    def metadata(q, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing
            return

        if extracted is not None:
            q.add_metadata(**extracted)

    @factory.post_generation
    def tags(q, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing
            return

        if extracted is not None:
            for tag in extracted:
                q.tags.add(tag)
Ejemplo n.º 2
0
class ImageFactory(factory.DjangoModelFactory):
    class Meta:
        model = Image

    creator = factory.SubFactory(UserFactory)
    description = FuzzyUnicode()
    file = factory.django.ImageField()
    title = FuzzyUnicode()
Ejemplo n.º 3
0
class TopicFactory(factory.DjangoModelFactory):
    class Meta:
        model = Topic

    title = FuzzyUnicode()
    slug = factory.LazyAttribute(lambda o: slugify(o.title))
    description = FuzzyUnicode()
    image = factory.django.ImageField()
    product = factory.SubFactory(ProductFactory)
    display_order = factory.fuzzy.FuzzyInteger(10)
    visible = factory.fuzzy.FuzzyChoice([True, False])
    in_aaq = factory.fuzzy.FuzzyChoice([True, False])
Ejemplo n.º 4
0
class ProfileFactory(factory.DjangoModelFactory):
    class Meta:
        model = Profile

    name = FuzzyUnicode()
    bio = FuzzyUnicode()
    website = 'http://support.example.com'
    timezone = None
    country = 'US'
    city = 'Portland'
    locale = 'en-US'
    user = factory.SubFactory(UserFactory, profile=None)
Ejemplo n.º 5
0
class ProfileFactory(factory.DjangoModelFactory):
    class Meta:
        model = Profile

    name = FuzzyUnicode()
    bio = FuzzyUnicode()
    website = "http://support.example.com"
    timezone = None
    country = "US"
    city = "Portland"
    locale = "en-US"
    is_fxa_migrated = True
    user = factory.SubFactory(UserFactory, profile=None)
Ejemplo n.º 6
0
class ProductFactory(factory.DjangoModelFactory):
    class Meta:
        model = Product

    title = FuzzyUnicode()
    slug = factory.LazyAttribute(lambda o: slugify(o.title))
    description = FuzzyUnicode()
    display_order = factory.fuzzy.FuzzyInteger(10)
    visible = factory.fuzzy.FuzzyChoice([True, False])

    image = factory.django.ImageField()
    image_offset = 0
    image_cachebuster = FuzzyUnicode()
    sprite_height = 100
Ejemplo n.º 7
0
class ThreadFactory(factory.DjangoModelFactory):
    class Meta:
        model = Thread

    created = factory.LazyAttribute(lambda t: datetime.now())
    creator = factory.SubFactory(UserFactory)
    forum = factory.SubFactory(ForumFactory)
    title = FuzzyUnicode()

    @factory.post_generation
    def posts(obj, create, extracted, **kwargs):
        defaults = {
            "created": obj.created,
            "author": obj.creator,
            "thread": obj,
        }
        defaults.update(**kwargs)

        if extracted is None:
            posts = [PostFactory(**defaults)]
        else:
            posts = []
            for args in extracted:
                args.update(defaults)
                posts.append(PostFactory(**args))

        for post in posts:
            obj.post_set.add(post)
Ejemplo n.º 8
0
class RawJsonFactory(factory.Factory):
    class Meta:
        @staticmethod
        def model(**kwargs):
            # Unpack keys like foo__bar=1 into {'foo': {'bar': 1}}
            data = {}
            for key_path, val in kwargs.items():
                keys = key_path.split('__')
                cursor = data
                for key in keys[:-1]:
                    cursor = cursor.setdefault(key, {})
                cursor[keys[-1]] = val
            return json.dumps(data)

    created_at = factory.LazyAttribute(lambda r: datetime.now())
    geo = None
    id = factory.fuzzy.FuzzyInteger(10000000)
    iso_language_code = 'en'
    metadata__result_type = 'recent'
    source = ('<a href="http://www.tweetdeck.com" '
              'rel="nofollow">TweetDeck</a>')
    text = 'Hey #Firefox'
    to_user_id = None
    user__screen_name = FuzzyUnicode()
    user__profile_image_url = 'http://example.com/profile_image.jpg'
    user__profile_image_url_https = 'https://example.com/profile_image.jpg'

    @factory.lazy_attribute
    def created_at(data, **kwargs):
        created_at = datetime.now()
        return created_at.strftime('%a, %d %b %Y %H:%M:%S +0000')
Ejemplo n.º 9
0
class AwardFactory(factory.DjangoModelFactory):
    class Meta:
        model = Award

    badge = factory.SubFactory(BadgeFactory)
    description = FuzzyUnicode()
    user = factory.SubFactory(UserFactory)
Ejemplo n.º 10
0
class AnswerFactory(factory.DjangoModelFactory):
    class Meta:
        model = Answer

    content = FuzzyUnicode()
    created = factory.LazyAttribute(lambda a: datetime.now())
    creator = factory.SubFactory(UserFactory)
    question = factory.SubFactory(QuestionFactory)
Ejemplo n.º 11
0
class RevisionFactory(factory.DjangoModelFactory):
    class Meta:
        model = Revision

    document = factory.SubFactory(DocumentFactory)
    summary = FuzzyUnicode()
    content = FuzzyUnicode()
    significance = SIGNIFICANCES[0][0]
    comment = FuzzyUnicode()
    creator = factory.SubFactory(UserFactory)
    is_approved = False

    @factory.post_generation
    def set_current_revision(obj, create, extracted, **kwargs):
        if obj.is_approved:
            obj.document.current_revision = obj
            obj.document.save()
Ejemplo n.º 12
0
class DraftRevisionFactory(factory.DjangoModelFactory):
    class Meta:
        model = DraftRevision

    document = factory.SubFactory(DocumentFactory,
                                  is_localizable=True,
                                  locale=settings.WIKI_DEFAULT_LANGUAGE)
    based_on = factory.SubFactory(ApprovedRevisionFactory,
                                  is_ready_for_localization=True,
                                  document=factory.SelfAttribute('..document'))
    content = FuzzyUnicode()
    creator = factory.SubFactory(UserFactory)
    keywords = 'test, test1'
    locale = factory.fuzzy.FuzzyChoice(l for l in settings.SUMO_LANGUAGES
                                       if l != 'en-US')
    summary = FuzzyUnicode()
    title = FuzzyUnicode()
    slug = factory.LazyAttribute(lambda o: slugify(o.title))
Ejemplo n.º 13
0
class AnnouncementFactory(factory.DjangoModelFactory):
    class Meta:
        model = Announcement
        exclude = ["visible_dates"]

    content = FuzzyUnicode()
    creator = factory.SubFactory(UserFactory)
    show_after = factory.LazyAttribute(
        lambda a: datetime.now() - timedelta(days=2))
    visible_dates = True

    @factory.lazy_attribute
    def show_until(self):
        if self.visible_dates:
            return None
        else:
            return datetime.now() - timedelta(days=1)
Ejemplo n.º 14
0
class DocumentFactory(factory.DjangoModelFactory):
    class Meta:
        model = Document

    category = CATEGORIES[0][0]
    title = FuzzyUnicode()
    slug = factory.LazyAttribute(lambda o: slugify(o.title))

    @factory.post_generation
    def products(doc, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing
            return

        if extracted is not None:
            for p in extracted:
                doc.products.add(p)

    @factory.post_generation
    def topics(doc, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing
            return

        if extracted is not None:
            for t in extracted:
                doc.topics.add(t)

    @factory.post_generation
    def tags(doc, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing
            return

        if extracted is not None:
            for t in extracted:
                doc.tags.add(t)
Ejemplo n.º 15
0
class BadgeFactory(factory.DjangoModelFactory):
    class Meta:
        model = Badge

    description = FuzzyUnicode()
    title = FuzzyUnicode()
Ejemplo n.º 16
0
class TemplateDocumentFactory(DocumentFactory):
    category = TEMPLATES_CATEGORY
    title = FuzzyUnicode(prefix=TEMPLATE_TITLE_PREFIX + ':')
Ejemplo n.º 17
0
class SignatureFactory(factory.DjangoModelFactory):
    class Meta:
        model = Signature

    document = factory.SubFactory(DocumentFactory)
    signature = FuzzyUnicode()
Ejemplo n.º 18
0
class TagFactory(factory.DjangoModelFactory):
    class Meta:
        model = Tag

    name = FuzzyUnicode()
    slug = factory.LazyAttribute(lambda o: slugify(o.name))
Ejemplo n.º 19
0
class MetricKindFactory(factory.DjangoModelFactory):
    class Meta:
        model = MetricKind

    code = FuzzyUnicode()