/** * * Copyright 2016 Fernando Ramirez * * 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 org.jivesoftware.smackx.muclight; import java.util.HashMap; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.util.PacketParserUtils; import org.jivesoftware.smackx.muclight.element.MUCLightConfigurationIQ; import org.jivesoftware.smackx.muclight.element.MUCLightGetConfigsIQ; import org.junit.Assert; import org.junit.Test; import org.jxmpp.jid.impl.JidCreate; public class MUCLightGetConfigsTest { private static final String getConfigsIQExample = "" + "" + "abcdefg" + "" + ""; private static final String getConfigsResponseExample = "" + "" + "123456" + "A Dark Cave" + "A subject" + "" + ""; private static final String getConfigsResponseExampleWithCustomConfigs = "" + "" + "123456" + "A Dark Cave" + "blue" + "20" + "" + ""; @Test public void checkGetConfigsIQ() throws Exception { MUCLightGetConfigsIQ mucLightGetConfigsIQ = new MUCLightGetConfigsIQ( JidCreate.from("coven@muclight.shakespeare.lit"), "abcdefg"); mucLightGetConfigsIQ.setStanzaId("config0"); Assert.assertEquals(getConfigsIQExample, mucLightGetConfigsIQ.toXML().toString()); } @Test public void checkGetConfigsResponse() throws Exception { IQ iqInfoResult = PacketParserUtils.parseStanza(getConfigsResponseExample); MUCLightConfigurationIQ mucLightConfigurationIQ = (MUCLightConfigurationIQ) iqInfoResult; Assert.assertEquals("123456", mucLightConfigurationIQ.getVersion()); Assert.assertEquals("A Dark Cave", mucLightConfigurationIQ.getConfiguration().getRoomName()); Assert.assertEquals("A subject", mucLightConfigurationIQ.getConfiguration().getSubject()); Assert.assertNull(mucLightConfigurationIQ.getConfiguration().getCustomConfigs()); } @Test public void checkGetConfigsResponseWithCustomConfigs() throws Exception { IQ iqInfoResult = PacketParserUtils.parseStanza(getConfigsResponseExampleWithCustomConfigs); MUCLightConfigurationIQ mucLightConfigurationIQ = (MUCLightConfigurationIQ) iqInfoResult; Assert.assertEquals("123456", mucLightConfigurationIQ.getVersion()); Assert.assertEquals("A Dark Cave", mucLightConfigurationIQ.getConfiguration().getRoomName()); Assert.assertNull(mucLightConfigurationIQ.getConfiguration().getSubject()); HashMap customConfigs = mucLightConfigurationIQ.getConfiguration().getCustomConfigs(); Assert.assertEquals("blue", customConfigs.get("color")); Assert.assertEquals("20", customConfigs.get("size")); } }