github.com/Axway/agent-sdk@v1.1.101/pkg/agent/cache/managedapplication_test.go (about)

     1  package cache
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/Axway/agent-sdk/pkg/config"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  // add managed application
    11  // get managed application by id
    12  // get managed application by name
    13  // delete managed application
    14  func TestManagedApplicationCache(t *testing.T) {
    15  	m := NewAgentCacheManager(&config.CentralConfiguration{}, false)
    16  	assert.NotNil(t, m)
    17  
    18  	assert.Equal(t, []string{}, m.GetManagedApplicationCacheKeys())
    19  
    20  	app1 := createRI("m1", "app-1")
    21  	app2 := createRI("m2", "app-2")
    22  
    23  	m.AddManagedApplication(app1)
    24  	assert.ElementsMatch(t, []string{"m1"}, m.GetManagedApplicationCacheKeys())
    25  	m.AddManagedApplication(app2)
    26  	assert.ElementsMatch(t, []string{"m1", "m2"}, m.GetManagedApplicationCacheKeys())
    27  
    28  	cachedApp := m.GetManagedApplication("m1")
    29  	assert.Equal(t, app1, cachedApp)
    30  
    31  	cachedApp = m.GetManagedApplicationByName("app-2")
    32  	assert.Equal(t, app2, cachedApp)
    33  
    34  	err := m.DeleteManagedApplication("m1")
    35  	assert.Nil(t, err)
    36  	assert.ElementsMatch(t, []string{"m2"}, m.GetManagedApplicationCacheKeys())
    37  
    38  	cachedApp = m.GetManagedApplication("m1")
    39  	assert.Nil(t, cachedApp)
    40  
    41  	err = m.DeleteManagedApplication("m1")
    42  	assert.NotNil(t, err)
    43  }