blob: 14d7d8335b7f22d71daf9bc0567ee7b59323b5fb [file] [log] [blame]
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())
}