github.com/Axway/agent-sdk@v1.1.101/pkg/apic/definitions/util_test.go (about)

     1  package definitions
     2  
     3  import (
     4  	"testing"
     5  
     6  	management "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/management/v1alpha1"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestGetSubscriptionNameFromAccessReq(t *testing.T) {
    11  	subscriptionName := GetSubscriptionNameFromAccessRequest(nil)
    12  	assert.Equal(t, "", subscriptionName)
    13  
    14  	// Reference from group other than catalog
    15  	ar := &management.AccessRequest{
    16  		References: []interface{}{
    17  			management.AccessRequestReferencesSubscription{
    18  				Kind: Subscription,
    19  				Name: "management/test",
    20  			},
    21  		},
    22  	}
    23  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    24  	assert.Equal(t, "", subscriptionName)
    25  
    26  	// Reference from catalog group
    27  	ar = &management.AccessRequest{
    28  		References: []interface{}{
    29  			management.AccessRequestReferencesSubscription{
    30  				Kind: Subscription,
    31  				Name: "catalog/test",
    32  			},
    33  		},
    34  	}
    35  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    36  	assert.Equal(t, "test", subscriptionName)
    37  
    38  	ar = &management.AccessRequest{
    39  		References: []interface{}{
    40  			&management.AccessRequestReferencesSubscription{
    41  				Kind: Subscription,
    42  				Name: "catalog/test",
    43  			},
    44  		},
    45  	}
    46  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    47  	assert.Equal(t, "test", subscriptionName)
    48  
    49  	ri, _ := ar.AsInstance()
    50  	ar = &management.AccessRequest{}
    51  	ar.FromInstance(ri)
    52  
    53  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    54  	assert.Equal(t, "test", subscriptionName)
    55  
    56  	ar = &management.AccessRequest{
    57  		References: []interface{}{
    58  			&management.AccessRequestReferencesSubscription{
    59  				Name: "test",
    60  			},
    61  		},
    62  	}
    63  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    64  	assert.Equal(t, "", subscriptionName)
    65  
    66  	ar = &management.AccessRequest{
    67  		References: []interface{}{
    68  			&management.AccessRequestReferencesApplication{
    69  				Kind: "Application",
    70  				Name: "test",
    71  			},
    72  		},
    73  	}
    74  	subscriptionName = GetSubscriptionNameFromAccessRequest(ar)
    75  	assert.Equal(t, "", subscriptionName)
    76  }