|
|
|
@ -320,7 +320,7 @@ func TestGetDashboard(t *testing.T) { |
|
|
|
|
Data: simplejson.NewFromAny(map[string]any{"test": "test", "title": "testing slugify", "uid": "uid", "version": int64(1)}), |
|
|
|
|
} |
|
|
|
|
k8sCliMock.On("Get", mock.Anything, query.UID, mock.Anything, mock.Anything, mock.Anything).Return(&dashboardUnstructured, nil).Once() |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
|
|
|
|
|
dashboard, err := service.GetDashboard(ctx, query) |
|
|
|
|
require.NoError(t, err) |
|
|
|
@ -358,7 +358,7 @@ func TestGetDashboard(t *testing.T) { |
|
|
|
|
Data: simplejson.NewFromAny(map[string]any{"test": "test", "title": "testing slugify", "uid": "uid", "version": int64(2)}), |
|
|
|
|
} |
|
|
|
|
k8sCliMock.On("Get", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&dashboardUnstructured, nil).Once() |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("Search", mock.Anything, mock.Anything, mock.Anything).Return(&resource.ResourceSearchResponse{ |
|
|
|
|
Results: &resource.ResourceTable{ |
|
|
|
|
Columns: []*resource.ResourceTableColumnDefinition{ |
|
|
|
@ -457,7 +457,7 @@ func TestGetAllDashboards(t *testing.T) { |
|
|
|
|
Data: simplejson.NewFromAny(map[string]any{"test": "test", "title": "testing slugify", "uid": "uid", "version": int64(1)}), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("List", mock.Anything, mock.Anything, mock.Anything).Return(&unstructured.UnstructuredList{Items: []unstructured.Unstructured{dashboardUnstructured}}, nil).Once() |
|
|
|
|
|
|
|
|
|
dashes, err := service.GetAllDashboards(ctx) |
|
|
|
@ -509,7 +509,7 @@ func TestGetAllDashboardsByOrgId(t *testing.T) { |
|
|
|
|
Data: simplejson.NewFromAny(map[string]any{"test": "test", "title": "testing slugify", "uid": "uid", "version": int64(1)}), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("List", mock.Anything, mock.Anything, mock.Anything).Return(&unstructured.UnstructuredList{Items: []unstructured.Unstructured{dashboardUnstructured}}, nil).Once() |
|
|
|
|
|
|
|
|
|
dashes, err := service.GetAllDashboardsByOrgId(ctx, 1) |
|
|
|
@ -1140,7 +1140,7 @@ func TestUnprovisionDashboard(t *testing.T) { |
|
|
|
|
// should update it to be without annotations
|
|
|
|
|
k8sCliMock.On("Update", mock.Anything, dashWithoutAnnotations, mock.Anything).Return(dashWithoutAnnotations, nil) |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything).Return("default") |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("Search", mock.Anything, mock.Anything, mock.Anything).Return(&resource.ResourceSearchResponse{ |
|
|
|
|
Results: &resource.ResourceTable{ |
|
|
|
|
Columns: []*resource.ResourceTableColumnDefinition{ |
|
|
|
@ -1207,7 +1207,7 @@ func TestGetDashboardsByPluginID(t *testing.T) { |
|
|
|
|
ctx, k8sCliMock := setupK8sDashboardTests(service) |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything, mock.Anything).Return("default") |
|
|
|
|
k8sCliMock.On("Get", mock.Anything, "uid", mock.Anything, mock.Anything, mock.Anything).Return(uidUnstructured, nil) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("Search", mock.Anything, mock.Anything, mock.MatchedBy(func(req *resource.ResourceSearchRequest) bool { |
|
|
|
|
return ( // gofmt comment helper
|
|
|
|
|
req.Options.Fields[0].Key == "manager.kind" && req.Options.Fields[0].Values[0] == string(utils.ManagerKindPlugin) && |
|
|
|
@ -1361,7 +1361,7 @@ func TestSaveProvisionedDashboard(t *testing.T) { |
|
|
|
|
t.Run("Should use Kubernetes create if feature flags are enabled", func(t *testing.T) { |
|
|
|
|
ctx, k8sCliMock := setupK8sDashboardTests(service) |
|
|
|
|
fakeStore.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&dashboards.Dashboard{}, nil) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("Update", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&dashboardUnstructured, nil) |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything).Return("default") |
|
|
|
|
|
|
|
|
@ -1422,7 +1422,7 @@ func TestSaveDashboard(t *testing.T) { |
|
|
|
|
|
|
|
|
|
t.Run("Should use Kubernetes create if feature flags are enabled and dashboard doesn't exist", func(t *testing.T) { |
|
|
|
|
ctx, k8sCliMock := setupK8sDashboardTests(service) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything).Return("default") |
|
|
|
|
k8sCliMock.On("Update", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&dashboardUnstructured, nil) |
|
|
|
|
|
|
|
|
@ -1433,7 +1433,7 @@ func TestSaveDashboard(t *testing.T) { |
|
|
|
|
|
|
|
|
|
t.Run("Should use Kubernetes update if feature flags are enabled and dashboard exists", func(t *testing.T) { |
|
|
|
|
ctx, k8sCliMock := setupK8sDashboardTests(service) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything).Return("default") |
|
|
|
|
k8sCliMock.On("Update", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&dashboardUnstructured, nil) |
|
|
|
|
|
|
|
|
@ -1859,7 +1859,7 @@ func TestGetDashboards(t *testing.T) { |
|
|
|
|
k8sCliMock.On("GetNamespace", mock.Anything, mock.Anything).Return("default") |
|
|
|
|
k8sCliMock.On("Get", mock.Anything, "uid1", mock.Anything, mock.Anything, mock.Anything).Return(uid1Unstructured, nil) |
|
|
|
|
k8sCliMock.On("Get", mock.Anything, "uid2", mock.Anything, mock.Anything, mock.Anything).Return(uid2Unstructured, nil) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{}, nil) |
|
|
|
|
k8sCliMock.On("Search", mock.Anything, mock.Anything, mock.Anything).Return(&resource.ResourceSearchResponse{ |
|
|
|
|
Results: &resource.ResourceTable{ |
|
|
|
|
Columns: []*resource.ResourceTableColumnDefinition{ |
|
|
|
@ -1977,7 +1977,7 @@ func TestGetDashboardUIDByID(t *testing.T) { |
|
|
|
|
|
|
|
|
|
func TestUnstructuredToLegacyDashboard(t *testing.T) { |
|
|
|
|
k8sCliMock := new(client.MockK8sHandler) |
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.Anything, mock.Anything).Return(&user.User{ID: 10, UID: "useruid"}, nil) |
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.Anything, mock.Anything).Return(map[string]*user.User{"user:useruid": &user.User{ID: 10, UID: "useruid"}}, nil) |
|
|
|
|
dr := &DashboardServiceImpl{ |
|
|
|
|
k8sclient: k8sCliMock, |
|
|
|
|
} |
|
|
|
@ -2022,7 +2022,7 @@ func TestUnstructuredToLegacyDashboard(t *testing.T) { |
|
|
|
|
item := &unstructured.Unstructured{ |
|
|
|
|
Object: map[string]interface{}{}, |
|
|
|
|
} |
|
|
|
|
_, err := (&DashboardServiceImpl{}).UnstructuredToLegacyDashboard(context.Background(), item, int64(123)) |
|
|
|
|
_, err := dr.UnstructuredToLegacyDashboard(context.Background(), item, int64(123)) |
|
|
|
|
assert.Error(t, err) |
|
|
|
|
assert.Equal(t, "error parsing dashboard from k8s response", err.Error()) |
|
|
|
|
}) |
|
|
|
@ -2659,8 +2659,8 @@ func TestK8sDashboardCleanupJob(t *testing.T) { |
|
|
|
|
Items: []unstructured.Unstructured{dashboard2}, |
|
|
|
|
}, nil).Once() |
|
|
|
|
|
|
|
|
|
// Mock GetUserFromMeta calls
|
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.AnythingOfType("*context.valueCtx"), mock.Anything).Return(&user.User{}, nil).Times(4) |
|
|
|
|
// should be called twice, one for each list call
|
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.AnythingOfType("*context.valueCtx"), mock.Anything).Return(map[string]*user.User{}, nil).Times(2) |
|
|
|
|
|
|
|
|
|
// Mock cleanup
|
|
|
|
|
fakePublicDashboardService.On("DeleteByDashboardUIDs", mock.Anything, int64(1), []string{"dash1"}).Return(nil).Once() |
|
|
|
@ -2737,8 +2737,8 @@ func TestK8sDashboardCleanupJob(t *testing.T) { |
|
|
|
|
Items: secondBatch, |
|
|
|
|
}, nil).Once() |
|
|
|
|
|
|
|
|
|
// Mock GetUserFromMeta calls for each dashboard
|
|
|
|
|
k8sCliMock.On("GetUserFromMeta", mock.AnythingOfType("*context.valueCtx"), mock.Anything).Return(&user.User{}, nil).Times(10) |
|
|
|
|
// should be called twice, one for each list call
|
|
|
|
|
k8sCliMock.On("GetUsersFromMeta", mock.AnythingOfType("*context.valueCtx"), mock.Anything).Return(map[string]*user.User{}, nil).Times(2) |
|
|
|
|
|
|
|
|
|
// Mock public dashboard deletion for each dashboard
|
|
|
|
|
fakePublicDashboardService.On("DeleteByDashboardUIDs", mock.Anything, int64(1), []string{"dash1"}).Return(nil).Once() |
|
|
|
|