From ed7e860aea9695d4cd49feff5a5d59333d6965f6 Mon Sep 17 00:00:00 2001 From: ErikKalkoken Date: Sat, 28 Feb 2026 01:03:15 +0100 Subject: [PATCH] feat: add mercenary den notifications --- notification.go | 29 +++++++++++++++++ notification_test.go | 76 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 notification_test.go diff --git a/notification.go b/notification.go index b19b191..3dd77dd 100644 --- a/notification.go +++ b/notification.go @@ -663,6 +663,35 @@ type MadeWarMutual struct { EnemyID int64 `yaml:"enemyID"` } +type MercenaryDenAttacked struct { + AggressorAllianceName string `yaml:"aggressorAllianceName"` + AggressorCharacterID int64 `yaml:"aggressorCharacterID"` + AggressorCorporationName string `yaml:"aggressorCorporationName"` + ArmorPercentage float64 `yaml:"armorPercentage"` + HullPercentage float64 `yaml:"hullPercentage"` + ItemID int64 `yaml:"itemID"` + MercenaryDenShowInfoData []any `yaml:"mercenaryDenShowInfoData"` + PlanetID int64 `yaml:"planetID"` + PlanetShowInfoData []any `yaml:"planetShowInfoData"` + ShieldPercentage float64 `yaml:"shieldPercentage"` + SolarSystemID int64 `yaml:"solarsystemID"` + TypeID int64 `yaml:"typeID"` +} + +type MercenaryDenReinforced struct { + AggressorAllianceName string `yaml:"aggressorAllianceName"` + AggressorCharacterID int64 `yaml:"aggressorCharacterID"` + AggressorCorporationName string `yaml:"aggressorCorporationName"` + ItemID int64 `yaml:"itemID"` + MercenaryDenShowInfoData []any `yaml:"mercenaryDenShowInfoData"` + PlanetID int64 `yaml:"planetID"` + PlanetShowInfoData []any `yaml:"planetShowInfoData"` + SolarSystemID int64 `yaml:"solarsystemID"` + TimestampEntered int64 `yaml:"timestampEntered"` + TimestampExited int64 `yaml:"timestampExited"` + TypeID int64 `yaml:"typeID"` +} + type MercOfferedNegotiationMsg struct { AggressorID int64 `yaml:"aggressorID"` DefenderID int64 `yaml:"defenderID"` diff --git a/notification_test.go b/notification_test.go new file mode 100644 index 0000000..3fd9369 --- /dev/null +++ b/notification_test.go @@ -0,0 +1,76 @@ +package goesi_test + +import ( + "testing" + + "github.com/fnt-eve/goesi-openapi" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "gopkg.in/yaml.v3" +) + +const MercenaryDenAttackedText = ` +aggressorAllianceName: Bad Alliance +aggressorCharacterID: 1011 +aggressorCorporationName: Bad Corp +armorPercentage: 99.0 +hullPercentage: 100.0 +itemID: &id001 1000000000099 +mercenaryDenShowInfoData: +- showinfo +- 85230 +- *id001 +planetID: 40161469 +planetShowInfoData: +- showinfo +- 11 +- 40161469 +shieldPercentage: 0.0 +solarsystemID: 30002537 +typeID: 85230 +` + +func TestNotification_MercenaryDenAttacked(t *testing.T) { + var got goesi.MercenaryDenAttacked + err := yaml.Unmarshal([]byte(MercenaryDenAttackedText), &got) + require.NoError(t, err) + assert.Equal(t, int64(1011), got.AggressorCharacterID) + assert.Equal(t, 99.0, got.ArmorPercentage) + assert.Equal(t, 100.0, got.HullPercentage) + assert.Equal(t, int64(40161469), got.PlanetID) + assert.Equal(t, 0.0, got.ShieldPercentage) + assert.Equal(t, int64(30002537), got.SolarSystemID) + assert.Equal(t, int64(85230), got.TypeID) +} + +const MercenaryDenReinforcedText = ` +aggressorAllianceName: Bad Alliance +aggressorCharacterID: 1011 +aggressorCorporationName: Bad Corp +itemID: &id001 1000000000099 +mercenaryDenShowInfoData: +- showinfo +- 85230 +- *id001 +planetID: 40161469 +planetShowInfoData: +- showinfo +- 11 +- 40161469 +solarsystemID: 30002537 +timestampEntered: 134026459143594820 +timestampExited: 134027264983594820 +typeID: 85230 +` + +func TestNotification_MercenaryDenReinforced(t *testing.T) { + var got goesi.MercenaryDenReinforced + err := yaml.Unmarshal([]byte(MercenaryDenReinforcedText), &got) + require.NoError(t, err) + assert.Equal(t, int64(1011), got.AggressorCharacterID) + assert.Equal(t, int64(40161469), got.PlanetID) + assert.Equal(t, int64(30002537), got.SolarSystemID) + assert.Equal(t, int64(85230), got.TypeID) + assert.Equal(t, int64(134026459143594820), got.TimestampEntered) + assert.Equal(t, int64(134027264983594820), got.TimestampExited) +}