This is an automated email from the ASF dual-hosted git repository.

taybou pushed a commit to branch IT-draft
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 5c4430cff79808eaa7120ddf251391e543110c39
Author: Taybou <[email protected]>
AuthorDate: Thu Apr 1 12:45:22 2021 +0200

    WIP IT
---
 itests/pom.xml                                     |   2 +-
 .../apache/unomi/itests/IncrementInterestsIT.java  | 216 +++++++++------------
 2 files changed, 90 insertions(+), 128 deletions(-)

diff --git a/itests/pom.xml b/itests/pom.xml
index 4356471..c022536 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -169,7 +169,7 @@
                         <groupId>com.github.alexcojocaru</groupId>
                         <artifactId>elasticsearch-maven-plugin</artifactId>
                         <!-- REPLACE THE FOLLOWING WITH THE PLUGIN VERSION YOU 
NEED -->
-                        <version>6.16</version>
+                        <version>6.19</version>
                         <configuration>
                             
<clusterName>contextElasticSearchITests</clusterName>
                             <transportPort>9500</transportPort>
diff --git 
a/itests/src/test/java/org/apache/unomi/itests/IncrementInterestsIT.java 
b/itests/src/test/java/org/apache/unomi/itests/IncrementInterestsIT.java
index 85b63a0..ada4104 100644
--- a/itests/src/test/java/org/apache/unomi/itests/IncrementInterestsIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/IncrementInterestsIT.java
@@ -33,7 +33,9 @@ import org.apache.unomi.api.services.EventService;
 import org.apache.unomi.api.services.ProfileService;
 import org.apache.unomi.api.services.RulesService;
 import org.apache.unomi.api.services.TopicService;
+import org.junit.After;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.PaxExam;
@@ -45,10 +47,7 @@ import static org.apache.unomi.itests.BasicIT.ITEM_TYPE_PAGE;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerSuite.class)
-public class IncrementInterestsIT
-    extends BaseIT
-{
-
+public class IncrementInterestsIT extends BaseIT {
     @Inject
     @Filter(timeout = 600000)
     protected ProfileService profileService;
@@ -69,168 +68,131 @@ public class IncrementInterestsIT
     @Filter(timeout = 600000)
     protected DefinitionsService definitionsService;
 
-    @Test
-    @SuppressWarnings("unchecked")
-    public void test()
-        throws InterruptedException
-    {
-        final Topic topic = createTopic( "topicId" );
-        final Profile profile = createProfile();
-
-        final Map<String, Double> interestsAsMap = new HashMap<>();
-        interestsAsMap.put( topic.getTopicId(), 50.0 );
-        interestsAsMap.put( "unknown", 10.0 );
-
-        final Event event = createEvent( profile, interestsAsMap );
-
-        try
-        {
-            int eventCode = eventService.send( event );
-
-            if ( eventCode == EventService.PROFILE_UPDATED )
-            {
-                Profile updatedProfile = profileService.save( 
event.getProfile() );
-
-                refreshPersistence();
-
-                Map<String, Double> interests = (Map<String, Double>) 
updatedProfile.getProperty( "interests" );
-
-                Assert.assertEquals( 0.5, interests.get( topic.getTopicId() ), 
0.0 );
-                Assert.assertFalse( interests.containsKey( "unknown" ) );
-            }
-            else
-            {
-                throw new IllegalStateException( "Profile was not updated" );
-            }
-        }
-        finally
-        {
-            topicService.delete( topic.getItemId() );
-            profileService.delete( profile.getItemId(), false );
-        }
+    private Profile profile;
+    private Rule rule;
+    private Topic topic;
+
+    @Before
+    public void setup() throws Exception {
+        topic = createTopic("topicId");
+        profile = createProfile();
+        rule = new Rule();
+    }
+
+    @After
+    public void tearDown() {
+        rulesService.removeRule(rule.getItemId());
+        profileService.delete(profile.getItemId(), false);
     }
 
     @Test
-    @SuppressWarnings("unchecked")
-    public void testAction()
-        throws InterruptedException
-    {
-        final Topic topic = createTopic( "topicId" );
-        final Profile profile = createProfile();
+    public void test() throws InterruptedException {
+        Map<String, Double> interestsAsMap = new HashMap<>();
+        interestsAsMap.put(topic.getTopicId(), 50.0);
+        interestsAsMap.put("unknown", 10.0);
 
-        final Action incrementAction = new Action( 
definitionsService.getActionType( "incrementInterestAction" ) );
-        incrementAction.setParameter( "eventInterestProperty", 
"eventProperty::target.properties.interests" );
+        Event event = createEvent(profile, interestsAsMap);
 
-        final Condition condition = new Condition( 
definitionsService.getConditionType( "eventTypeCondition" ) );
-        condition.setParameter( "eventTypeId", "view" );
+        int eventCode = eventService.send(event);
 
-        final String itemId = UUID.randomUUID().toString();
+        if (eventCode == EventService.PROFILE_UPDATED) {
+            Profile updatedProfile = profileService.save(event.getProfile());
 
-        final Metadata metadata = new Metadata();
-        metadata.setId( itemId );
-        metadata.setName( itemId );
-        metadata.setDescription( itemId );
-        metadata.setEnabled( true );
-        metadata.setScope( "systemscope" );
+            Map<String, Double> interests = (Map<String, Double>) 
updatedProfile.getProperty("interests");
 
-        final Rule rule = new Rule();
+            Assert.assertEquals(0.5, interests.get(topic.getTopicId()), 0.0);
+            Assert.assertFalse(interests.containsKey("unknown"));
+        } else {
+            Assert.fail("Profile was not updated");
+        }
+    }
 
-        rule.setCondition( condition );
-        List<Action> actions = new ArrayList<>();
-        actions.add(incrementAction);
-        rule.setActions( actions );
-        rule.setMetadata( metadata );
+    @Test
+    public void testAction() throws InterruptedException {
+        Action incrementAction = new 
Action(definitionsService.getActionType("incrementInterestAction"));
+        incrementAction.setParameter("eventInterestProperty", 
"eventProperty::target.properties.interests");
 
-        rulesService.setRule( rule );
+        Condition condition = new 
Condition(definitionsService.getConditionType("eventTypeCondition"));
+        condition.setParameter("eventTypeId", "view");
 
-        keepTrying( "Failed waiting for the creation of the rule for the 
IncrementInterestsIT test",
-                    () -> rulesService.getRule( rule.getItemId() ), 
Objects::nonNull, 1000, 100 );
+        String itemId = UUID.randomUUID().toString();
 
-        final Map<String, Double> interestsAsMap = new HashMap<>();
-        interestsAsMap.put( topic.getTopicId(), 50.0 );
-        interestsAsMap.put( "unknown", 10.0 );
+        Metadata metadata = new Metadata();
+        metadata.setId(itemId);
+        metadata.setName(itemId);
+        metadata.setDescription(itemId);
+        metadata.setEnabled(true);
+        metadata.setScope("systemscope");
 
-        final Map<String, Object> properties = new HashMap<>();
+        rule.setCondition(condition);
+        List<Action> actions = new ArrayList<>();
+        actions.add(incrementAction);
+        rule.setActions(actions);
+        rule.setMetadata(metadata);
 
-        properties.put( "interests", interestsAsMap );
+        rulesService.setRule(rule);
+        refreshPersistence();
 
-        final CustomItem item = new CustomItem( "page", ITEM_TYPE_PAGE );
-        item.setProperties( properties );
+        Map<String, Double> interestsAsMap = new HashMap<>();
+        interestsAsMap.put(topic.getTopicId(), 50.0);
+        interestsAsMap.put("unknown", 10.0);
 
-        final Event event = new Event( "view", null, profile, null, null, 
item, new Date() );
-        event.setPersistent( false );
+        Map<String, Object> properties = new HashMap<>();
 
-        try
-        {
-            int eventCode = eventService.send( event );
+        properties.put("interests", interestsAsMap);
 
-            if ( eventCode == EventService.PROFILE_UPDATED )
-            {
-                Profile updatedProfile = profileService.save( 
event.getProfile() );
+        CustomItem item = new CustomItem("page", ITEM_TYPE_PAGE);
+        item.setProperties(properties);
 
-                refreshPersistence();
+        Event event = new Event("view", null, profile, null, null, item, new 
Date());
+        event.setPersistent(false);
 
-                Map<String, Double> interests = (Map<String, Double>) 
updatedProfile.getProperty( "interests" );
+        int eventCode = eventService.send(event);
 
-                Assert.assertEquals( 0.5, interests.get( topic.getTopicId() ), 
0.0 );
-                Assert.assertFalse( interests.containsKey( "unknown" ) );
-            }
-            else
-            {
-                throw new IllegalStateException( "Profile was not updated" );
-            }
-        }
-        finally
-        {
-            rulesService.removeRule( rule.getItemId() );
+        if (eventCode == EventService.PROFILE_UPDATED) {
+            Profile updatedProfile = profileService.save(event.getProfile());
 
-            topicService.delete( topic.getItemId() );
-            profileService.delete( profile.getItemId(), false );
+            Map<String, Double> interests = (Map<String, Double>) 
updatedProfile.getProperty("interests");
+
+            Assert.assertEquals(0.5, interests.get(topic.getTopicId()), 0.0);
+            Assert.assertFalse(interests.containsKey("unknown"));
+        } else {
+            throw new IllegalStateException("Profile was not updated");
         }
     }
 
-    private Event createEvent( Profile profile, Map<String, Double> 
interestsAsMap )
-    {
-        final Event event = new Event( "incrementInterest", null, profile, 
null, null, profile, new Date() );
+    private Event createEvent(Profile profile, Map<String, Double> 
interestsAsMap) {
+        Event event = new Event("incrementInterest", null, profile, null, 
null, profile, new Date());
 
-        event.setPersistent( false );
-        event.setProperty( "interests", interestsAsMap );
+        event.setPersistent(false);
+        event.setProperty("interests", interestsAsMap);
 
         return event;
     }
 
-    private Topic createTopic( final String topicId )
-        throws InterruptedException
-    {
-        final Topic topic = new Topic();
-
-        topic.setTopicId( topicId );
-        topic.setItemId( topicId );
-        topic.setName( "topicName" );
-        topic.setScope( "scope" );
+    private Topic createTopic(final String topicId) throws 
InterruptedException {
+        Topic topic = new Topic();
 
-        topicService.save( topic );
+        topic.setTopicId(topicId);
+        topic.setItemId(topicId);
+        topic.setName("topicName");
+        topic.setScope("scope");
 
-        keepTrying( "Failed waiting for the creation of the topic for the 
IncrementInterestsIT test",
-                    () -> topicService.load( topic.getItemId() ), 
Objects::nonNull, 1000, 100 );
+        topicService.save(topic);
+        refreshPersistence();
 
         return topic;
     }
 
-    private Profile createProfile()
-        throws InterruptedException
-    {
-        final Profile profile = new Profile( UUID.randomUUID().toString() );
+    private Profile createProfile() throws InterruptedException {
+        Profile profile = new Profile(UUID.randomUUID().toString());
 
-        profile.setProperty( "firstName", "FirstName" );
-        profile.setProperty( "lastName", "LastName" );
+        profile.setProperty("firstName", "FirstName");
+        profile.setProperty("lastName", "LastName");
 
-        profileService.save( profile );
-
-        keepTrying( "Failed waiting for the creation of the profile for the 
IncrementInterestsIT test",
-                    () -> profileService.load( profile.getItemId() ), 
Objects::nonNull, 1000, 100 );
+        profileService.save(profile);
+        refreshPersistence();
 
         return profile;
     }
-
 }

Reply via email to