/* * © 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 java.util.Date; import org.junit.Assert; import org.junit.Test; import com.ibm.commons.xml.XMLException; import com.ibm.sbt.services.client.ClientServicesException; import com.ibm.sbt.services.client.connections.activities.serializers.ActivitySerializer; import com.ibm.sbt.services.client.connections.common.Link; import com.ibm.sbt.services.client.connections.common.Person; import com.ibm.sbt.test.lib.TestEnvironment; /** * @author mwallace * */ public class ActivityFieldCrudrTest extends BaseActivityServiceTest { @Test @org.junit.Ignore("Issue with Mime Depdency") public void testCreateDateField() throws ClientServicesException, XMLException { Activity activity = createActivity(); Date date = new Date(); date.setTime(1397650699000L); DateField dateField = new DateField(); dateField.setName("test_date"); dateField.setPosition(1000); dateField.setDate(date); activity.addField(dateField); activity.update(); //ActivitySerializer serializer = new ActivitySerializer(activity); //System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); //System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(1, fields.length); Assert.assertTrue(fields[0] instanceof DateField); Assert.assertEquals("test_date", ((DateField)fields[0]).getName()); Assert.assertEquals(1000, ((DateField)fields[0]).getPosition()); Assert.assertNotNull(((DateField)fields[0]).getDate()); //Assert.assertEquals(dateFormat.format(date), dateFormat.format(((DateField)fields[0]).getDate())); //Assert.assertEquals(date.getTime(), ((DateField)fields[0]).getDate().getTime()); } @Test @org.junit.Ignore("Issue with Mime Depdency") public void createTextField() throws ClientServicesException, XMLException { Activity activity = createActivity(); TextField textField = new TextField(); textField.setName("test_text"); textField.setPosition(1000); textField.setSummary("Test_Text_Field"); activity.addField(textField); activity.update(); ActivitySerializer serializer = new ActivitySerializer(activity); System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(1, fields.length); Assert.assertTrue(fields[0] instanceof TextField); Assert.assertEquals("test_text", ((TextField)fields[0]).getName()); Assert.assertEquals(1000, ((TextField)fields[0]).getPosition()); Assert.assertEquals("Test_Text_Field", ((TextField)fields[0]).getSummary()); } @Test @org.junit.Ignore("Issue with Mime Depdency") public void createHiddenTextField() throws ClientServicesException, XMLException { Activity activity = createActivity(); TextField textField = new TextField(); textField.setName("test_hidden_text"); textField.setPosition(1000); textField.setSummary("Hidden_Text_Field"); textField.setHidden(true); activity.addField(textField); activity.update(); ActivitySerializer serializer = new ActivitySerializer(activity); System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(1, fields.length); Assert.assertTrue(fields[0] instanceof TextField); Assert.assertTrue(((TextField)fields[0]).isHidden()); Assert.assertEquals("test_hidden_text", ((TextField)fields[0]).getName()); Assert.assertEquals(1000, ((TextField)fields[0]).getPosition()); Assert.assertEquals("Hidden_Text_Field", ((TextField)fields[0]).getSummary()); } @Test @org.junit.Ignore("Issue with Mime Depdency") public void createLinkField() throws ClientServicesException, XMLException { Activity activity = createActivity(); LinkField linkField = new LinkField(); linkField.setName("test_link"); linkField.setPosition(1000); linkField.setLink(new Link("IBM", "http://www.ibm.com")); activity.addField(linkField); activity.update(); ActivitySerializer serializer = new ActivitySerializer(activity); System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(1, fields.length); Assert.assertTrue(fields[0] instanceof LinkField); Assert.assertEquals("test_link", ((LinkField)fields[0]).getName()); Assert.assertEquals(1000, ((LinkField)fields[0]).getPosition()); Assert.assertEquals("IBM", ((LinkField)fields[0]).getLink().getTitle()); Assert.assertEquals("http://www.ibm.com", ((LinkField)fields[0]).getLink().getHref()); } @Test @org.junit.Ignore("Issue with Mime Depdency") public void createPersonField() throws ClientServicesException, XMLException { Activity activity = createActivity(); String name = getMemberName(); String email = getMemberEmail(); String userid = getMemberId(); PersonField personField = new PersonField(); personField.setName("test_person"); personField.setPosition(1000); personField.setPerson(new Person(name, email, userid)); activity.addField(personField); activity.update(); ActivitySerializer serializer = new ActivitySerializer(activity); System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(1, fields.length); Assert.assertEquals(PersonField.class.getName(), fields[0].getClass().getName()); Assert.assertEquals("test_person", ((PersonField)fields[0]).getName()); Assert.assertEquals(1000, ((PersonField)fields[0]).getPosition()); Assert.assertEquals(name, ((PersonField)fields[0]).getPerson().getName()); //Assert.assertEquals(email, ((PersonField)fields[0]).getPerson().getEmail()); Assert.assertEquals(userid, ((PersonField)fields[0]).getPerson().getUserid()); Assert.assertNotNull(((PersonField)fields[0]).getPerson().getUserState()); } @Test @org.junit.Ignore("Issue with Mime Depdency") public void createDuplicateNameField() throws ClientServicesException, XMLException { Activity activity = createActivity(); TextField textField1 = new TextField(); textField1.setName("test_text"); textField1.setPosition(1000); textField1.setSummary("Test_Text_Field1"); TextField textField2 = new TextField(); textField2.setName("test_text"); textField2.setPosition(1000); textField2.setSummary("Test_Text_Field2"); activity.addField(textField1); activity.addField(textField2); activity.update(); ActivitySerializer serializer = new ActivitySerializer(activity); System.out.println(serializer.generateUpdate()); Activity read = activity.getActivityService().getActivity(activity.getActivityUuid()); System.out.println(read.toXmlString()); Field[] fields = read.getFields(); Assert.assertNotNull(fields); Assert.assertEquals(2, fields.length); Assert.assertTrue(fields[0] instanceof TextField); Assert.assertEquals("test_text", ((TextField)fields[0]).getName()); Assert.assertEquals(1000, ((TextField)fields[0]).getPosition()); Assert.assertEquals("Test_Text_Field1", ((TextField)fields[0]).getSummary()); Assert.assertTrue(fields[1] instanceof TextField); Assert.assertEquals("test_text", ((TextField)fields[1]).getName()); Assert.assertEquals(1000, ((TextField)fields[1]).getPosition()); Assert.assertEquals("Test_Text_Field2", ((TextField)fields[1]).getSummary()); } }