29 lines
		
	
	
		
			536 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			536 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | package metrics | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"bytes" | ||
|  | 	"encoding/json" | ||
|  | 	"testing" | ||
|  | ) | ||
|  | 
 | ||
|  | func TestRegistryMarshallJSON(t *testing.T) { | ||
|  | 	b := &bytes.Buffer{} | ||
|  | 	enc := json.NewEncoder(b) | ||
|  | 	r := NewRegistry() | ||
|  | 	r.Register("counter", NewCounter()) | ||
|  | 	enc.Encode(r) | ||
|  | 	if s := b.String(); "{\"counter\":{\"count\":0}}\n" != s { | ||
|  | 		t.Fatalf(s) | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | func TestRegistryWriteJSONOnce(t *testing.T) { | ||
|  | 	r := NewRegistry() | ||
|  | 	r.Register("counter", NewCounter()) | ||
|  | 	b := &bytes.Buffer{} | ||
|  | 	WriteJSONOnce(r, b) | ||
|  | 	if s := b.String(); s != "{\"counter\":{\"count\":0}}\n" { | ||
|  | 		t.Fail() | ||
|  | 	} | ||
|  | } |