Skip to content

Commit

Permalink
Add a new parameters to ignore headers starting with "X-" because mos…
Browse files Browse the repository at this point in the history
…t of the time, they are "standard" and must follow other convention. (#4)
  • Loading branch information
JFCote committed Jul 18, 2018
1 parent e8ecda5 commit ea18d42
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 21 deletions.
2 changes: 1 addition & 1 deletion .idea/modules/modules/cli/modules_cli.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/modules/modules/cli/modules_cli_main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions .idea/modules/modules/cli/modules_cli_test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/modules/modules/lib/modules_lib.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/modules/modules/lib/modules_lib_main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/modules/modules/lib/modules_lib_test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
subprojects {
apply plugin: "java"

version = '1.0'
version = '1.1'

repositories {
mavenCentral()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,22 @@ private void validateNaming() {
for (HttpMethod method : path.getOperationMap().keySet()) {
Operation op = path.getOperationMap().get(method);
for (Parameter opParam : op.getParameters()) {
boolean isValid = namingValidator.isNamingValid(opParam.getName(), parameters.getParameterNamingStrategy());
if (!isValid) {
errorAggregator.logOperationBadNaming(opParam.getName(),
"parameter",
parameters.getParameterNamingStrategy().getAppelation(),
key,
method);
boolean shouldValidate;
if (opParam.getIn().equals("header") && opParam.getName().startsWith("X-")) {
shouldValidate = !parameters.isIgnoreHeaderXNaming();
} else {
shouldValidate = true;
}

if (shouldValidate) {
boolean isValid = namingValidator.isNamingValid(opParam.getName(), parameters.getParameterNamingStrategy());
if (!isValid) {
errorAggregator.logOperationBadNaming(opParam.getName(),
"parameter",
parameters.getParameterNamingStrategy().getAppelation(),
key,
method);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public String getAppelation() {
private boolean validateModelNoLocalDef = true;

private boolean validateNaming = true;
private boolean ignoreHeaderXNaming = true;
private NamingStrategy pathNamingStrategy = NamingStrategy.HyphenCase;
private NamingStrategy parameterNamingStrategy = NamingStrategy.CamelCase;
private NamingStrategy propertyNamingStrategy = NamingStrategy.CamelCase;
Expand Down Expand Up @@ -142,4 +143,12 @@ boolean isValidateNaming() {
void setValidateNaming(boolean validateNaming) {
this.validateNaming = validateNaming;
}

boolean isIgnoreHeaderXNaming() {
return ignoreHeaderXNaming;
}

void setIgnoreHeaderXNaming(boolean ignoreHeaderXNaming) {
this.ignoreHeaderXNaming = ignoreHeaderXNaming;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public void validateDefaultValues() {
assertTrue(parameters.isValidateModelNoLocalDef());

assertTrue(parameters.isValidateNaming());
assertTrue(parameters.isIgnoreHeaderXNaming());
assertEquals(ValidatorParameters.NamingStrategy.HyphenCase, parameters.getPathNamingStrategy());
assertEquals(ValidatorParameters.NamingStrategy.CamelCase, parameters.getParameterNamingStrategy());
assertEquals(ValidatorParameters.NamingStrategy.CamelCase, parameters.getPropertyNamingStrategy());
Expand All @@ -44,6 +45,7 @@ public void testAllGetterSetters() {
parameters.setValidateModelPropertiesExample(false);
parameters.setValidateModelNoLocalDef(false);
parameters.setValidateNaming(false);
parameters.setIgnoreHeaderXNaming(false);

parameters.setPathNamingStrategy(ValidatorParameters.NamingStrategy.CamelCase);
parameters.setParameterNamingStrategy(ValidatorParameters.NamingStrategy.CamelCase);
Expand All @@ -59,6 +61,7 @@ public void testAllGetterSetters() {
assertFalse(parameters.isValidateModelPropertiesExample());
assertFalse(parameters.isValidateModelNoLocalDef());
assertFalse(parameters.isValidateNaming());
assertFalse(parameters.isIgnoreHeaderXNaming());

assertEquals(ValidatorParameters.NamingStrategy.CamelCase, parameters.getPathNamingStrategy());
assertEquals(ValidatorParameters.NamingStrategy.CamelCase, parameters.getParameterNamingStrategy());
Expand Down
1 change: 1 addition & 0 deletions specs/options.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"validateModelNoLocalDef": true,

"validateNaming": true,
"ignoreHeaderXNaming": true,
"pathNamingStrategy": "HyphenCase",
"parameterNamingStrategy": "CamelCase",
"propertiesNamingStrategy": "CamelCase"
Expand Down

0 comments on commit ea18d42

Please sign in to comment.