57 lines
1.6 KiB
Go
57 lines
1.6 KiB
Go
|
package cml04eventer
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/nsqio/go-nsq"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestJSONMarshaler_MarshalUnmarshal(t *testing.T) {
|
||
|
// Crear una instancia de JSONMarshaler
|
||
|
marshaler := JSONMarshaler{}
|
||
|
|
||
|
// Crear un evento para probar la serialización
|
||
|
eventSender := "test-sender"
|
||
|
eventTopic := "test-topic"
|
||
|
eventMeta := MetaData{"key": "value"}
|
||
|
eventData := []byte("test-data")
|
||
|
event := NewEvent(eventSender, eventTopic, eventMeta, eventData)
|
||
|
|
||
|
// Serializar el evento utilizando el Marshaler
|
||
|
serialized, err := marshaler.Marshal(eventTopic, event)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Deserializar el mensaje serializado
|
||
|
nsqMsg := &nsq.Message{Body: serialized}
|
||
|
decodedEvent, err := marshaler.Unmarshal(nsqMsg)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Comparar el evento original con el evento deserializado
|
||
|
assert.Equal(t, event, decodedEvent)
|
||
|
}
|
||
|
|
||
|
func TestGobMarshaler_MarshalUnmarshal(t *testing.T) {
|
||
|
// Crear una instancia de GobMarshaler
|
||
|
marshaler := GobMarshaler{}
|
||
|
|
||
|
// Crear un evento para probar la serialización
|
||
|
eventSender := "test-sender"
|
||
|
eventTopic := "test-topic"
|
||
|
eventMeta := MetaData{"key": "value"}
|
||
|
eventData := []byte("test-data")
|
||
|
event := NewEvent(eventSender, eventTopic, eventMeta, eventData)
|
||
|
|
||
|
// Serializar el evento utilizando el Marshaler
|
||
|
serialized, err := marshaler.Marshal(eventTopic, event)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Deserializar el mensaje serializado
|
||
|
nsqMsg := &nsq.Message{Body: serialized}
|
||
|
decodedEvent, err := marshaler.Unmarshal(nsqMsg)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Comparar el evento original con el evento deserializado
|
||
|
assert.Equal(t, event, decodedEvent)
|
||
|
}
|