Files
beelzebub/tracer/tracer_test.go

78 lines
1.5 KiB
Go
Raw Normal View History

2022-05-11 22:58:33 +02:00
package tracer
import (
"sync"
2022-05-11 22:58:33 +02:00
"testing"
"github.com/stretchr/testify/assert"
2022-05-11 22:58:33 +02:00
)
func TestInit(t *testing.T) {
mockStrategy := func(event Event) {}
tracer := Init(mockStrategy)
assert.NotNil(t, tracer.strategy)
}
func TestTraceEvent(t *testing.T) {
eventCalled := Event{}
var wg sync.WaitGroup
2022-05-11 22:58:33 +02:00
mockStrategy := func(event Event) {
defer wg.Done()
2022-05-11 22:58:33 +02:00
eventCalled = event
}
tracer := Init(mockStrategy)
wg.Add(1)
tracer.TraceEvent(Event{
ID: "mockID",
Protocol: HTTP.String(),
Status: Stateless.String(),
})
wg.Wait()
assert.NotNil(t, eventCalled.ID)
assert.Equal(t, "mockID", eventCalled.ID)
assert.Equal(t, HTTP.String(), eventCalled.Protocol)
assert.Equal(t, Stateless.String(), eventCalled.Status)
}
func TestSetStrategy(t *testing.T) {
eventCalled := Event{}
var wg sync.WaitGroup
mockStrategy := func(event Event) {
defer wg.Done()
eventCalled = event
}
tracer := Init(mockStrategy)
tracer.setStrategy(mockStrategy)
wg.Add(1)
2022-05-11 22:58:33 +02:00
tracer.TraceEvent(Event{
ID: "mockID",
2022-05-17 23:36:06 +02:00
Protocol: HTTP.String(),
Status: Stateless.String(),
2022-05-11 22:58:33 +02:00
})
wg.Wait()
2022-05-11 22:58:33 +02:00
assert.NotNil(t, eventCalled.ID)
assert.Equal(t, "mockID", eventCalled.ID)
assert.Equal(t, HTTP.String(), eventCalled.Protocol)
assert.Equal(t, Stateless.String(), eventCalled.Status)
2022-05-11 22:58:33 +02:00
}
2022-05-14 16:51:00 +02:00
func TestStringStatus(t *testing.T) {
assert.Equal(t, Start.String(), "Start")
assert.Equal(t, End.String(), "End")
assert.Equal(t, Stateless.String(), "Stateless")
assert.Equal(t, Interaction.String(), "Interaction")
}