Skip to content

Commit

Permalink
refactor: rename state transition methods
Browse files Browse the repository at this point in the history
  • Loading branch information
vvatanabe committed Oct 27, 2023
1 parent 6308c9c commit 7f34fa1
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 27 deletions.
22 changes: 11 additions & 11 deletions message.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,11 @@ func (m *Message[T]) MarshalMapUnsafe() map[string]types.AttributeValue {
return item
}

func (m *Message[T]) MarkAsRetry(now time.Time) error {
func (m *Message[T]) Ready(now time.Time) error {
if m.Status != StatusProcessing {
return &InvalidStateTransitionError{
Msg: "cannot mark as retry",
Operation: "MarkAsRetry",
Msg: "message is currently ready",
Operation: "Ready",
Current: m.Status,
}
}
Expand All @@ -150,11 +150,11 @@ func (m *Message[T]) MarkAsRetry(now time.Time) error {
return nil
}

func (m *Message[T]) MarkAsPeeked(now time.Time, visibilityTimeout time.Duration) error {
func (m *Message[T]) StartProcessing(now time.Time, visibilityTimeout time.Duration) error {
if m.IsQueueSelected(now, visibilityTimeout) {
return &InvalidStateTransitionError{
Msg: "message is currently being processed",
Operation: "MarkAsPeeked",
Operation: "StartProcessing",
Current: m.Status,
}
}
Expand All @@ -165,11 +165,11 @@ func (m *Message[T]) MarkAsPeeked(now time.Time, visibilityTimeout time.Duration
return nil
}

func (m *Message[T]) MarkAsDLQ(now time.Time) error {
func (m *Message[T]) MoveToDLQ(now time.Time) error {
if m.QueueType == QueueTypeDLQ {
return &InvalidStateTransitionError{
Msg: "message is already in DLQ",
Operation: "MarkAsDLQ",
Operation: "MoveToDLQ",
Current: m.Status,
}
}
Expand All @@ -183,18 +183,18 @@ func (m *Message[T]) MarkAsDLQ(now time.Time) error {
return nil
}

func (m *Message[T]) MarkAsRedrive(now time.Time) error {
func (m *Message[T]) RestoreFromDLQ(now time.Time) error {
if m.QueueType != QueueTypeDLQ {
return &InvalidStateTransitionError{
Msg: "can only redrive messages from DLQ",
Operation: "MarkAsRedrive",
Operation: "RestoreFromDLQ",
Current: m.Status,
}
}
if m.Status != StatusReady {
return &InvalidStateTransitionError{
Msg: "message status is not Ready",
Operation: "MarkAsRedrive",
Msg: "can only redrive messages from READY",
Operation: "RestoreFromDLQ",
Current: m.Status,
}
}
Expand Down
8 changes: 4 additions & 4 deletions sdk.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ ExitLoop:
if err != nil {
return nil, err
}
err = message.MarkAsPeeked(c.clock.Now(), visibilityTimeout)
err = message.StartProcessing(c.clock.Now(), visibilityTimeout)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -306,7 +306,7 @@ func (c *client[T]) Retry(ctx context.Context, id string) (*RetryResult[T], erro
if message == nil {
return nil, &IDNotFoundError{}
}
err = message.MarkAsRetry(c.clock.Now())
err = message.Ready(c.clock.Now())
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -369,7 +369,7 @@ func (c *client[T]) SendToDLQ(ctx context.Context, id string) (*Result, error) {
Version: message.Version,
}, nil
}
err = message.MarkAsDLQ(c.clock.Now())
err = message.MoveToDLQ(c.clock.Now())
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -407,7 +407,7 @@ func (c *client[T]) Redrive(ctx context.Context, id string) (*Result, error) {
if retrieved == nil {
return nil, &IDNotFoundError{}
}
err = retrieved.MarkAsRedrive(c.clock.Now())
err = retrieved.RestoreFromDLQ(c.clock.Now())
if err != nil {
return nil, err
}
Expand Down
24 changes: 12 additions & 12 deletions sdk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func newTestMessageItemAsReady(id string, now time.Time) *Message[test.MessageDa

func newTestMessageItemAsPeeked(id string, now time.Time) *Message[test.MessageData] {
message := NewDefaultMessage[test.MessageData](id, test.NewMessageData(id), now)
err := message.MarkAsPeeked(now, 0)
err := message.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand All @@ -100,7 +100,7 @@ func newTestMessageItemAsPeeked(id string, now time.Time) *Message[test.MessageD

func newTestMessageItemAsDLQ(id string, now time.Time) *Message[test.MessageData] {
message := NewDefaultMessage[test.MessageData](id, test.NewMessageData(id), now)
err := message.MarkAsDLQ(now)
err := message.MoveToDLQ(now)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -248,7 +248,7 @@ func TestQueueSDKClientPeek(t *testing.T) {
},
want: func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("B-202", time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC))
err := s.MarkAsPeeked(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC), 0)
err := s.StartProcessing(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC), 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -284,7 +284,7 @@ func TestQueueSDKClientPeek(t *testing.T) {
},
want: func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsPeeked("B-202", time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC))
err := s.MarkAsPeeked(time.Date(2023, 12, 1, 0, 1, 1, 0, time.UTC), 0)
err := s.StartProcessing(time.Date(2023, 12, 1, 0, 1, 1, 0, time.UTC), 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -383,7 +383,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) {

want1 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-303", time.Date(2023, 12, 1, 0, 0, 1, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -425,7 +425,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) {

want2 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-202", time.Date(2023, 12, 1, 0, 0, 2, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -468,7 +468,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) {

want3 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-101", time.Date(2023, 12, 1, 0, 0, 3, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -545,7 +545,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) {

want1 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-303", time.Date(2023, 12, 1, 0, 0, 1, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -577,7 +577,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) {

want2 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-202", time.Date(2023, 12, 1, 0, 0, 2, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -609,7 +609,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) {

want3 := func() *PeekResult[test.MessageData] {
s := newTestMessageItemAsReady("A-101", time.Date(2023, 12, 1, 0, 0, 3, 0, time.UTC))
err := s.MarkAsPeeked(now, 0)
err := s.StartProcessing(now, 0)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -712,7 +712,7 @@ func TestQueueSDKClientRetry(t *testing.T) {
},
Message: func() *Message[test.MessageData] {
message := newTestMessageItemAsPeeked("A-101", time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC))
err := message.MarkAsRetry(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC))
err := message.Ready(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC))
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -915,7 +915,7 @@ func TestQueueSDKClientSendToDLQ(t *testing.T) {
want: func() *Result {
s := newTestMessageItemAsReady("A-101",
time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC))
err := s.MarkAsDLQ(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC))
err := s.MoveToDLQ(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC))
if err != nil {
panic(err)
}
Expand Down

0 comments on commit 7f34fa1

Please sign in to comment.