...

Source file src/edge-infra.dev/pkg/edge/api/graph/resolver/cluster_queries.resolvers_test.go

Documentation: edge-infra.dev/pkg/edge/api/graph/resolver

     1  package resolver
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/golang/mock/gomock"
     8  	"github.com/stretchr/testify/assert"
     9  
    10  	bsltypes "edge-infra.dev/pkg/edge/api/bsl/types"
    11  	"edge-infra.dev/pkg/edge/api/graph/model"
    12  	"edge-infra.dev/pkg/edge/api/middleware"
    13  	"edge-infra.dev/pkg/edge/api/mocks"
    14  	"edge-infra.dev/pkg/edge/api/types"
    15  	"edge-infra.dev/pkg/edge/bsl"
    16  )
    17  
    18  func TestAddSiteToStore(t *testing.T) {
    19  	mock := gomock.NewController(t)
    20  	storeService := mocks.NewMockStoreClusterService(mock)
    21  	storeService.EXPECT().GetClusterByClusterEdgeID(gomock.Any(), "clusterEdgeID").
    22  		Return(types.Cluster{BannerEdgeID: "bannerEdgeID"}, nil).Times(1)
    23  	storeService.EXPECT().UpdateStoreSiteID(gomock.Any(), gomock.Any(), gomock.Any()).
    24  		Return(nil).Times(1)
    25  
    26  	bannerService := mocks.NewMockBannerService(mock)
    27  	bannerService.EXPECT().GetBannerByEdgeID(gomock.Any(), "bannerEdgeID").
    28  		Return(&model.Banner{}, nil).Times(1)
    29  
    30  	bslSiteService := mocks.NewMockBSLSiteService(mock)
    31  	bslSiteService.EXPECT().GetOrCreateSite(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).
    32  		Return(&bsl.BSLInfo{}, true, nil).Times(1)
    33  
    34  	chariotService := mocks.NewMockChariotService(mock)
    35  
    36  	c := &types.Config{BSP: bsltypes.BSPConfig{OrganizationPrefix: "test_prefix-"}}
    37  	r := &Resolver{
    38  		StoreClusterService: storeService,
    39  		BannerService:       bannerService,
    40  		BSLSiteService:      bslSiteService,
    41  		ChariotService:      chariotService,
    42  		Config:              c,
    43  	}
    44  	siteID := "siteID"
    45  
    46  	ctx := middleware.NewContext(context.Background(), &bsltypes.AuthUser{
    47  		Username:     "test-user",
    48  		Organization: "organization",
    49  	})
    50  	storeResponse, err := r.Mutation().AddSiteToStore(ctx, "clusterEdgeID", &siteID)
    51  	assert.Equal(t, storeResponse.ClusterEdgeID, "clusterEdgeID")
    52  	assert.NoError(t, err)
    53  }
    54  
    55  func TestAddSiteToStoreWithEU(t *testing.T) {
    56  	mock := gomock.NewController(t)
    57  	storeService := mocks.NewMockStoreClusterService(mock)
    58  	storeService.EXPECT().GetClusterByClusterEdgeID(gomock.Any(), "clusterEdgeID").
    59  		Return(types.Cluster{BannerEdgeID: "bannerEdgeID"}, nil).Times(1)
    60  	storeService.EXPECT().UpdateStoreSiteID(gomock.Any(), gomock.Any(), gomock.Any()).
    61  		Return(nil).Times(1)
    62  
    63  	bannerService := mocks.NewMockBannerService(mock)
    64  	bannerService.EXPECT().GetBannerByEdgeID(gomock.Any(), "bannerEdgeID").
    65  		Return(&model.Banner{BannerType: "eu"}, nil).Times(1)
    66  
    67  	bslSiteService := mocks.NewMockBSLSiteService(mock)
    68  	bslSiteService.EXPECT().GetOrCreateSite(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).
    69  		Return(&bsl.BSLInfo{}, true, nil).Times(1)
    70  
    71  	chariotService := mocks.NewMockChariotService(mock)
    72  
    73  	c := &types.Config{BSP: bsltypes.BSPConfig{OrganizationPrefix: "test_prefix-"}}
    74  	r := &Resolver{
    75  		StoreClusterService: storeService,
    76  		BannerService:       bannerService,
    77  		BSLSiteService:      bslSiteService,
    78  		ChariotService:      chariotService,
    79  		Config:              c,
    80  	}
    81  	siteID := "siteID"
    82  
    83  	ctx := middleware.NewContext(context.Background(), &bsltypes.AuthUser{
    84  		Username:     "test-user",
    85  		Organization: "organization",
    86  	})
    87  	storeResponse, err := r.Mutation().AddSiteToStore(ctx, "clusterEdgeID", &siteID)
    88  	assert.Equal(t, storeResponse.ClusterEdgeID, "clusterEdgeID")
    89  	assert.NoError(t, err)
    90  }
    91  
    92  func TestUpdateClusterName(t *testing.T) {
    93  	var (
    94  		clusterEdgeID = "clusterEdgeID"
    95  		name          = "cluster1"
    96  		cluster       = &model.Cluster{ClusterEdgeID: clusterEdgeID, Name: name}
    97  	)
    98  	mock := gomock.NewController(t)
    99  	storeService := mocks.NewMockStoreClusterService(mock)
   100  	storeService.EXPECT().UpdateStoreName(gomock.Any(), clusterEdgeID, name).
   101  		Return(nil).Times(1)
   102  	storeService.EXPECT().GetCluster(gomock.Any(), clusterEdgeID).
   103  		Return(cluster, nil).Times(1)
   104  
   105  	r := &Resolver{
   106  		StoreClusterService: storeService,
   107  	}
   108  
   109  	ctx := middleware.NewContext(context.Background(), &bsltypes.AuthUser{
   110  		Username:     "test-user",
   111  		Organization: "organization",
   112  	})
   113  	storeResponse, err := r.Mutation().UpdateClusterName(ctx, clusterEdgeID, name)
   114  	assert.Equal(t, storeResponse.Name, name)
   115  	assert.NoError(t, err)
   116  }
   117  

View as plain text