Allow configuration names in application paths
This commit is contained in:
@@ -226,6 +226,21 @@ func TestCompileSequenceIdentityPolicyAllowsDisjointSelectorsAndRoot(t *testing.
|
||||
}
|
||||
}
|
||||
|
||||
func TestSequenceIdentitySelectorsAllowConfigKeys(t *testing.T) {
|
||||
policy, diagnostics := compileSequenceIdentityPolicy([]sequenceIdentityRegistration{
|
||||
{selector: sequenceIdentitySelector{literalSequenceSelector("config"), literalSequenceSelector("items")}, identityFields: []string{"id"}},
|
||||
{selector: sequenceIdentitySelector{literalSequenceSelector("configkit"), anyMappingSequenceSelector(), literalSequenceSelector("items")}, identityFields: []string{"name"}},
|
||||
})
|
||||
if len(diagnostics) != 0 {
|
||||
t.Fatalf("diagnostics = %#v", diagnostics)
|
||||
}
|
||||
for _, path := range []Path{Keys("config", "items"), Keys("configkit", "config", "items")} {
|
||||
if _, matched := policy.identityFieldsAt(path); !matched {
|
||||
t.Errorf("selector failed to match %q", path.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestCompileSequenceIdentityPolicySnapshotsSelectorAndFields(t *testing.T) {
|
||||
selector := sequenceIdentitySelector{literalSequenceSelector("items")}
|
||||
fields := []string{"id", "namespace"}
|
||||
@@ -242,7 +257,7 @@ func TestCompileSequenceIdentityPolicySnapshotsSelectorAndFields(t *testing.T) {
|
||||
|
||||
func TestCompileSequenceIdentityPolicyRejectsInvalidSelectorsAndEmptyFields(t *testing.T) {
|
||||
_, diagnostics := compileSequenceIdentityPolicy([]sequenceIdentityRegistration{
|
||||
{selector: sequenceIdentitySelector{literalSequenceSelector("configkit")}, identityFields: []string{"id"}},
|
||||
{selector: sequenceIdentitySelector{literalSequenceSelector("extends")}, identityFields: []string{"id"}},
|
||||
{selector: sequenceIdentitySelector{{kind: sequenceSelectorSegmentKind(99)}}, identityFields: []string{"id"}},
|
||||
{selector: sequenceIdentitySelector{literalSequenceSelector("unused")}, identityFields: nil},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user