github.com/Axway/agent-sdk@v1.1.101/pkg/harvester/harvesterevent_test.go (about) 1 package harvester 2 3 import ( 4 "testing" 5 6 "github.com/Axway/agent-sdk/pkg/watchmanager/proto" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestHarvesterEventConversion(t *testing.T) { 11 harvesterEvent := &resourceEntryExternalEvent{ 12 ID: "123", 13 Time: "2021-11-30 11:59:25.01", 14 Version: "v1", 15 Product: "AmplifyCentral", 16 CorrelationID: "441c85fc-b4cd-46fe-aae2-5aaf6ef86b8e", 17 Organization: &proto.Organization{ 18 Id: "224879455212557", 19 }, 20 Type: "ResourceCreated", 21 Payload: &harvesterResourceInstance{ 22 Group: "management", 23 Kind: "APIServiceInstance", 24 Name: "test", 25 Attributes: map[string]string{ 26 "createdBy": "DiscoveryAgent", 27 }, 28 Metadata: &harvesterResourceMetadata{ 29 ID: "12345", 30 SelfLink: "/management/v1alpha1/environments/sample/apiserviceinstances/test", 31 References: []*harvesterResourceReference{ 32 { 33 ID: "8ac9934a7d6f94aa017d70b6bc2204dd", 34 Kind: "APIServiceRevision", 35 Name: "test", 36 ScopeKind: "Environment", 37 ScopeName: "sample", 38 SelfLink: "/management/v1alpha1/environments/sample/apiservicerevisions/test", 39 Type: "HARD", 40 }, 41 }, 42 Scope: &proto.Metadata_ScopeKind{ 43 Id: "123456", 44 Kind: "Environment", 45 Name: "sample", 46 SelfLink: "/management/v1alpha1/environments/sample", 47 }, 48 }, 49 }, 50 Metadata: &proto.EventMeta{ 51 WatchTopicID: "1234", 52 WatchTopicSelfLink: "/management/v1alpha1/watchtopics/agent-watch", 53 SequenceID: 100, 54 }, 55 } 56 57 event := harvesterEvent.toProtoEvent() 58 59 assert.Equal(t, harvesterEvent.ID, event.Id) 60 assert.Equal(t, harvesterEvent.Time, event.Time) 61 assert.Equal(t, harvesterEvent.Version, event.Version) 62 assert.Equal(t, harvesterEvent.Product, event.Product) 63 assert.Equal(t, harvesterEvent.CorrelationID, event.CorrelationId) 64 assert.Equal(t, proto.Event_CREATED, event.Type) 65 66 assert.NotNil(t, event.Organization) 67 assert.Equal(t, harvesterEvent.Organization.Id, event.Organization.Id) 68 69 assert.NotNil(t, event.Payload) 70 assert.Equal(t, harvesterEvent.Payload.Group, event.Payload.Group) 71 assert.Equal(t, harvesterEvent.Payload.Kind, event.Payload.Kind) 72 assert.Equal(t, harvesterEvent.Payload.Name, event.Payload.Name) 73 74 assert.NotNil(t, event.Payload.Attributes) 75 assert.Equal(t, harvesterEvent.Payload.Attributes, event.Payload.Attributes) 76 77 assert.NotNil(t, event.Payload.Metadata) 78 assert.Equal(t, harvesterEvent.Payload.Metadata.ID, event.Payload.Metadata.Id) 79 assert.Equal(t, harvesterEvent.Payload.Metadata.SelfLink, event.Payload.Metadata.SelfLink) 80 assert.NotNil(t, harvesterEvent.Payload.Metadata.Scope) 81 assert.Equal(t, harvesterEvent.Payload.Metadata.Scope.Id, event.Payload.Metadata.Scope.Id) 82 assert.Equal(t, harvesterEvent.Payload.Metadata.Scope.Kind, event.Payload.Metadata.Scope.Kind) 83 assert.Equal(t, harvesterEvent.Payload.Metadata.Scope.Name, event.Payload.Metadata.Scope.Name) 84 assert.Equal(t, harvesterEvent.Payload.Metadata.Scope.SelfLink, event.Payload.Metadata.Scope.SelfLink) 85 86 assert.NotNil(t, event.Payload.Metadata.References) 87 assert.Equal(t, len(harvesterEvent.Payload.Metadata.References), len(event.Payload.Metadata.References)) 88 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].ID, event.Payload.Metadata.References[0].Id) 89 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].Kind, event.Payload.Metadata.References[0].Kind) 90 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].Name, event.Payload.Metadata.References[0].Name) 91 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].ScopeKind, event.Payload.Metadata.References[0].ScopeKind) 92 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].ScopeName, event.Payload.Metadata.References[0].ScopeName) 93 assert.Equal(t, harvesterEvent.Payload.Metadata.References[0].SelfLink, event.Payload.Metadata.References[0].SelfLink) 94 assert.Equal(t, proto.Reference_HARD, event.Payload.Metadata.References[0].Type) 95 96 assert.NotNil(t, event.Metadata) 97 assert.Equal(t, harvesterEvent.Metadata.WatchTopicID, event.Metadata.WatchTopicID) 98 assert.Equal(t, harvesterEvent.Metadata.WatchTopicSelfLink, event.Metadata.WatchTopicSelfLink) 99 assert.Equal(t, harvesterEvent.Metadata.SequenceID, event.Metadata.SequenceID) 100 }