github.com/Axway/agent-sdk@v1.1.101/pkg/agent/handler/tracemanagedapplication_test.go (about) 1 package handler 2 3 import ( 4 "testing" 5 6 agentcache "github.com/Axway/agent-sdk/pkg/agent/cache" 7 apiv1 "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/api/v1" 8 management "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/management/v1alpha1" 9 "github.com/Axway/agent-sdk/pkg/config" 10 "github.com/Axway/agent-sdk/pkg/watchmanager/proto" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestTraceManagedApplicationHandler_wrong_kind(t *testing.T) { 15 cm := agentcache.NewAgentCacheManager(&config.CentralConfiguration{}, false) 16 handler := NewTraceManagedApplicationHandler(cm) 17 ri := &apiv1.ResourceInstance{ 18 ResourceMeta: apiv1.ResourceMeta{ 19 GroupVersionKind: management.EnvironmentGVK(), 20 }, 21 } 22 err := handler.Handle(NewEventContext(proto.Event_CREATED, nil, ri.Kind, ri.Name), nil, ri) 23 assert.Nil(t, err) 24 } 25 26 func TestTraceManagedApplicationHandler(t *testing.T) { 27 cm := agentcache.NewAgentCacheManager(&config.CentralConfiguration{}, false) 28 handler := NewTraceManagedApplicationHandler(cm) 29 managedApp := &management.ManagedApplication{ 30 ResourceMeta: apiv1.ResourceMeta{ 31 Metadata: apiv1.Metadata{ 32 ID: "appId", 33 }, 34 Name: "appName", 35 }, 36 } 37 38 ri, _ := managedApp.AsInstance() 39 // no status 40 err := handler.Handle(NewEventContext(proto.Event_CREATED, nil, ri.Kind, ri.Name), nil, ri) 41 assert.Nil(t, err) 42 assert.Equal(t, []string{}, cm.GetAccessRequestCacheKeys()) 43 44 managedApp.Status = &apiv1.ResourceStatus{ 45 Level: "Success", 46 } 47 48 ri, _ = managedApp.AsInstance() 49 50 err = handler.Handle(NewEventContext(proto.Event_CREATED, nil, ri.Kind, ri.Name), nil, ri) 51 assert.Nil(t, err) 52 cachedApp := cm.GetManagedApplication("appId") 53 assert.NotNil(t, cachedApp) 54 55 cachedApp = cm.GetManagedApplicationByName("appName") 56 assert.NotNil(t, cachedApp) 57 58 err = handler.Handle(NewEventContext(proto.Event_DELETED, nil, ri.Kind, ri.Name), nil, ri) 59 assert.Nil(t, err) 60 61 cachedApp = cm.GetManagedApplication("appId") 62 assert.Nil(t, cachedApp) 63 }