mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			923 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			923 B
		
	
	
	
		
			Go
		
	
	
	
| package pfs
 | |
| 
 | |
| import (
 | |
| 	"sort"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/google/go-cmp/cmp"
 | |
| 	"github.com/grafana/grafana/pkg/kindsys"
 | |
| )
 | |
| 
 | |
| // This is a brick-dumb test that just ensures known schema interfaces are being
 | |
| // loaded correctly from their declarations in .cue files.
 | |
| //
 | |
| // If this test fails, it's either because:
 | |
| // - They're not being loaded correctly - there's a bug in kindsys or pfs somewhere, fix it
 | |
| // - The set of schema interfaces has been modified - update the static list here
 | |
| func TestSchemaInterfacesAreLoaded(t *testing.T) {
 | |
| 	knownSI := []string{"PanelCfg", "DataQuery", "DataSourceCfg"}
 | |
| 	all := kindsys.SchemaInterfaces(nil)
 | |
| 	var loadedSI []string
 | |
| 	for k := range all {
 | |
| 		loadedSI = append(loadedSI, k)
 | |
| 	}
 | |
| 
 | |
| 	sort.Strings(knownSI)
 | |
| 	sort.Strings(loadedSI)
 | |
| 
 | |
| 	if diff := cmp.Diff(knownSI, loadedSI); diff != "" {
 | |
| 		t.Fatalf("kindsys cue-declared schema interfaces differ from ComposableKinds go struct:\n%s", diff)
 | |
| 	}
 | |
| }
 |