mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05:00 
			
		
		
		
	Also renamed the field to SubjectsRaw, which can be considered a breaking change but I don't expect this to affect much.
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package httpcaddyfile
 | 
						|
 | 
						|
import (
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"github.com/caddyserver/caddy/v2/modules/caddytls"
 | 
						|
)
 | 
						|
 | 
						|
func TestAutomationPolicyIsSubset(t *testing.T) {
 | 
						|
	for i, test := range []struct {
 | 
						|
		a, b   []string
 | 
						|
		expect bool
 | 
						|
	}{
 | 
						|
		{
 | 
						|
			a:      []string{"example.com"},
 | 
						|
			b:      []string{},
 | 
						|
			expect: true,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{},
 | 
						|
			b:      []string{"example.com"},
 | 
						|
			expect: false,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{"foo.example.com"},
 | 
						|
			b:      []string{"*.example.com"},
 | 
						|
			expect: true,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{"foo.example.com"},
 | 
						|
			b:      []string{"foo.example.com"},
 | 
						|
			expect: true,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{"foo.example.com"},
 | 
						|
			b:      []string{"example.com"},
 | 
						|
			expect: false,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{"example.com", "foo.example.com"},
 | 
						|
			b:      []string{"*.com", "*.*.com"},
 | 
						|
			expect: true,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			a:      []string{"example.com", "foo.example.com"},
 | 
						|
			b:      []string{"*.com"},
 | 
						|
			expect: false,
 | 
						|
		},
 | 
						|
	} {
 | 
						|
		apA := &caddytls.AutomationPolicy{SubjectsRaw: test.a}
 | 
						|
		apB := &caddytls.AutomationPolicy{SubjectsRaw: test.b}
 | 
						|
		if actual := automationPolicyIsSubset(apA, apB); actual != test.expect {
 | 
						|
			t.Errorf("Test %d: Expected %t but got %t (A: %v  B: %v)", i, test.expect, actual, test.a, test.b)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |