diff --git a/src/main/java/org/springframework/hateoas/TemplateVariable.java b/src/main/java/org/springframework/hateoas/TemplateVariable.java index d90463bb..ca5ee01d 100644 --- a/src/main/java/org/springframework/hateoas/TemplateVariable.java +++ b/src/main/java/org/springframework/hateoas/TemplateVariable.java @@ -56,9 +56,9 @@ public final class TemplateVariable implements Serializable { */ public TemplateVariable(String name, TemplateVariable.VariableType type, String description) { - Assert.hasText("Variable name must not be null or empty!"); - Assert.notNull("Variable type must not be null!"); - Assert.notNull("Description must not be null!"); + Assert.hasText(name, "Variable name must not be null or empty!"); + Assert.notNull(type, "Variable type must not be null!"); + Assert.notNull(description, "Description must not be null!"); this.name = name; this.type = type; diff --git a/src/test/java/org/springframework/hateoas/TemplateVariablesUnitTest.java b/src/test/java/org/springframework/hateoas/TemplateVariablesUnitTest.java index 040324f2..633ed3a1 100644 --- a/src/test/java/org/springframework/hateoas/TemplateVariablesUnitTest.java +++ b/src/test/java/org/springframework/hateoas/TemplateVariablesUnitTest.java @@ -171,4 +171,36 @@ public class TemplateVariablesUnitTest { assertThat(result, hasSize(1)); assertThat(result, hasItem(parameter)); } + + /** + * @see #228 + */ + @Test(expected = IllegalArgumentException.class) + public void variableRejectsEmptyName() { + new TemplateVariable("", PATH_VARIABLE); + } + + /** + * @see #228 + */ + @Test(expected = IllegalArgumentException.class) + public void variableRejectsNullName() { + new TemplateVariable(null, PATH_VARIABLE); + } + + /** + * @see #228 + */ + @Test(expected = IllegalArgumentException.class) + public void variableRejectsNullType() { + new TemplateVariable("foo", null); + } + + /** + * @see #228 + */ + @Test(expected = IllegalArgumentException.class) + public void variableRejectsNullDescription() { + new TemplateVariable("foo", PATH_VARIABLE, null); + } }