Home / Function/ validateProperties() — netty Function Reference

validateProperties() — netty Function Reference

Architecture documentation for the validateProperties() function in MqttTestUtils.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  61312b7b_59e5_55c6_fb5c_91b796191a29["validateProperties()"]
  492c27ee_b1b3_752e_cd75_4675bc98321c["MqttTestUtils"]
  61312b7b_59e5_55c6_fb5c_91b796191a29 -->|defined in| 492c27ee_b1b3_752e_cd75_4675bc98321c
  9adb7204_2435_8a0d_5ad6_237420688448["assertContainsValue()"]
  61312b7b_59e5_55c6_fb5c_91b796191a29 -->|calls| 9adb7204_2435_8a0d_5ad6_237420688448
  style 61312b7b_59e5_55c6_fb5c_91b796191a29 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttTestUtils.java lines 59–149

    public static void validateProperties(MqttProperties expected, MqttProperties actual) {
        for (MqttProperties.MqttProperty expectedProperty : expected.listAll()) {
            int propertyId = expectedProperty.propertyId;
            MqttProperties.MqttProperty actualProperty = actual.getProperty(propertyId);
            List<? extends MqttProperties.MqttProperty> actualProperties =
                    actual.getProperties(propertyId);
            switch (propertyId) {
                // one byte value integer property
                case PAYLOAD_FORMAT_INDICATOR:
                case REQUEST_PROBLEM_INFORMATION:
                case REQUEST_RESPONSE_INFORMATION:
                case MAXIMUM_QOS:
                case RETAIN_AVAILABLE:
                case WILDCARD_SUBSCRIPTION_AVAILABLE:
                case SUBSCRIPTION_IDENTIFIER_AVAILABLE:
                case SHARED_SUBSCRIPTION_AVAILABLE: {
                    final Integer expectedValue = ((MqttProperties.IntegerProperty) expectedProperty).value;
                    final Integer actualValue = ((MqttProperties.IntegerProperty) actualProperty).value;
                    assertEquals(expectedValue, actualValue, "one byte property doesn't match");
                    break;
                }
                // two byte value integer property
                case SERVER_KEEP_ALIVE:
                case RECEIVE_MAXIMUM:
                case TOPIC_ALIAS_MAXIMUM:
                case TOPIC_ALIAS: {
                    final Integer expectedValue = ((MqttProperties.IntegerProperty) expectedProperty).value;
                    final Integer actualValue = ((MqttProperties.IntegerProperty) actualProperty).value;
                    assertEquals(expectedValue, actualValue, "two byte property doesn't match");
                    break;
                }
                // four byte value integer property
                case PUBLICATION_EXPIRY_INTERVAL:
                case SESSION_EXPIRY_INTERVAL:
                case WILL_DELAY_INTERVAL:
                case MAXIMUM_PACKET_SIZE: {
                    final Integer expectedValue = ((MqttProperties.IntegerProperty) expectedProperty).value;
                    final Integer actualValue = ((MqttProperties.IntegerProperty) actualProperty).value;
                    assertEquals(expectedValue, actualValue, "four byte property doesn't match");
                    break;
                }
                // four byte value integer property
                case SUBSCRIPTION_IDENTIFIER: {
                    final Integer expectedValue = ((MqttProperties.IntegerProperty) expectedProperty).value;
                    assertContainsValue("Subscription ID doesn't match", expectedValue, actualProperties);
                    break;
                }
                // UTF-8 string value integer property
                case CONTENT_TYPE:
                case RESPONSE_TOPIC:
                case ASSIGNED_CLIENT_IDENTIFIER:
                case AUTHENTICATION_METHOD:
                case RESPONSE_INFORMATION:
                case SERVER_REFERENCE:
                case REASON_STRING: {
                    final String expectedValue = ((MqttProperties.StringProperty) expectedProperty).value;
                    final String actualValue = ((MqttProperties.StringProperty) actualProperty).value;
                    assertEquals(expectedValue, actualValue, "String property doesn't match");
                    break;
                }
                // User property
                case USER_PROPERTY: {
                    final List<MqttProperties.StringPair> expectedPairs =
                            ((MqttProperties.UserProperties) expectedProperty).value;
                    final List<MqttProperties.StringPair> actualPairs =
                            ((MqttProperties.UserProperties) actualProperty).value;
                    assertEquals(expectedPairs, actualPairs, "User properties count doesn't match");
                    for (int i = 0; i < expectedPairs.size(); i++) {
                        assertEquals(expectedPairs.get(i), actualPairs.get(i), "User property mismatch");
                    }
                    break;
                }
                // byte[] property
                case CORRELATION_DATA:
                case AUTHENTICATION_DATA: {
                    final byte[] expectedValue = ((MqttProperties.BinaryProperty) expectedProperty).value;
                    final byte[] actualValue = ((MqttProperties.BinaryProperty) actualProperty).value;
                    final String expectedHexDump = ByteBufUtil.hexDump(expectedValue);
                    final String actualHexDump = ByteBufUtil.hexDump(actualValue);
                    assertEquals(expectedHexDump, actualHexDump, "byte[] property doesn't match");
                    break;

Domain

Subdomains

Frequently Asked Questions

What does validateProperties() do?
validateProperties() is a function in the netty codebase, defined in codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttTestUtils.java.
Where is validateProperties() defined?
validateProperties() is defined in codec-mqtt/src/test/java/io/netty/handler/codec/mqtt/MqttTestUtils.java at line 59.
What does validateProperties() call?
validateProperties() calls 1 function(s): assertContainsValue.

Analyze Your Own Codebase

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

Try Supermodel Free