Home / Class/ MqttMessageFactoryTest Class — netty Architecture

MqttMessageFactoryTest Class — netty Architecture

Architecture documentation for the MqttMessageFactoryTest class in MqttMessageFactoryTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da["MqttMessageFactoryTest"]
  c3896952_948b_cf77_2b56_e47172590f98["MqttMessageFactoryTest.java"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|defined in| c3896952_948b_cf77_2b56_e47172590f98
  b06723f8_e9b8_c601_d193_dc52b0f7d6bd["createUnsubAckV3()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| b06723f8_e9b8_c601_d193_dc52b0f7d6bd
  fa4201dd_c440_62de_e0ea_e87caea0efd3["createUnsubAckV5()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| fa4201dd_c440_62de_e0ea_e87caea0efd3
  b94e3e51_602c_2b03_39dc_81faf24c06a6["createSubscribeV3()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| b94e3e51_602c_2b03_39dc_81faf24c06a6
  d4503594_fb73_b4f3_d9df_fdb0e8f19d1a["createSubscribeV5()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| d4503594_fb73_b4f3_d9df_fdb0e8f19d1a
  be1ed529_4177_61ec_8a76_0c55e9941af1["createUnsubscribeV3()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| be1ed529_4177_61ec_8a76_0c55e9941af1
  fb8dd184_1c6b_88a4_65c4_a05fbf95ae37["createUnsubscribeV5()"]
  dd84b5fc_9604_d2f3_86c2_0f14e387b4da -->|method| fb8dd184_1c6b_88a4_65c4_a05fbf95ae37

Relationship Graph

Source Code

codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttMessageFactoryTest.java lines 31–167

public class MqttMessageFactoryTest {
    private static final String SAMPLE_TOPIC = "a/b/c";
    private static final int SAMPLE_MESSAGE_ID = 123;

    @Test
    public void createUnsubAckV3() {
        MqttFixedHeader fixedHeader =
                new MqttFixedHeader(MqttMessageType.UNSUBACK, false, MqttQoS.AT_MOST_ONCE, false, 0);
        MqttMessageIdVariableHeader variableHeader =
                MqttMessageIdVariableHeader.from(SAMPLE_MESSAGE_ID);

        MqttMessage unsuback = MqttMessageFactory.newMessage(fixedHeader, variableHeader, null);

        assertEquals(MqttMessageType.UNSUBACK, unsuback.fixedHeader().messageType());
        MqttMessageIdAndPropertiesVariableHeader actualVariableHeader =
                (MqttMessageIdAndPropertiesVariableHeader) unsuback.variableHeader();
        assertEquals(SAMPLE_MESSAGE_ID, actualVariableHeader.messageId());
        validateProperties(MqttProperties.NO_PROPERTIES, actualVariableHeader.properties());
        MqttUnsubAckPayload actualPayload = (MqttUnsubAckPayload) unsuback.payload();
        assertNotNull(actualPayload);
        assertEquals(0, actualPayload.unsubscribeReasonCodes().size());
    }

    @Test
    public void createUnsubAckV5() {
        MqttFixedHeader fixedHeader =
                new MqttFixedHeader(MqttMessageType.UNSUBACK, false, MqttQoS.AT_MOST_ONCE, false, 0);
        MqttProperties properties = new MqttProperties();
        String reasonString = "All right";
        properties.add(new MqttProperties.StringProperty(
                MqttProperties.REASON_STRING,
                reasonString));
        MqttMessageIdAndPropertiesVariableHeader variableHeader =
                new MqttMessageIdAndPropertiesVariableHeader(SAMPLE_MESSAGE_ID, properties);
        MqttUnsubAckPayload payload = new MqttUnsubAckPayload((short) 0x80 /*unspecified error*/);

        MqttMessage unsuback = MqttMessageFactory.newMessage(fixedHeader, variableHeader, payload);

        assertEquals(MqttMessageType.UNSUBACK, unsuback.fixedHeader().messageType());
        MqttMessageIdAndPropertiesVariableHeader actualVariableHeader =
                (MqttMessageIdAndPropertiesVariableHeader) unsuback.variableHeader();
        assertEquals(SAMPLE_MESSAGE_ID, actualVariableHeader.messageId());
        validateProperties(properties, actualVariableHeader.properties());
        MqttUnsubAckPayload actualPayload = (MqttUnsubAckPayload) unsuback.payload();
        assertEquals(payload.unsubscribeReasonCodes(), actualPayload.unsubscribeReasonCodes());
    }

    @Test
    public void createSubscribeV3() {
        MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.SUBSCRIBE, false, AT_LEAST_ONCE, false, 0);

        MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(SAMPLE_MESSAGE_ID);
        List<MqttTopicSubscription> subscriptions = new ArrayList<MqttTopicSubscription>();
        subscriptions.add(new MqttTopicSubscription(SAMPLE_TOPIC, MqttQoS.AT_MOST_ONCE));

        MqttSubscribePayload payload = new MqttSubscribePayload(subscriptions);

        MqttMessage subscribe = MqttMessageFactory.newMessage(fixedHeader, variableHeader, payload);

        assertEquals(MqttMessageType.SUBSCRIBE, subscribe.fixedHeader().messageType());
        MqttMessageIdAndPropertiesVariableHeader actualVariableHeader =
                (MqttMessageIdAndPropertiesVariableHeader) subscribe.variableHeader();
        assertEquals(SAMPLE_MESSAGE_ID, actualVariableHeader.messageId());
        validateProperties(MqttProperties.NO_PROPERTIES, actualVariableHeader.properties());
        MqttSubscribePayload actualPayload = (MqttSubscribePayload) subscribe.payload();
        validateSubscribePayload(payload, actualPayload);
    }

    @Test
    public void createSubscribeV5() {
        MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.SUBSCRIBE, false, AT_LEAST_ONCE, false, 0);

        MqttProperties properties = new MqttProperties();
        properties.add(new MqttProperties.UserProperty("correlationId", "111222"));
        MqttMessageIdAndPropertiesVariableHeader variableHeader =
                new MqttMessageIdAndPropertiesVariableHeader(SAMPLE_MESSAGE_ID, properties);
        List<MqttTopicSubscription> subscriptions = new ArrayList<MqttTopicSubscription>();
        subscriptions.add(new MqttTopicSubscription(SAMPLE_TOPIC, MqttQoS.AT_MOST_ONCE));

        MqttSubscribePayload payload = new MqttSubscribePayload(subscriptions);

Frequently Asked Questions

What is the MqttMessageFactoryTest class?
MqttMessageFactoryTest is a class in the netty codebase, defined in codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttMessageFactoryTest.java.
Where is MqttMessageFactoryTest defined?
MqttMessageFactoryTest is defined in codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttMessageFactoryTest.java at line 31.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free