euscan-ng/euscanwww/djeuscan/tests/euscan_factory.py
2012-05-07 10:56:54 +02:00

55 lines
1.4 KiB
Python

import random
from string import letters
import factory
from datetime import datetime
from djeuscan.models import Herd, Maintainer, Package, Version, EuscanResult
def random_string(length=10):
return "".join([random.choice(letters) for _ in range(length)])
class HerdFactory(factory.Factory):
FACTORY_FOR = Herd
herd = factory.LazyAttribute(lambda a: random_string())
email = factory.LazyAttribute(lambda a: "%s@example.com" % a.herd)
class MaintainerFactory(factory.Factory):
FACTORY_FOR = Maintainer
name = factory.LazyAttribute(lambda a: random_string())
email = factory.LazyAttribute(lambda a: "%s@example.com" % a.name)
class PackageFactory(factory.Factory):
FACTORY_FOR = Package
category = factory.LazyAttribute(lambda a: random_string())
name = factory.LazyAttribute(lambda a: random_string())
description = "This is a test package"
homepage = "http://testpackage.com"
class VersionFactory(factory.Factory):
FACTORY_FOR = Version
package = factory.LazyAttribute(lambda a: PackageFactory())
slot = "1"
revision = "1"
version = "0.1"
packaged = True
overlay = "gentoo"
urls = "http://packageurl.com"
alive = True
class EuscanResultFactory(factory.Factory):
FACTORY_FOR = EuscanResult
package = factory.LazyAttribute(lambda a: PackageFactory())
datetime = datetime.now()
result = "this is the result"