/* * Copyright (c) 2010 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ /* * Copyright (c) 2015 Tarun Gupta. * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ package com.isode.stroke.parser.payloadparsers; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import org.junit.Test; import com.isode.stroke.elements.PrivateStorage; import com.isode.stroke.elements.Storage; import com.isode.stroke.parser.payloadparsers.PrivateStorageParser; import com.isode.stroke.parser.payloadparsers.PayloadsParserTester; import com.isode.stroke.parser.payloadparsers.PayloadParserTester; import com.isode.stroke.parser.PayloadParserFactoryCollection; import com.isode.stroke.eventloop.DummyEventLoop; import com.isode.stroke.jid.JID; public class PrivateStorageParserTest { public PrivateStorageParserTest() { } @Test public void testParse() { DummyEventLoop eventLoop = new DummyEventLoop(); PayloadsParserTester parser = new PayloadsParserTester(eventLoop); assertNotNull(parser.parse( "" + "" + "" + "Alice" + "" + "" + "")); PrivateStorage payload = (PrivateStorage)(parser.getPayload()); assertNotNull(payload); Storage storage = (Storage)(payload.getPayload()); assertNotNull(storage); assertEquals("Alice", storage.getRooms().get(0).nick); assertEquals(new JID("swift@rooms.swift.im"), storage.getRooms().get(0).jid); } @Test public void testParse_NoPayload() { DummyEventLoop eventLoop = new DummyEventLoop(); PayloadsParserTester parser = new PayloadsParserTester(eventLoop); assertNotNull(parser.parse("")); PrivateStorage payload = (PrivateStorage)(parser.getPayload()); assertNotNull(payload); assertNull(payload.getPayload()); } @Test public void testParse_MultiplePayloads() { DummyEventLoop eventLoop = new DummyEventLoop(); PayloadsParserTester parser = new PayloadsParserTester(eventLoop); assertNotNull(parser.parse( "" + "" + "" + "Alice" + "" + "" + "" + "" + "Rabbit" + "" + "" + "")); PrivateStorage payload = (PrivateStorage)(parser.getPayload()); assertNotNull(payload); Storage storage = (Storage)(payload.getPayload()); assertNotNull(storage); assertEquals("Rabbit", storage.getRooms().get(0).nick); } @Test public void testParse_UnsupportedPayload() { PayloadParserFactoryCollection factories = new PayloadParserFactoryCollection(); PrivateStorageParser testling = new PrivateStorageParser(factories); PayloadParserTester parser = new PayloadParserTester(testling); assertNotNull(parser.parse( "" + "Bar" + "")); assertNull(((PrivateStorage)(testling.getPayload())).getPayload()); } }