@Test @SuppressWarnings("rawtypes") public void valid() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); RuleDefinition ruleDefinition = builder.build(); assertThat(ruleDefinition.getActionMethod(), equalTo(actionMethod)); assertThat(ruleDefinition.getConditionMethods(), equalTo(Arrays.asList(conditionMethod))); assertThat(ruleDefinition.getDescription(), equalTo("Some Description")); assertThat(ruleDefinition.getFireCondition(), equalTo(fireCondition)); assertThat((Class) ruleDefinition.getImplementation(), equalTo((Class) RuleA.class)); assertThat(ruleDefinition.getName(), equalTo("SomeName")); assertThat(ruleDefinition.getSessionVariableInjections(), equalTo(Arrays.asList(sessionVariableInjection))); assertThat(ruleDefinition.getTagInjections(), equalTo(Arrays.asList(tagInjection))); }
FireCondition fireCondition = describeFireCondition(annotation, tagInjections); RuleDefinitionBuilder builder = new RuleDefinitionBuilder(); builder.setName(annotation.name()); builder.setDescription(annotation.description()); builder.setImplementation(clazz); builder.setFireCondition(fireCondition); builder.setConditionMethods(conditionMethods); builder.setActionMethod(actionMethod); builder.setTagInjections(tagInjections); builder.setSessionVariableInjections(variableInjections); return builder.build();
@Test @SuppressWarnings("rawtypes") public void emptySessionVariables() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Collections.<SessionVariableInjection> emptyList()); builder.setTagInjections(Arrays.asList(tagInjection)); RuleDefinition ruleDefinition = builder.build(); assertThat(ruleDefinition.getActionMethod(), equalTo(actionMethod)); assertThat(ruleDefinition.getConditionMethods(), equalTo(Arrays.asList(conditionMethod))); assertThat(ruleDefinition.getDescription(), equalTo("Some Description")); assertThat(ruleDefinition.getFireCondition(), equalTo(fireCondition)); assertThat((Class) ruleDefinition.getImplementation(), equalTo((Class) RuleA.class)); assertThat(ruleDefinition.getName(), equalTo("SomeName")); assertThat(ruleDefinition.getSessionVariableInjections(), empty()); assertThat(ruleDefinition.getTagInjections(), equalTo(Arrays.asList(tagInjection))); }
@Test @SuppressWarnings("rawtypes") public void emptyConditionMethods() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Collections.<ConditionMethod> emptyList()); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); RuleDefinition ruleDefinition = builder.build(); assertThat(ruleDefinition.getActionMethod(), equalTo(actionMethod)); assertThat(ruleDefinition.getConditionMethods(), empty()); assertThat(ruleDefinition.getDescription(), equalTo("Some Description")); assertThat(ruleDefinition.getFireCondition(), equalTo(fireCondition)); assertThat((Class) ruleDefinition.getImplementation(), equalTo((Class) RuleA.class)); assertThat(ruleDefinition.getName(), equalTo("SomeName")); assertThat(ruleDefinition.getSessionVariableInjections(), equalTo(Arrays.asList(sessionVariableInjection))); assertThat(ruleDefinition.getTagInjections(), equalTo(Arrays.asList(tagInjection))); }
@Test @SuppressWarnings("rawtypes") public void missingDescription() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); RuleDefinition ruleDefinition = builder.build(); assertThat(ruleDefinition.getActionMethod(), equalTo(actionMethod)); assertThat(ruleDefinition.getConditionMethods(), equalTo(Arrays.asList(conditionMethod))); assertThat(ruleDefinition.getDescription(), equalTo(RuleDefinition.EMPTY_DESCRIPTION)); assertThat(ruleDefinition.getFireCondition(), equalTo(fireCondition)); assertThat((Class) ruleDefinition.getImplementation(), equalTo((Class) RuleA.class)); assertThat(ruleDefinition.getName(), equalTo("SomeName")); assertThat(ruleDefinition.getSessionVariableInjections(), equalTo(Arrays.asList(sessionVariableInjection))); assertThat(ruleDefinition.getTagInjections(), equalTo(Arrays.asList(tagInjection))); }
@Test @SuppressWarnings("rawtypes") public void missingName() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); RuleDefinition ruleDefinition = builder.build(); assertThat(ruleDefinition.getActionMethod(), equalTo(actionMethod)); assertThat(ruleDefinition.getConditionMethods(), equalTo(Arrays.asList(conditionMethod))); assertThat(ruleDefinition.getDescription(), equalTo("Some Description")); assertThat(ruleDefinition.getFireCondition(), equalTo(fireCondition)); assertThat((Class) ruleDefinition.getImplementation(), equalTo((Class) RuleA.class)); assertThat(ruleDefinition.getName(), equalTo(RuleA.class.getCanonicalName())); assertThat(ruleDefinition.getSessionVariableInjections(), equalTo(Arrays.asList(sessionVariableInjection))); assertThat(ruleDefinition.getTagInjections(), equalTo(Arrays.asList(tagInjection))); }
@Test(expectedExceptions = { IllegalStateException.class }) public void emptyTagInjections() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Collections.<TagInjection> emptyList()); builder.build(); } }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingSessionVariables() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setTagInjections(Arrays.asList(tagInjection)); builder.build(); }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingActionMethod() { builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); builder.build(); }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingTagInjections() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.build(); }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingConditionMethods() { builder.setActionMethod(actionMethod); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); builder.build(); }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingImplementation() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setFireCondition(fireCondition); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); builder.build(); }
@Test(expectedExceptions = { IllegalStateException.class }) public void missingFireCondition() { builder.setActionMethod(actionMethod); builder.setConditionMethods(Arrays.asList(conditionMethod)); builder.setDescription("Some Description"); builder.setImplementation(RuleA.class); builder.setName("SomeName"); builder.setSessionVariableInjections(Arrays.asList(sessionVariableInjection)); builder.setTagInjections(Arrays.asList(tagInjection)); builder.build(); }