From 5c62ab7cb6385908a9e50303cdb085bf92dcee66 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Tue, 26 Mar 2019 08:51:30 +0100 Subject: [PATCH] OO-3988: add some unit tests --- .../manager/ReminderRulesXStream.java | 4 ++ .../manager/ReminderRulesXStreamTest.java | 54 +++++++++++++++++++ .../reminder/manager/reminder_rules_1.xml | 20 +++++++ .../java/org/olat/test/AllTestsJunit4.java | 2 + 4 files changed, 80 insertions(+) create mode 100644 src/test/java/org/olat/modules/reminder/manager/ReminderRulesXStreamTest.java create mode 100644 src/test/java/org/olat/modules/reminder/manager/reminder_rules_1.xml diff --git a/src/main/java/org/olat/modules/reminder/manager/ReminderRulesXStream.java b/src/main/java/org/olat/modules/reminder/manager/ReminderRulesXStream.java index 317a2cdc3a0..72222603459 100644 --- a/src/main/java/org/olat/modules/reminder/manager/ReminderRulesXStream.java +++ b/src/main/java/org/olat/modules/reminder/manager/ReminderRulesXStream.java @@ -48,6 +48,10 @@ public class ReminderRulesXStream { return (ReminderRules)ruleXStream.fromXML(rulesXml); } + public static ReminderRules toRules(InputStream in) { + return (ReminderRules)ruleXStream.fromXML(in); + } + public static String toXML(ReminderRules rules) { return ruleXStream.toXML(rules); } diff --git a/src/test/java/org/olat/modules/reminder/manager/ReminderRulesXStreamTest.java b/src/test/java/org/olat/modules/reminder/manager/ReminderRulesXStreamTest.java new file mode 100644 index 00000000000..1b153b31cbc --- /dev/null +++ b/src/test/java/org/olat/modules/reminder/manager/ReminderRulesXStreamTest.java @@ -0,0 +1,54 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.reminder.manager; + +import java.io.IOException; +import java.io.InputStream; + +import org.junit.Assert; +import org.junit.Test; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.modules.reminder.model.ReminderRules; + +/** + * + * Initial date: 26 mars 2019<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class ReminderRulesXStreamTest { + + private static final OLog log = Tracing.createLoggerFor(ReminderRulesXStreamTest.class); + + @Test + public void readXml() { + ReminderRules reminderRules = null; + try(InputStream input=ReminderRulesXStreamTest.class.getResourceAsStream("reminder_rules_1.xml")) { + reminderRules = ReminderRulesXStream.toRules(input); + } catch(IOException e) { + log.error("", e); + } + + Assert.assertNotNull(reminderRules); + Assert.assertNotNull(reminderRules.getRules()); + Assert.assertEquals(3, reminderRules.getRules().size()); + } +} diff --git a/src/test/java/org/olat/modules/reminder/manager/reminder_rules_1.xml b/src/test/java/org/olat/modules/reminder/manager/reminder_rules_1.xml new file mode 100644 index 00000000000..f6afabd98f4 --- /dev/null +++ b/src/test/java/org/olat/modules/reminder/manager/reminder_rules_1.xml @@ -0,0 +1,20 @@ +<rules> + <rules> + <rule> + <type>DateRuleSPI</type> + <operator>></operator> + <rightOperand>2015-05-13T00:00:00</rightOperand> + </rule> + <rule> + <type>BusinessGroupRoleRuleSPI</type> + <operator>=</operator> + <rightOperand>128286721</rightOperand> + </rule> + <rule> + <type>PassedRuleSPI</type> + <leftOperand>91610795686842</leftOperand> + <operator>=</operator> + <rightOperand>passed</rightOperand> + </rule> + </rules> +</rules> \ No newline at end of file diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index f3b064a60ff..9918067f4b9 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -210,6 +210,7 @@ import org.junit.runners.Suite; org.olat.modules.reminder.ReminderModuleTest.class, org.olat.modules.reminder.manager.ReminderDAOTest.class, org.olat.modules.reminder.manager.ReminderRuleEngineTest.class, + org.olat.modules.reminder.manager.ReminderRulesXStreamTest.class, org.olat.modules.taxonomy.manager.TaxonomyDAOTest.class, org.olat.modules.taxonomy.manager.TaxonomyLevelDAOTest.class, org.olat.modules.taxonomy.manager.TaxonomyLevelTypeDAOTest.class, @@ -329,6 +330,7 @@ import org.junit.runners.Suite; org.olat.restapi.NotificationsSubscribersTest.class, org.olat.restapi.RepositoryEntryLifecycleTest.class, org.olat.restapi.RepositoryEntriesTest.class, + org.olat.restapi.RemindersWebServiceTest.class, org.olat.restapi.RepositoryEntryResourceTest.class, org.olat.restapi.RestApiLoginFilterTest.class, org.olat.restapi.UserAuthenticationMgmtTest.class, -- GitLab