mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
| package resource
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"encoding/json"
 | |
| 	"fmt"
 | |
| 	"os"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/stretchr/testify/require"
 | |
| 
 | |
| 	"github.com/grafana/grafana/pkg/storage/unified/resourcepb"
 | |
| )
 | |
| 
 | |
| func TestStandardDocumentBuilder(t *testing.T) {
 | |
| 	ctx := context.Background()
 | |
| 	builder := StandardDocumentBuilder()
 | |
| 
 | |
| 	body, err := os.ReadFile("testdata/playlist-resource.json")
 | |
| 	require.NoError(t, err)
 | |
| 	doc, err := builder.BuildDocument(ctx, &resourcepb.ResourceKey{
 | |
| 		Namespace: "default",
 | |
| 		Group:     "playlists.grafana.app",
 | |
| 		Resource:  "playlists",
 | |
| 		Name:      "test1",
 | |
| 	}, 10, body)
 | |
| 	require.NoError(t, err)
 | |
| 
 | |
| 	jj, _ := json.MarshalIndent(doc, "", "  ")
 | |
| 	fmt.Printf("%s\n", string(jj))
 | |
| 	require.JSONEq(t, `{
 | |
| 		"key": {
 | |
| 			"namespace": "default",
 | |
| 			"group": "playlists.grafana.app",
 | |
| 			"resource": "playlists",
 | |
| 			"name": "test1"
 | |
| 		},
 | |
| 		"name": "test1",
 | |
| 		"rv": 10,
 | |
| 		"title": "Test Playlist from Unified Storage",
 | |
| 		"title_ngram": "Test Playlist from Unified Storage",
 | |
| 		"title_phrase": "test playlist from unified storage",
 | |
| 		"created": 1717236672000,
 | |
| 		"createdBy": "user:ABC",
 | |
| 		"updatedBy": "user:XYZ",
 | |
| 		"manager": {
 | |
| 			"kind": "repo",
 | |
| 			"id": "something"
 | |
| 		},
 | |
| 		"managedBy": "repo:something",
 | |
| 		"source": {
 | |
| 			"path": "path/in/system.json",
 | |
| 			"checksum": "xyz"
 | |
| 		}
 | |
| 	}`, string(jj))
 | |
| }
 |