1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
package unit
import (
"context"
"testing"
"github.com/linode/linodego"
"github.com/stretchr/testify/assert"
)
func TestAccountEvents_List(t *testing.T) {
fixtureData, err := fixtures.GetFixture("account_events_list")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("account/events", fixtureData)
events, err := base.Client.ListEvents(context.Background(), nil)
if err != nil {
t.Fatalf("Error listing events: %v", err)
}
assert.Equal(t, 1, len(events))
event := events[0]
assert.Equal(t, linodego.EventAction("ticket_create"), event.Action)
assert.Equal(t, 300.56, event.Duration)
assert.Equal(t, float64(11111), event.Entity.ID)
assert.Equal(t, "Problem booting my Linode", event.Entity.Label)
assert.Equal(t, linodego.EntityType("ticket"), event.Entity.Type)
assert.Equal(t, "/v4/support/tickets/11111", event.Entity.URL)
assert.Equal(t, 123, event.ID)
assert.Equal(t, "Ticket created for user issue.", event.Message)
assert.Equal(t, true, event.Read)
assert.Equal(t, true, event.Seen)
assert.Equal(t, linodego.EventStatus("completed"), event.Status)
assert.Equal(t, "exampleUser", event.Username)
assert.Equal(t, "linode/debian9", event.SecondaryEntity.ID)
assert.Equal(t, "linode1234", event.SecondaryEntity.Label)
assert.Equal(t, linodego.EntityType("linode"), event.SecondaryEntity.Type)
assert.Equal(t, "/v4/linode/instances/1234", event.SecondaryEntity.URL)
assert.Equal(t, "Tentative", event.MaintenancePolicySet)
assert.Equal(t, "Scheduled maintenance", event.Description)
assert.Equal(t, "user", event.Source)
}
func TestAccountEvents_Get(t *testing.T) {
fixtureData, err := fixtures.GetFixture("account_events_get")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("account/events/11111", fixtureData)
event, err := base.Client.GetEvent(context.Background(), 11111)
if err != nil {
t.Fatalf("Error getting event: %v", err)
}
assert.Equal(t, linodego.EventAction("ticket_create"), event.Action)
assert.Equal(t, 300.56, event.Duration)
assert.Equal(t, float64(11111), event.Entity.ID)
assert.Equal(t, "Problem booting my Linode", event.Entity.Label)
assert.Equal(t, linodego.EntityType("ticket"), event.Entity.Type)
assert.Equal(t, "/v4/support/tickets/11111", event.Entity.URL)
assert.Equal(t, 123, event.ID)
assert.Equal(t, "Ticket created for user issue.", event.Message)
assert.Equal(t, true, event.Read)
assert.Equal(t, true, event.Seen)
assert.Equal(t, linodego.EventStatus("completed"), event.Status)
assert.Equal(t, "exampleUser", event.Username)
assert.Equal(t, "linode/debian9", event.SecondaryEntity.ID)
assert.Equal(t, "linode1234", event.SecondaryEntity.Label)
assert.Equal(t, linodego.EntityType("linode"), event.SecondaryEntity.Type)
assert.Equal(t, "/v4/linode/instances/1234", event.SecondaryEntity.URL)
assert.Equal(t, "Tentative", event.MaintenancePolicySet)
assert.Equal(t, "Scheduled maintenance", event.Description)
assert.Equal(t, "user", event.Source)
}
|