Package com.ibm.sbt.services.client.connections.activities

Source Code of com.ibm.sbt.services.client.connections.activities.ActivityFeedMoveTest

/*
* (C) Copyright IBM Corp. 2014
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.ibm.sbt.services.client.connections.activities;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.Date;

import org.junit.Test;

import com.ibm.commons.xml.XMLException;
import com.ibm.sbt.security.authentication.AuthenticationException;
import com.ibm.sbt.services.client.ClientServicesException;
import com.ibm.sbt.services.client.connections.common.Member;
import com.ibm.sbt.services.endpoints.BasicEndpoint;
import com.ibm.sbt.test.lib.TestEnvironment;

/**
* @author mwallace
*
*/
public class ActivityFeedMoveTest extends BaseActivityServiceTest {
    @Test
    public void testMoveField() throws ClientServicesException, XMLException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode todoNode = createActivityNode();
        todoNode.setActivityUuid(activity.getActivityUuid());
        todoNode.setTitle("Destination ActivityNode");
        todoNode.setType("TODO");
        activityService.createActivityNode(todoNode);

        ActivityNode sectionNode = createActivityNode();
        sectionNode.setActivityUuid(activity.getActivityUuid());
        sectionNode.setTitle("Destination ActivityNode");
        sectionNode.setType("SECTION");
        activityService.createActivityNode(sectionNode);

        entryNode = activityService.moveNode(entryNode.getActivityNodeUuid(), todoNode.getActivityNodeUuid());
        entryNode = activityService.moveNode(entryNode.getActivityNodeUuid(),
                sectionNode.getActivityNodeUuid());
        todoNode = activityService
                .moveNode(todoNode.getActivityNodeUuid(), sectionNode.getActivityNodeUuid());
    }
   
    @Test
    public void testMoveFieldChangeActivity() throws ClientServicesException, XMLException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        Activity activityb;
        activityb = new Activity();
        activityb.setTitle(createActivityTitle());
        activityb = activityService.createActivity(activityb);
       
       
        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode todoNode = createActivityNode();
        todoNode.setActivityUuid(activity.getActivityUuid());
        todoNode.setTitle("Destination ActivityNode");
        todoNode.setType("TODO");
        activityService.createActivityNode(todoNode);

        ActivityNode sectionNode = createActivityNode();
        sectionNode.setActivityUuid(activity.getActivityUuid());
        sectionNode.setTitle("Destination ActivityNode");
        sectionNode.setType("SECTION");
        activityService.createActivityNode(sectionNode);

        entryNode = activityService.moveNode(entryNode.getActivityNodeUuid(), activityb.getActivityUuid());
        sectionNode = activityService.moveNode(sectionNode.getActivityNodeUuid(), activityb.getActivityUuid());
        todoNode = activityService.moveNode(todoNode.getActivityNodeUuid(), activityb.getActivityUuid());
    }

    @Test
    public void testMoveFieldToItself() throws ClientServicesException, XMLException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        try {
            entryNode = activityService.moveNode(entryNode.getActivityNodeUuid(),
                    entryNode.getActivityNodeUuid());
        } catch (ClientServicesException ex) {
            assertEquals(400, ex.getResponseStatusCode());
            return;
        }
        fail();
    }

    @Test
    public void testMoveSection() throws ClientServicesException, XMLException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode sectionNode = createActivityNode();
        sectionNode.setActivityUuid(activity.getActivityUuid());
        sectionNode.setTitle("Destination ActivityNode");
        sectionNode.setType("SECTION");
        activityService.createActivityNode(sectionNode);

        try {
            entryNode = activityService.moveNode(sectionNode.getActivityNodeUuid(),
                    entryNode.getActivityNodeUuid());
        } catch (ClientServicesException ex) {
            assertEquals(400, ex.getResponseStatusCode());
            return;
        }
        fail();
    }

    @Test
    public void testNotFound() throws ClientServicesException, XMLException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        try {
            activityService.moveNode("1234", activity.getActivityUuid());
        } catch (ClientServicesException ex) {
            assertEquals(404, ex.getResponseStatusCode());
            return;
        }
        fail();
    }

    @Test
    public void testNotAuthorized() throws ClientServicesException, XMLException, AuthenticationException {
        // Create activity nodes

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        activityService.getEndpoint().logout();
        ((BasicEndpoint) activityService.getEndpoint()).login(TestEnvironment.getSecondaryUsername(),
                TestEnvironment.getSecondaryUserPassword());

        try {
            activityService.moveNode(entryNode.getActivityNodeUuid(), activity.getActivityUuid());
        } catch (ClientServicesException ex) {
          ex.printStackTrace();
            assertEquals(403, ex.getResponseStatusCode());
            return;
        } finally {
            activityService.getEndpoint().logout();
            ((BasicEndpoint) activityService.getEndpoint()).login(TestEnvironment.getCurrentUsername(),
                    TestEnvironment.getCurrentUserPassword());
        }
        fail();
    }
   
    @Test
    public void testMoveReplyThread() throws ClientServicesException{
        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Entry ActivityNode A");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode replyNode = createActivityNode();
        replyNode.setActivityUuid(activity.getActivityUuid());
        replyNode.setTitle("Reply ActivityNode 1A");
        replyNode.setType("REPLY");
        replyNode.setInReplyTo(entryNode);
        activityService.createActivityNode(replyNode);

        ActivityNode replyNode2 = createActivityNode();
        replyNode2.setActivityUuid(activity.getActivityUuid());
        replyNode2.setTitle("Reply ActivityNode 2A");
        replyNode2.setType("REPLY");
        replyNode2.setInReplyTo(replyNode);
        activityService.createActivityNode(replyNode2);

        ActivityNode replyNode3 = createActivityNode();
        replyNode3.setActivityUuid(activity.getActivityUuid());
        replyNode3.setTitle("Reply ActivityNode 3A");
        replyNode3.setType("REPLY");
        replyNode3.setInReplyTo(replyNode2);
        activityService.createActivityNode(replyNode3);

        ActivityNode replyNode4 = createActivityNode();
        replyNode4.setActivityUuid(activity.getActivityUuid());
        replyNode4.setTitle("Reply ActivityNode 4A");
        replyNode4.setType("REPLY");
        replyNode4.setInReplyTo(replyNode3);
        activityService.createActivityNode(replyNode4);

        Activity activityB = new Activity();
        activityB.setTitle(createActivityTitle());
        activityB = activityService.createActivity(activityB);

        ActivityNode entryNodeB = new ActivityNode();
        entryNodeB.setActivityUuid(activityB.getActivityUuid());
        entryNodeB.setTitle("Entry ActivityNode B");
        entryNodeB.setType("ENTRY");
        activityService.createActivityNode(entryNodeB);

        ActivityNode replyNodeB = createActivityNode();
        replyNodeB.setActivityUuid(activityB.getActivityUuid());
        replyNodeB.setTitle("Reply ActivityNode 1B");
        replyNodeB.setType("REPLY");
        replyNodeB.setInReplyTo(entryNodeB);
        activityService.createActivityNode(replyNodeB);

        ActivityNode replyNode2B = createActivityNode();
        replyNode2B.setActivityUuid(activityB.getActivityUuid());
        replyNode2B.setTitle("Reply ActivityNode 2B");
        replyNode2B.setType("REPLY");
        replyNode2B.setInReplyTo(replyNodeB);
        activityService.createActivityNode(replyNode2B);

        ActivityNode replyNode3B = createActivityNode();
        replyNode3B.setActivityUuid(activityB.getActivityUuid());
        replyNode3B.setTitle("Reply ActivityNode 3B");
        replyNode3B.setType("REPLY");
        replyNode3B.setInReplyTo(replyNode2B);
        activityService.createActivityNode(replyNode3B);

        ActivityNode replyNode4B = createActivityNode();
        replyNode4B.setActivityUuid(activityB.getActivityUuid());
        replyNode4B.setTitle("Reply ActivityNode 4B");
        replyNode4B.setType("REPLY");
        replyNode4B.setInReplyTo(replyNode3B);
        activityService.createActivityNode(replyNode4B);

        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(), replyNode4B.getActivityNodeUuid());
       
        ActivityNode threadNode = activityService.getActivityNode(replyNode4.getActivityNodeUuid());
        assertEquals(replyNode4.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 4A", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode3.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 3A", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode2.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 2A", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 1A", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode4B.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 4B", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode3B.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 3B", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNode2B.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 2B", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(replyNodeB.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Reply ActivityNode 1B", threadNode.getTitle());

        threadNode = activityService.getActivityNode(threadNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        assertEquals(entryNodeB.getActivityNodeUuid(), threadNode.getActivityNodeUuid());
        assertEquals("Entry ActivityNode B", threadNode.getTitle());
     
    if (activityB != null) {
      try {
        activityService.deleteActivity(activityB);
      } catch (Exception e) {
      }
    }
    }
   
    @Test
    public void testMoveReply() throws ClientServicesException, XMLException {

        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode todoNode = createActivityNode();
        todoNode.setActivityUuid(activity.getActivityUuid());
        todoNode.setTitle("Destination ActivityNode");
        todoNode.setType("TODO");
        activityService.createActivityNode(todoNode);

        ActivityNode replyNode = createActivityNode();
        replyNode.setActivityUuid(activity.getActivityUuid());
        replyNode.setTitle("Destination ActivityNode");
        replyNode.setType("REPLY");
        replyNode.setInReplyTo(entryNode);
        activityService.createActivityNode(replyNode);

        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(), activity.getActivityUuid());

        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(),
                todoNode.getActivityNodeUuid());
        assertEquals(todoNode.getActivityNodeUuid(),
                replyNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));
        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(),
                entryNode.getActivityNodeUuid());
        assertEquals(todoNode.getActivityNodeUuid(),
                replyNode.getInReplyTo().getHref().replaceAll(".*Uuid=", ""));

    }

    @Test
    public void testMoveReplyAdvanced() throws ClientServicesException, XMLException {
        activity = new Activity();
        activity.setTitle(createActivityTitle());
        activity = activityService.createActivity(activity);

        ActivityNode entryNode = new ActivityNode();
        entryNode.setActivityUuid(activity.getActivityUuid());
        entryNode.setTitle("Source ActivityNode");
        entryNode.setType("ENTRY");
        activityService.createActivityNode(entryNode);

        ActivityNode todoNode = createActivityNode();
        todoNode.setActivityUuid(activity.getActivityUuid());
        todoNode.setTitle("Destination ActivityNode");
        todoNode.setType("TODO");
        activityService.createActivityNode(todoNode);

        ActivityNode replyNode = createActivityNode();
        replyNode.setActivityUuid(activity.getActivityUuid());
        replyNode.setTitle("Destination ActivityNode");
        replyNode.setType("REPLY");
        replyNode.setInReplyTo(entryNode);
        activityService.createActivityNode(replyNode);

        ActivityNode replyNode2 = createActivityNode();
        replyNode2.setActivityUuid(activity.getActivityUuid());
        replyNode2.setTitle("Destination ActivityNode");
        replyNode2.setType("REPLY");
        replyNode2.setInReplyTo(replyNode);

        activityService.createActivityNode(replyNode2);
        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(),
                todoNode.getActivityNodeUuid());

        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(),
                entryNode.getActivityNodeUuid());
        replyNode2 = activityService.moveNode(replyNode2.getActivityNodeUuid(),
                entryNode.getActivityNodeUuid());
        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(),
                replyNode2.getActivityNodeUuid());

        replyNode = activityService.getActivityNode(replyNode.getActivityNodeUuid());
        replyNode2 = activityService.getActivityNode(replyNode2.getActivityNodeUuid());

        replyNode = activityService.moveNode(replyNode.getActivityNodeUuid(), activity.getActivityUuid());
    }

  @Test
  public void testMoveNodeACL() throws ClientServicesException {
    Activity activityA = new Activity();
    activityA.setTitle(createActivityTitle());
    activityA = activityService.createActivity(activityA);

    Activity activityB = new Activity();
    activityB.setTitle(createActivityTitle());
    activityB = activityService.createActivity(activityB);

    String memberId = getMemberId();
    Member member = activityB.addMember("person", memberId, "owner");

    ActivityNode srcActivityNode = new ActivityNode();
    srcActivityNode.setActivityUuid(activityA.getActivityUuid());
    srcActivityNode.setTitle("Source ActivityNode");
    srcActivityNode.setType("ENTRY");

    // Field 1
    TextField textField = new TextField();
    textField.setName("test_text");
    textField.setPosition(1000);
    textField.setSummary("Test_Text_Field");

    // Field 2
    Date date = new Date();
    date.setTime(1397650699000L);
    DateField dateField = new DateField();
    dateField.setName("test_date");
    dateField.setPosition(2000);
    dateField.setDate(date);
   
    // Field 3
    TextField hiddenTextField = new TextField();
    hiddenTextField.setName("test_hidden_text");
    hiddenTextField.setPosition(3000);
    hiddenTextField.setSummary("Hidden_Text_Field");
    hiddenTextField.setHidden(true);

    srcActivityNode.addField(textField);
    srcActivityNode.addField(hiddenTextField);
    srcActivityNode.addField(dateField);

    srcActivityNode = activityService.createActivityNode(srcActivityNode);
   
    int numFields = srcActivityNode.getFields().length;

    activityService.moveNode(srcActivityNode.getActivityNodeUuid(), activityB.getActivityUuid());

    BasicEndpoint endpoint = (BasicEndpoint)activityService.getEndpoint();
    try {
      endpoint.logout();
      endpoint.login(TestEnvironment.getSecondaryUserEmail(), TestEnvironment.getSecondaryUserPassword());
    } catch (AuthenticationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    ActivityNode read = activityService.getActivityNode(srcActivityNode.getActivityNodeUuid());
    assertNotNull(read);

    Field movedTextField = read.getFieldByName(textField.getName());
    assertTrue(movedTextField instanceof TextField);
    assertEquals("test_text", movedTextField.getName());
    assertEquals(1000, ((TextField)movedTextField).getPosition());
    assertEquals("Test_Text_Field", ((TextField)movedTextField).getSummary());

    // Check date field
    Field movedDateField = read.getFieldByName(dateField.getName());
    assertTrue(movedDateField instanceof DateField);
    assertEquals("test_date", ((DateField)movedDateField).getName());
    assertEquals(2000, ((DateField)movedDateField).getPosition());
    assertNotNull(((DateField)movedDateField).getDate());
   
    // Check hidden text field
    Field movedHiddenTextField = read.getFieldByName(hiddenTextField.getName());
    assertTrue(movedHiddenTextField instanceof TextField);
    assertTrue(((TextField)movedHiddenTextField).isHidden());
    assertEquals("test_hidden_text", ((TextField)movedHiddenTextField).getName());
    assertEquals(3000, ((TextField)movedHiddenTextField).getPosition());
    assertEquals("Hidden_Text_Field", ((TextField)movedHiddenTextField).getSummary());
  }

}
TOP

Related Classes of com.ibm.sbt.services.client.connections.activities.ActivityFeedMoveTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.