package net.anyflow.lannister.session; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import io.netty.handler.codec.mqtt.MqttQoS; import net.anyflow.lannister.TestSuite; import net.anyflow.lannister.topic.TopicSubscription; public class SessionTest { @BeforeClass public static void setUpBeforeClass() throws Exception { TestSuite.setUp(); } @Test public void testMatches() throws Exception { String testTopic = "testTopic/test"; Session session = new Session("1", "1", 1, 50, true, null); TopicSubscription ts0 = new TopicSubscription(session.clientId(), "testTopic/#", MqttQoS.AT_MOST_ONCE); TopicSubscription ts1 = new TopicSubscription(session.clientId(), "testTopic/+", MqttQoS.AT_LEAST_ONCE); TopicSubscription ts2 = new TopicSubscription(session.clientId(), testTopic, MqttQoS.EXACTLY_ONCE); TopicSubscription.NEXUS.put(ts0); TopicSubscription.NEXUS.put(ts1); TopicSubscription.NEXUS.put(ts2); Assert.assertEquals(3, TopicSubscription.NEXUS.topicFiltersOf(session.clientId()).size()); TopicSubscription target = session.matches(testTopic); Assert.assertTrue(target.topicFilter().equals(testTopic)); } }