/* public void testReceiveActivities() throws Exception { setUpAndStart(); protocol.resetEvents(); // request timed out protocol.mockErrorReceived(ResponseListener.REQUEST_TIMED_OUT, ServiceObject.ACTIVITY); Assert.assertEquals("Protocol", new Event[] { new Event(Event.Context.TEST, MockCommunicationManager.SEND_REQUEST, ServerRequest.GET + ":" + ServerRequest.ACTIVITIES) }, protocol.getEvents()); // receive activities ServiceObject[] serviceObjects = new ServiceObject[3]; { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); Hashtable moreinfo = new Hashtable(); moreinfo.put("network", "facebook"); ht.put("activityid", new Long(301)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Cup of tea"); ht.put("description", "Having a nice cuppa."); ht.put("time", new Long(123456)); //ht.put("store", "facebook"); ht.put("moreinfo", moreinfo); serviceObjects[0] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("timeline"); ht.put("activityid", new Long(302)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Feet"); ht.put("description", "Putting my feet up."); ht.put("time", new Long(1234)); serviceObjects[1] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("timeline"); flags.addElement("status"); ht.put("activityid", new Long(303)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Pipe"); ht.put("description", "Lighting a pipe."); ht.put("time", new Long(12345)); serviceObjects[2] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); // display friends stream Assert.assertEquals("Listener", new Event[] { new Event(Event.Context.APP, Event.App.START, null), new Event(Event.Context.CONTACTS, Event.Contacts.REFRESH_LIST, null), new Event(Event.Context.APP, Event.App.READY, null), new Event(Event.Context.ACTIVITY, Event.Activities.LIFE_DRIVE_CHANGED, new Integer(2)), new Event(Event.Context.ACTIVITY, Event.Activities.FRIENDS_STREAM_CHANGED, new Integer(2)) }, getEvents()); ListSelection ls = model.getFriendsStream(0, 20); { Activity activity = (Activity) ls.getEntries()[0]; Assert.assertEquals(301, activity.getId()); Assert.assertEquals(Activity.TYPE_CONTACT_RECEIVED_STATUS_UPDATE, activity.getType()); Assert.assertEquals(EXTERNAL_NETWORKS[1], activity.getSource()); Assert.assertEquals("Cup of tea", activity.getTitle()); Assert.assertEquals("Having a nice cuppa.", activity.getDescription()); Assert.assertEquals(123456000, activity.getTime()); } { Activity activity = (Activity) ls.getEntries()[1]; Assert.assertEquals(303, activity.getId()); } Assert.assertEquals(2, model.getLifeDrive(0, 20).getTotal()); // receive response to first request serviceObjects = new ServiceObject[1]; { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(304)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Hello"); ht.put("description", "Don't ignore me!"); ht.put("time", new Long(123)); serviceObjects[0] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); Assert.assertEquals("Listener", new Event[] { new Event(Event.Context.APP, Event.App.START, null), new Event(Event.Context.CONTACTS, Event.Contacts.REFRESH_LIST, null), new Event(Event.Context.APP, Event.App.READY, null), new Event(Event.Context.ACTIVITY, Event.Activities.LIFE_DRIVE_CHANGED, new Integer(2)), new Event(Event.Context.ACTIVITY, Event.Activities.FRIENDS_STREAM_CHANGED, new Integer(2)) }, getEvents()); Assert.assertEquals(2, model.getLifeDrive(0, 20).getTotal()); Assert.assertEquals(2, model.getFriendsStream(0, 20).getTotal()); model.exit(false); } */ public void testReceiveMoreThan50Activities() throws Exception { setUpAndStart(); // receive activities ServiceObject[] serviceObjects = new ServiceObject[71]; for (int i = 0; i < serviceObjects.length; i++) { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(i)); ht.put("flaglist", flags); ht.put("type", TYPES[i]); ht.put("title", "Title"); ht.put("description", "Description"); ht.put("time", new Long(i)); serviceObjects[i] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); // only 50 most recent are returned (message_email_received is discarded) ListSelection ls = model.getFriendsStream(0, 60); Assert.assertEquals(50, ls.getTotal()); { Activity activity = (Activity) ls.getEntries()[0]; Assert.assertEquals(70, activity.getId()); } { Activity activity = (Activity) ls.getEntries()[49]; Assert.assertEquals(20, activity.getId()); } model.exit(false); }
public void testReceiveUpdatedFriendStream() throws Exception { setUpAndStart(); protocol.resetEvents(); // receive activities ServiceObject[] serviceObjects = new ServiceObject[2]; { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(301)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "1"); ht.put("description", "No Change."); ht.put("time", new Long(12003)); serviceObjects[0] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(302)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "2a"); ht.put("description", "Before change."); ht.put("time", new Long(12002)); serviceObjects[1] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); // receive notification protocol.mockPushReceived(new APIEvent(APIEvent.STATUS_CHANGE)); Assert.assertEquals( "Protocol", new Event[] { new Event( Event.Context.TEST, MockCommunicationManager.SEND_REQUEST, ServerRequest.GET + ":" + ServerRequest.ACTIVITIES) }, protocol.getEvents()); // receive new and updated activities serviceObjects = new ServiceObject[2]; { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(302)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "2b"); ht.put("description", "After change."); ht.put("time", new Long(12002)); serviceObjects[0] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } { Hashtable ht = new Hashtable(); Vector flags = new Vector(); flags.addElement("status"); ht.put("activityid", new Long(303)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "3"); ht.put("description", "Added."); ht.put("time", new Long(12001)); serviceObjects[1] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); // display life drive Assert.assertEquals( "Listener", new Event[] { new Event(Event.Context.APP, Event.App.START, null), new Event(Event.Context.CONTACTS, Event.Contacts.REFRESH_LIST, null), new Event(Event.Context.APP, Event.App.READY, null), new Event(Event.Context.CHAT, Event.Chat.READY_FOR_INCOMING_MESSAGES, null), new Event(Event.Context.ACTIVITY, Event.Activities.STATUS_STREAM_CHANGED, null), new Event(Event.Context.ACTIVITY, Event.Activities.STATUS_STREAM_CHANGED, null) }, getEvents()); ListSelection ls = model.getFriendsStream(0, 20); { Activity activity = (Activity) ls.getEntries()[0]; Assert.assertEquals(301, activity.getId()); } { Activity activity = (Activity) ls.getEntries()[1]; Assert.assertEquals(302, activity.getId()); Assert.assertEquals("2b", activity.getTitle()); Assert.assertEquals("After change.", activity.getDescription()); } { Activity activity = (Activity) ls.getEntries()[2]; Assert.assertEquals(303, activity.getId()); } model.exit(false); }
public void testReceiveActivitiesWithUnknownContacts() throws Exception { setUpAndStart(); protocol.resetEvents(); // receive activities ServiceObject[] serviceObjects = new ServiceObject[2]; { Vector flags = new Vector(); flags.addElement("status"); Hashtable contact = new Hashtable(); contact.put("contactid", new Long(70001)); Vector contactList = new Vector(); contactList.addElement(contact); Hashtable ht = new Hashtable(); ht.put("activityid", new Long(301)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Hi!"); ht.put("description", "You know me"); ht.put("time", new Long(123456)); ht.put("contactlist", contactList); serviceObjects[0] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } { Vector flags = new Vector(); flags.addElement("status"); Hashtable contact = new Hashtable(); contact.put("contactid", new Long(70002)); Vector contactList = new Vector(); contactList.addElement(contact); Hashtable ht = new Hashtable(); ht.put("activityid", new Long(302)); ht.put("flaglist", flags); ht.put("type", "contact_received_status_update"); ht.put("title", "Hi!"); ht.put("description", "You don't know me"); ht.put("time", new Long(123456)); ht.put("contactlist", contactList); serviceObjects[1] = new com.zyb.nowplus.data.protocol.types.Activity(ht); } protocol.mockItemsReceived(serviceObjects, ServiceObject.ACTIVITY); // only one is displayed ListSelection ls = model.getFriendsStream(0, 60); Assert.assertEquals(1, ls.getTotal()); { Activity activity = (Activity) ls.getEntries()[0]; Assert.assertEquals(301, activity.getId()); } // receive new contacts Vector detailList = new Vector(); { Hashtable ht = new Hashtable(); ht.put("key", "vcard.nickname"); ht.put("val", "lazy.friend"); detailList.addElement(ht); } { Hashtable ht = new Hashtable(); ht.put("key", "vcard.name"); ht.put("val", "Friend;Lazy;"); detailList.addElement(ht); } Hashtable ht = new Hashtable(); ht.put("contactid", new Long(70002)); ht.put("detaillist", detailList); ContactChanges serviceObject = new ContactChanges(ht); serviceObject.setCurrentServerRevision(34); protocol.mockItemsReceived( 1, new ServiceObject[] {serviceObject}, ServiceObject.CONTACT_CHANGES); // check activities are requested again Assert.assertEquals( "Protocol", new Event[] { new Event( Event.Context.TEST, MockCommunicationManager.SEND_REQUEST, ServerRequest.GET + ":" + ServerRequest.ACTIVITIES) }, protocol.getEvents()); model.exit(false); }