| package pulsar |
| |
| import ( |
| "github.com/stretchr/testify/assert" |
| |
| "testing" |
| ) |
| |
| func TestMessageIDFromString(t *testing.T) { |
| id, err := MessageIDFromString("1:2") |
| assert.Nil(t, err) |
| assert.True(t, id.Equals(MessageIDFromParts(1, 2, -1, -1))) |
| |
| id, err = MessageIDFromString("1:2:3") |
| assert.Nil(t, err) |
| assert.True(t, id.Equals(MessageIDFromParts(1, 2, -1, 3))) |
| |
| id, err = MessageIDFromString("1:2:3:4") |
| assert.Nil(t, err) |
| assert.True(t, id.Equals(MessageIDFromParts(1, 2, 4, 3))) |
| } |
| |
| func TestMessageIDFromStringErrors(t *testing.T) { |
| id, err := MessageIDFromString("1;1") |
| assert.Nil(t, id) |
| assert.NotNil(t, err) |
| assert.Equal(t, "invalid message id string. 1;1", err.Error()) |
| |
| id, err = MessageIDFromString("a:1") |
| assert.Nil(t, id) |
| assert.NotNil(t, err) |
| assert.Equal(t, "invalid ledger id. a:1", err.Error()) |
| |
| id, err = MessageIDFromString("1:a") |
| assert.Nil(t, id) |
| assert.NotNil(t, err) |
| assert.Equal(t, "invalid entry id. 1:a", err.Error()) |
| |
| id, err = MessageIDFromString("1:2:a") |
| assert.Nil(t, id) |
| assert.NotNil(t, err) |
| assert.Equal(t, "invalid partition index. 1:2:a", err.Error()) |
| |
| id, err = MessageIDFromString("1:2:3:a") |
| assert.Nil(t, id) |
| assert.NotNil(t, err) |
| assert.Equal(t, "invalid batch index. 1:2:3:a", err.Error()) |
| } |