func (o *PruneOptions) Validate() error { results := validation.ValidateLDAPSyncConfig(o.Config) if o.GroupInterface == nil { results.Errors = append(results.Errors, field.Required(field.NewPath("groupInterface"), "")) } // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", results.Errors.ToAggregate()) } return nil }
func (o *PruneOptions) Validate() error { results := validation.ValidateLDAPSyncConfig(o.Config) if o.GroupInterface == nil { results.Errors = append(results.Errors, fmt.Errorf("an OpenShift group client is required")) } // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", kerrs.NewAggregate([]error(results.Errors))) } return nil }
func (o *SyncGroupsOptions) Validate() error { if !ValidateSource(o.Source) { return fmt.Errorf("sync source must be one of the following: %v", strings.Join(AllowedSourceTypes, ",")) } results := validation.ValidateLDAPSyncConfig(o.Config) // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", kerrs.NewAggregate([]error(results.Errors))) } return nil }
func (o *SyncOptions) Validate() error { if !ValidateSource(o.Source) { return fmt.Errorf("sync source must be one of the following: %v", strings.Join(AllowedSourceTypes, ",")) } results := validation.ValidateLDAPSyncConfig(o.Config) if o.GroupInterface == nil { results.Errors = append(results.Errors, field.Required(field.NewPath("groupInterface"), "")) } // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", results.Errors.ToAggregate()) } return nil }
func (o *SyncGroupsOptions) Validate() error { if !ValidateSource(o.Source) { return fmt.Errorf("sync source must be one of the following: %v", strings.Join(AllowedSourceTypes, ",")) } results := validation.ValidateLDAPSyncConfig(o.Config) if o.GroupInterface == nil { results.Errors = append(results.Errors, fmt.Errorf("an OpenShift group client is required")) } // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", kerrs.NewAggregate([]error(results.Errors))) } return nil }
func (o *SyncGroupsOptions) Validate() error { if !ValidateSource(o.Source) { return fmt.Errorf("sync source must be one of the following: %v", []GroupSyncSource{GroupSyncSourceLDAP, GroupSyncSourceOpenShift}) } if !ValidateScope(o.Scope) { return fmt.Errorf("sync scope must be one of the following: %v", []GroupSyncScope{GroupSyncScopeAll, GroupSyncScopeWhitelist}) } // If the scope is a whitelist, a list of whitelist contents must be provided if o.Scope == GroupSyncScopeWhitelist && len(o.WhitelistContents) == 0 { return fmt.Errorf("a list of unique group identifiers is required for sync scope %s", o.Scope) } results := validation.ValidateLDAPSyncConfig(o.Config) // TODO(skuznets): pretty-print validation results if len(results.Errors) > 0 { return fmt.Errorf("validation of LDAP sync config failed: %v", kerrs.NewAggregate([]error(results.Errors))) } return nil }
func TestLDAPSyncConfigFixtures(t *testing.T) { fixtures := []string{} // build a list of common configurations for all schemas schemas := []string{"rfc2307", "ad", "augmented-ad"} for _, schema := range schemas { fixtures = append(fixtures, schema+"/sync-config.yaml") fixtures = append(fixtures, schema+"/sync-config-dn-everywhere.yaml") fixtures = append(fixtures, schema+"/sync-config-partially-user-defined.yaml") fixtures = append(fixtures, schema+"/sync-config-user-defined.yaml") fixtures = append(fixtures, schema+"/sync-config-paging.yaml") } fixtures = append(fixtures, "rfc2307/sync-config-tolerating.yaml") for _, fixture := range fixtures { var config api.LDAPSyncConfig yamlConfig, err := ioutil.ReadFile("./../../../../../test/extended/authentication/ldap/" + fixture) if err != nil { t.Errorf("could not read fixture at %q: %v", fixture, err) continue } jsonConfig, err := yaml.ToJSON(yamlConfig) if err != nil { t.Errorf("could not convert YAML fixture at %q to JSON: %v", fixture, err) continue } if err := runtime.DecodeInto(configapilatest.Codec, jsonConfig, &config); err != nil { t.Errorf("could not deocde fixture at %q into internal type: %v", fixture, err) continue } if results := validation.ValidateLDAPSyncConfig(&config); len(results.Errors) > 0 { t.Errorf("validation of fixture at %q failed with %d errors:", fixture, len(results.Errors)) for _, err := range results.Errors { t.Error(err) } } } }