mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	* This package is new for 1.5 so this is not a breaking change. * This is being moved because this code was originally intended to be used within plugins, however the design of password policies has changed such that this is no longer needed. Thus, this code doesn't need to be in the public SDK.
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package random
 | 
						|
 | 
						|
import (
 | 
						|
	"encoding/json"
 | 
						|
	"reflect"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestJSONMarshalling(t *testing.T) {
 | 
						|
	expected := serializableRules{
 | 
						|
		CharsetRule{
 | 
						|
			Charset:  LowercaseRuneset,
 | 
						|
			MinChars: 1,
 | 
						|
		},
 | 
						|
		CharsetRule{
 | 
						|
			Charset:  UppercaseRuneset,
 | 
						|
			MinChars: 1,
 | 
						|
		},
 | 
						|
		CharsetRule{
 | 
						|
			Charset:  NumericRuneset,
 | 
						|
			MinChars: 1,
 | 
						|
		},
 | 
						|
		CharsetRule{
 | 
						|
			Charset:  ShortSymbolRuneset,
 | 
						|
			MinChars: 1,
 | 
						|
		},
 | 
						|
	}
 | 
						|
 | 
						|
	marshalled, err := json.Marshal(expected)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatalf("no error expected, got: %s", err)
 | 
						|
	}
 | 
						|
 | 
						|
	actual := serializableRules{}
 | 
						|
	err = json.Unmarshal(marshalled, &actual)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatalf("no error expected, got: %s", err)
 | 
						|
	}
 | 
						|
 | 
						|
	if !reflect.DeepEqual(actual, expected) {
 | 
						|
		t.Fatalf("Actual: %#v\nExpected: %#v", actual, expected)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestRunes_UnmarshalJSON(t *testing.T) {
 | 
						|
	data := []byte(`"noaw8hgfsdjlkfsj3"`)
 | 
						|
 | 
						|
	expected := runes([]rune("noaw8hgfsdjlkfsj3"))
 | 
						|
	actual := runes{}
 | 
						|
	err := (&actual).UnmarshalJSON(data)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatalf("no error expected, got: %s", err)
 | 
						|
	}
 | 
						|
 | 
						|
	if !reflect.DeepEqual(actual, expected) {
 | 
						|
		t.Fatalf("Actual: %#v\nExpected: %#v", actual, expected)
 | 
						|
	}
 | 
						|
}
 |