class ListArticlesCommand:
    token = String(max_length=1024)
    tag = String(max_length=50)
    author = String(max_length=50)
    favorited = String(max_length=50)
    limit = Integer(default=20)
    offset = Integer(default=0)
Пример #2
0
class PersonSQLite(BaseAggregate):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)

    class Meta:
        provider = "sqlite"
Пример #3
0
class DbPerson(BaseEntity):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50)
    age = Integer(default=21)

    class Meta:
        schema_name = "pepes"
Пример #4
0
class OrderedPerson(BaseEntity):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50)
    age = Integer(default=21)

    class Meta:
        order_by = "first_name"
Пример #5
0
class ArticleDTO:
    slug = String(max_length=250)
    title = String(required=True, max_length=250)
    description = Text(required=True)
    body = Text(required=True)
    tag_list = List()
    created_at = DateTime(default=datetime.now())
    updated_at = DateTime(default=datetime.now())
    favorited = Boolean(default=False)
    favorites_count = Integer()

    @classmethod
    def for_article(cls, article: Article, user: User):
        favorited = article in [
            favorite.article for favorite in user.favorites
        ]

        return ArticleDTO(slug=article.slug,
                          title=article.title,
                          description=article.description,
                          body=article.body,
                          tag_list=article.tag_list,
                          created_at=article.created_at,
                          updated_at=article.updated_at,
                          author=article.author,
                          favorited=favorited)
Пример #6
0
class PostMeta(BaseEntity):
    likes = Integer(default=0)

    post = Reference(Post)

    class Meta:
        aggregate_cls = Post
Пример #7
0
    def test_choice(self):
        """ Test choices validations for the Integer field """
        class StatusChoices(enum.Enum):
            """ Set of choices for the status"""
            PENDING = (0, 'Pending')
            SUCCESS = (1, 'Success')
            ERROR = (2, 'Error')

        status = Integer(choices=StatusChoices)
        assert status is not None

        # Test loading of values to the status field
        assert status._load(0) == 0
        with pytest.raises(ValidationError) as e_info:
            status._load(4)
        assert e_info.value.messages == {
            'unlinked':
            ["Value `4` is not a valid choice. "
             "Must be one of [0, 1, 2]"]
        }
Пример #8
0
class Person(BaseAggregate):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)

    @classmethod
    def add_newcomer(cls, person_dict):
        """Factory method to add a new Person to the system"""
        newcomer = Person(
            first_name=person_dict['first_name'],
            last_name=person_dict['last_name'],
            age=person_dict['age'],
        )

        return newcomer
Пример #9
0
class Building(BaseValueObject):
    name = String(max_length=50)
    floors = Integer()
    status = String(choices=BuildingStatus)

    def defaults(self):
        if not self.status:
            if self.floors == 4:
                self.status = BuildingStatus.DONE.value
            else:
                self.status = BuildingStatus.WIP.value

    def clean(self):
        errors = defaultdict(list)
        if self.floors >= 4 and self.status != BuildingStatus.DONE.value:
            errors["status"].append("should be DONE")
        return errors
Пример #10
0
class Person(BaseAggregate):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)

    @classmethod
    def add_newcomer(cls, person_dict):
        """Factory method to add a new Person to the system"""
        newcomer = Person(
            first_name=person_dict['first_name'],
            last_name=person_dict['last_name'],
            age=person_dict['age'],
            )

        # Publish Event via the domain
        current_domain.publish(PersonAdded(person=newcomer))

        return newcomer
Пример #11
0
class AddPersonCommand(BaseCommand):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)
Пример #12
0
class Receiver(BaseAggregate):
    name = String()
    age = Integer()
Пример #13
0
class Provider(BaseAggregate):
    name = String()
    age = Integer()
Пример #14
0
class AdultAbstractPerson(ConcretePerson):
    age = Integer(default=21)

    class Meta:
        abstract = True
Пример #15
0
class PersonAdded(BaseDomainEvent):
    id = Auto(identifier=True)
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)
Пример #16
0
class Person(BaseAggregate):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)
    created_at = DateTime(default=datetime.now())
Пример #17
0
 def test_type_validation(self):
     """ Test type checking validation for the Field"""
     with pytest.raises(ValidationError):
         age = Integer()
         age._load('x')
Пример #18
0
    def test_init(self):
        """Test successful Integer Field initialization"""

        age = Integer()
        assert age is not None
Пример #19
0
class NotAPerson(BaseEntity):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50)
    age = Integer(default=21)
Пример #20
0
class PersonExplicitID(BaseEntity):
    ssn = String(max_length=36, identifier=True)
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50)
    age = Integer(default=21)
Пример #21
0
class PersonAutoSSN(BaseEntity):
    ssn = Auto(identifier=True)
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50)
    age = Integer(default=21)
Пример #22
0
 def test_various_input_values(self):
     age = Integer()
     assert age._load(12) == 12
     assert age._load('12') == 12
     assert age._load(None) is None
     assert age._load('') is None
Пример #23
0
class AbstractPerson(BaseEntity):
    age = Integer(default=5)

    class Meta:
        abstract = True
Пример #24
0
    def test_max_value(self):
        """ Test maximum value validation for the integer field"""

        with pytest.raises(ValidationError):
            age = Integer(max_value=5)
            age._load(6)
Пример #25
0
class UserSchema(BaseSerializer):
    name = String(required=True)
    age = Integer(required=True)

    class Meta:
        aggregate_cls = User
Пример #26
0
class PostMeta(BaseEntity):
    likes = Integer(default=0)

    post = Reference(Post)
Пример #27
0
class User(BaseAggregate):
    name = String(required=True)
    age = Integer(required=True)
Пример #28
0
class Person(BaseAggregate):
    first_name = String(max_length=50, required=True)
    last_name = String(max_length=50, required=True)
    age = Integer(default=21)
Пример #29
0
        class PersonSchema:
            name = String(required=True)
            age = Integer(required=True)

            class Meta:
                aggregate_cls = User