Files
natsnet/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/Server/MqttHandlerTests.cs

50 lines
1.5 KiB
C#

// Copyright 2025 The NATS Authors
// Licensed under the Apache License, Version 2.0
using Shouldly;
using ZB.MOM.NatsNet.Server;
namespace ZB.MOM.NatsNet.Server.Tests.Server;
public sealed class MqttHandlerTests
{
[Fact] // T:2272
public void MQTTStreamReplicasConfigReload_ShouldSucceed()
{
var err = JsApiErrors.NewJSStreamReplicasNotSupportedError();
err.Code.ShouldBe(JsApiErrors.StreamReplicasNotSupported.Code);
err.ErrCode.ShouldBe(JsApiErrors.StreamReplicasNotSupported.ErrCode);
err.Description.ShouldBe("replicas > 1 not supported in non-clustered mode");
}
[Fact]
public void MQTTSubWithNATSStream_ShouldSucceed()
{
var account = new Account { Name = "A" };
var stream = NatsStream.Create(
account,
new StreamConfig { Name = "MQTT", Subjects = ["mqtt.>"], Storage = StorageType.MemoryStorage },
null,
null,
null,
null);
stream.ShouldNotBeNull();
var (consumer, error) = stream!.AddConsumerWithAction(
new ConsumerConfig
{
Durable = "MQTTC",
DeliverSubject = "mqtt.deliver",
AckPolicy = AckPolicy.AckExplicit,
},
oname: "MQTTC",
action: ConsumerAction.Create,
pedantic: false);
error.ShouldBeNull();
consumer.ShouldNotBeNull();
consumer!.GetInfo().Stream.ShouldBe("MQTT");
}
}