osel/events_test.go

62 lines
2.4 KiB
Go

package main
import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
)
func TestParseEventWillReturnAnEventStruct(t *testing.T) {
event, err := ParseEvent([]byte(securityGroupRuleCreateWithports))
assert.Nil(t, err)
assert.Equal(t, "main.Event", reflect.TypeOf(event).String(),
"ParseEvent should return an Event struct")
assert.Equal(t, "security_group_rule.create.end", event.EventData.EventType)
assert.Equal(t, "bca89c1b248e4aef9c69ece9e744cc54", event.EventData.UserID)
assert.Equal(t, "admin", event.EventData.UserName)
assert.Equal(t, "ada3b9b0dbac429f9361e803b54f5f32", event.EventData.TenantID)
assert.Equal(t, "VOIP", event.EventData.TenantName)
}
func TestParseEventWillCreateTheProperEventProcessor(t *testing.T) {
e, err := ParseEvent([]byte(securityGroupRuleCreateWithports))
assert.Nil(t, err)
//assert.Equal(t, "main.EventSecurityGroupRuleChange", reflect.TypeOf(e.Processor).String(),
// "ParseEvent should return the proper implementation of EventProcessor")
assert.Equal(t, EventSecurityGroupRuleChange{"sg_rule_add"}, e.Processor,
"ParseEvent should return the proper implementation of EventProcessor")
e, err = ParseEvent([]byte(securityGroupRuleDeleteWithIcmpAndCider))
assert.Nil(t, err)
assert.Equal(t, "main.EventSecurityGroupRuleChange", reflect.TypeOf(e.Processor).String(),
"ParseEvent should return the proper implementation of EventProcessor")
// _, eventProcessor, err = ParseEvent([]byte(portCreateWhenCreatingInstance))
// assert.Nil(t, err)
// assert.Equal(t, "main.EventPortChange", reflect.TypeOf(eventProcessor).String(),
// "ParseEvent should return the proper implementation of EventProcessor")
}
// func TestPortCreateEvent(t *testing.T) {
// fakeOpenStack := connectFakeOpenstack()
// event, eventProcessor, err := ParseEvent([]byte(portCreateWhenCreatingInstance))
// assert.Nil(t, err)
// eventProcessor.FillExtraData(&event, fakeOpenStack)
//}
func TestEventSecurityGroupRuleCreateEvent(t *testing.T) {
fakeOpenStack := connectFakeOpenstack()
event, err := ParseEvent([]byte(securityGroupRuleCreateWithports))
assert.Nil(t, err)
event.Processor.FillExtraData(&event, fakeOpenStack)
}
func TestEventSecurityGroupRuleDeleteEvent(t *testing.T) {
fakeOpenStack := connectFakeOpenstack()
event, err := ParseEvent([]byte(securityGroupRuleDeleteWithIcmpAndCider))
assert.Nil(t, err)
event.Processor.FillExtraData(&event, fakeOpenStack)
}