@@ -11,8 +11,8 @@ import url from "url";
1111import { HttpsProxyAgent } from "https-proxy-agent" ;
1212import * as auth from "./auth" ;
1313import { once } from "events" ;
14- import * as model from "./mqtt_internal/model" ;
1514import * as mqtt_server from "@test/mqtt_server" ;
15+ import * as test_metrics from "@test/metrics" ;
1616import * as promise from "../common/promise" ;
1717import * as mqtt_shared from "../common/mqtt_shared" ;
1818import * as mqtt5_packet from "../common/mqtt5_packet" ;
@@ -595,7 +595,7 @@ function buildDefaultClientConfig(fixture : ClientTestFixture) : mqtt5.Mqtt5Clie
595595
596596test ( 'Manual Puback - Acquire' , async ( ) => {
597597 let config : mqtt_server . MqttServerConfig = {
598- protocolVersion : model . ProtocolMode . Mqtt5
598+ protocolVersion : mqtt_shared . ProtocolMode . Mqtt5
599599 } ;
600600
601601 let fixture = new ClientTestFixture ( config ) ;
@@ -656,7 +656,7 @@ test('Manual Puback - Acquire', async () => {
656656
657657test ( 'Manual Puback - No Acquire' , async ( ) => {
658658 let config : mqtt_server . MqttServerConfig = {
659- protocolVersion : model . ProtocolMode . Mqtt5
659+ protocolVersion : mqtt_shared . ProtocolMode . Mqtt5
660660 } ;
661661
662662 let fixture = new ClientTestFixture ( config ) ;
@@ -692,4 +692,47 @@ test('Manual Puback - No Acquire', async () => {
692692 await stopped ;
693693
694694 fixture . getServer ( ) . stop ( ) ;
695+ } ) ;
696+
697+ async function doMetricsTestConnect5 ( server : mqtt_server . MqttServer , disableMetrics : boolean , username ?: string ) {
698+ let clientConfig : mqtt5 . Mqtt5ClientConfig = {
699+ hostName : "localhost" ,
700+ port : server . getPort ( ) ,
701+ disableMetrics : disableMetrics ,
702+ websocketOptions : {
703+ urlFactoryOptions : {
704+ urlFactory : mqtt5 . Mqtt5WebsocketUrlFactoryType . Ws
705+ }
706+ }
707+ } ;
708+
709+ if ( username !== undefined ) {
710+ clientConfig . connectProperties = {
711+ keepAliveIntervalSeconds : 1200 ,
712+ username : username
713+ } ;
714+ }
715+
716+ let client = new mqtt5 . Mqtt5Client ( clientConfig ) ;
717+
718+ let connectionSuccess = once ( client , 'connectionSuccess' ) ;
719+ client . start ( ) ;
720+
721+ await connectionSuccess ;
722+ }
723+
724+ test ( 'mqtt5 metrics - enabled, undefined username' , async ( ) => {
725+ await test_metrics . doMetricsUsernameTest ( mqtt_shared . ProtocolMode . Mqtt5 , doMetricsTestConnect5 , false ) ;
726+ } ) ;
727+
728+ test ( 'mqtt5 metrics - disabled, undefined username' , async ( ) => {
729+ await test_metrics . doMetricsUsernameTest ( mqtt_shared . ProtocolMode . Mqtt5 , doMetricsTestConnect5 , true ) ;
730+ } ) ;
731+
732+ test ( 'mqtt5 metrics - enabled, non-empty username' , async ( ) => {
733+ await test_metrics . doMetricsUsernameTest ( mqtt_shared . ProtocolMode . Mqtt5 , doMetricsTestConnect5 , false , "hello" ) ;
734+ } ) ;
735+
736+ test ( 'mqtt5 metrics - disabled, non-empty username' , async ( ) => {
737+ await test_metrics . doMetricsUsernameTest ( mqtt_shared . ProtocolMode . Mqtt5 , doMetricsTestConnect5 , true , "world" ) ;
695738} ) ;
0 commit comments