mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Make IsDNS952Label return error strings
This commit is contained in:
		@@ -58,7 +58,6 @@ func InclusiveRangeErrorMsg(lo, hi int) string {
 | 
				
			|||||||
	return fmt.Sprintf(`must be between %d and %d, inclusive`, lo, hi)
 | 
						return fmt.Sprintf(`must be between %d and %d, inclusive`, lo, hi)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var DNS952LabelErrorMsg string = fmt.Sprintf(`must be a DNS 952 label (at most %d characters, matching regex %s): e.g. "my-name"`, validation.DNS952LabelMaxLength, validation.DNS952LabelFmt)
 | 
					 | 
				
			||||||
var pdPartitionErrorMsg string = InclusiveRangeErrorMsg(1, 255)
 | 
					var pdPartitionErrorMsg string = InclusiveRangeErrorMsg(1, 255)
 | 
				
			||||||
var PortRangeErrorMsg string = InclusiveRangeErrorMsg(1, 65535)
 | 
					var PortRangeErrorMsg string = InclusiveRangeErrorMsg(1, 65535)
 | 
				
			||||||
var IdRangeErrorMsg string = InclusiveRangeErrorMsg(0, math.MaxInt32)
 | 
					var IdRangeErrorMsg string = InclusiveRangeErrorMsg(0, math.MaxInt32)
 | 
				
			||||||
@@ -256,10 +255,7 @@ func NameIsDNS952Label(name string, prefix bool) []string {
 | 
				
			|||||||
	if prefix {
 | 
						if prefix {
 | 
				
			||||||
		name = maskTrailingDash(name)
 | 
							name = maskTrailingDash(name)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if validation.IsDNS952Label(name) {
 | 
						return validation.IsDNS952Label(name)
 | 
				
			||||||
		return nil
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return []string{DNS952LabelErrorMsg}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Validates that given value is not negative.
 | 
					// Validates that given value is not negative.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -260,8 +260,10 @@ func validateContext(contextName string, context clientcmdapi.Context, config cl
 | 
				
			|||||||
		validationErrors = append(validationErrors, fmt.Errorf("cluster %q was not found for context %q", context.Cluster, contextName))
 | 
							validationErrors = append(validationErrors, fmt.Errorf("cluster %q was not found for context %q", context.Cluster, contextName))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (len(context.Namespace) != 0) && !validation.IsDNS952Label(context.Namespace) {
 | 
						if len(context.Namespace) != 0 {
 | 
				
			||||||
		validationErrors = append(validationErrors, fmt.Errorf("namespace %q for context %q does not conform to the kubernetes DNS952 rules", context.Namespace, contextName))
 | 
							if len(validation.IsDNS1123Label(context.Namespace)) != 0 {
 | 
				
			||||||
 | 
								validationErrors = append(validationErrors, fmt.Errorf("namespace %q for context %q does not conform to the kubernetes DNS_LABEL rules", context.Namespace, contextName))
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return validationErrors
 | 
						return validationErrors
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,8 +128,15 @@ var dns952LabelRegexp = regexp.MustCompile("^" + DNS952LabelFmt + "$")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// IsDNS952Label tests for a string that conforms to the definition of a label in
 | 
					// IsDNS952Label tests for a string that conforms to the definition of a label in
 | 
				
			||||||
// DNS (RFC 952).
 | 
					// DNS (RFC 952).
 | 
				
			||||||
func IsDNS952Label(value string) bool {
 | 
					func IsDNS952Label(value string) []string {
 | 
				
			||||||
	return len(value) <= DNS952LabelMaxLength && dns952LabelRegexp.MatchString(value)
 | 
						var errs []string
 | 
				
			||||||
 | 
						if len(value) > DNS952LabelMaxLength {
 | 
				
			||||||
 | 
							errs = append(errs, MaxLenError(DNS952LabelMaxLength))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if !dns952LabelRegexp.MatchString(value) {
 | 
				
			||||||
 | 
							errs = append(errs, RegexError(DNS952LabelFmt, "my-name", "abc-123"))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return errs
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const CIdentifierFmt string = "[A-Za-z_][A-Za-z0-9_]*"
 | 
					const CIdentifierFmt string = "[A-Za-z_][A-Za-z0-9_]*"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,8 +92,8 @@ func TestIsDNS952Label(t *testing.T) {
 | 
				
			|||||||
		strings.Repeat("a", 24),
 | 
							strings.Repeat("a", 24),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	for _, val := range goodValues {
 | 
						for _, val := range goodValues {
 | 
				
			||||||
		if !IsDNS952Label(val) {
 | 
							if msgs := IsDNS952Label(val); len(msgs) != 0 {
 | 
				
			||||||
			t.Errorf("expected true for '%s'", val)
 | 
								t.Errorf("expected true for '%s': %v", val, msgs)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,7 +107,7 @@ func TestIsDNS952Label(t *testing.T) {
 | 
				
			|||||||
		strings.Repeat("a", 25),
 | 
							strings.Repeat("a", 25),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	for _, val := range badValues {
 | 
						for _, val := range badValues {
 | 
				
			||||||
		if IsDNS952Label(val) {
 | 
							if msgs := IsDNS952Label(val); len(msgs) == 0 {
 | 
				
			||||||
			t.Errorf("expected false for '%s'", val)
 | 
								t.Errorf("expected false for '%s'", val)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user