コード例 #1
0
ファイル: test_field_types.py プロジェクト: proteanhq/protean
    def test_init(self):
        """Test successful DateTime Field initialization"""

        created_at = DateTime()
        assert created_at is not None

        value = datetime.now()
        assert value == created_at._load(value)
コード例 #2
0
class Recalled(BaseEvent):
    email = String()
    sent_at = DateTime()

    class Meta:
        aggregate_cls = Email
        stream_name = "recalls"
コード例 #3
0
ファイル: elements.py プロジェクト: proteanhq/protean
class CommentViaWithReference(BaseEntity):
    content = Text()
    added_on = DateTime()
    posting = Reference("tests.aggregate.elements.PostVia")

    class Meta:
        aggregate_cls = PostViaWithReference
コード例 #4
0
ファイル: elements.py プロジェクト: proteanhq/protean
class CommentVia(BaseEntity):
    content = Text()
    added_on = DateTime()
    posting_id = String()

    class Meta:
        aggregate_cls = PostVia
コード例 #5
0
ファイル: child_entities.py プロジェクト: proteanhq/protean
class Post(BaseAggregate):
    title = String(required=True, max_length=1000)
    slug = String(required=True, max_length=1024)
    content = Text(required=True)
    posted_at = DateTime(required=True, default=datetime.now())

    post_meta = HasOne("tests.repository.child_entities.PostMeta")
    comments = HasMany("tests.repository.child_entities.Comment")
コード例 #6
0
            class Comment(BaseEntity):
                content = Text()
                added_on = DateTime()

                post = Reference("Post")

                class Meta:
                    aggregate_cls = Post
コード例 #7
0
class Post(BaseAggregate):
    title = String(required=True, max_length=1000)
    slug = String(required=True, max_length=1024)
    content = Text(required=True)
    posted_at = DateTime(required=True, default=datetime.now())

    meta = HasOne("tests.unit_of_work.aggregate_elements.PostMeta")
    comments = HasMany("tests.unit_of_work.aggregate_elements.Comment")
コード例 #8
0
class Comment(BaseEntity):
    content = Text(required=True)
    commented_at = DateTime(required=True, default=datetime.now())

    post = Reference(Post)

    class Meta:
        aggregate_cls = Post
コード例 #9
0
ファイル: test_field_types.py プロジェクト: proteanhq/protean
    def test_type_casting(self):
        """Test type casting and validation for the Field"""

        created_at = DateTime()
        today = datetime.now()
        # Test date being passed as value
        assert created_at._load(today.date()) == datetime(
            today.year, today.month, today.day)

        # Test string dates being passed as value
        assert created_at._load("2018-03-16") == datetime(2018, 3, 16)
        assert created_at._load("2018-03-16 10:23:32") == datetime(
            2018, 3, 16, 10, 23, 32)

        # Test for invalid datetime
        with pytest.raises(ValidationError):
            assert created_at._load("2018-03-16 10 23 32")
コード例 #10
0
class Sent(BaseEvent):
    email = String()
    sent_at = DateTime()
コード例 #11
0
class Activated(BaseEvent):
    id = Identifier()
    activated_at = DateTime()
コード例 #12
0
class Email(BaseEventSourcedAggregate):
    email = String()
    sent_at = DateTime()
コード例 #13
0
ファイル: test_as_dict.py プロジェクト: proteanhq/protean
 class Post(BaseAggregate):
     title = String(required=True, max_length=1000)
     slug = String(required=True, max_length=1024)
     content = Text(required=True)
     posted_at = DateTime(required=True, default=datetime.utcnow)
コード例 #14
0
class Login(BaseCommand):
    id = Identifier()
    activated_at = DateTime()

    class Meta:
        aggregate_cls = User
コード例 #15
0
class LoggedIn(BaseEvent):
    id = Identifier()
    activated_at = DateTime()

    class Meta:
        aggregate_cls = User
コード例 #16
0
ファイル: test_aggregates.py プロジェクト: proteanhq/protean
        class TimeStamped:
            created_at = DateTime(default=datetime.utcnow)
            updated_at = DateTime(default=datetime.utcnow)

            class Meta:
                abstract = True
コード例 #17
0
ファイル: test_field_types.py プロジェクト: proteanhq/protean
    def test_null_values(self):
        created_at = DateTime()

        assert created_at._load(None) is None
        assert created_at._load("") is None
コード例 #18
0
ファイル: elements.py プロジェクト: proteanhq/protean
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())
コード例 #19
0
ファイル: test_registry.py プロジェクト: proteanhq/protean
class Role(BaseAggregate):
    name = String(max_length=15, required=True)
    created_on = DateTime(default=datetime.today())
コード例 #20
0
class Event(BaseAggregate):
    name = String(max_length=255)
    created_at = DateTime(default=datetime.utcnow())
    payload = Dict()
コード例 #21
0
class Send(BaseCommand):
    email = String()
    sent_at = DateTime()
コード例 #22
0
class Published(BaseEvent):
    id = Identifier(required=True)
    published_time = DateTime(default=datetime.utcnow)

    class Meta:
        aggregate_cls = Post
コード例 #23
0
class Published(BaseEvent):
    id = Identifier(required=True)
    published_time = DateTime(default=datetime.utcnow)
コード例 #24
0
class Activate(BaseCommand):
    id = Identifier()
    activated_at = DateTime()