示例#1
0
        public void CtorTopicIsEmply_GetArgumentException()
        {
            var          Environment  = "Test";
            var          factoryMock  = new Mock <INatsStreamingProducerFactory>();
            NatsProducer natsProducer = null;

            Action act = () => { natsProducer = new NatsProducer("", Environment, factoryMock.Object); };

            act.Should().Throw <ArgumentNullException>("Topic(subscription) must me not empty.");
        }
        public void Connect_Success()
        {
            var producerMock = new Mock <INatsStreamingProducer>();
            var factory      = Create.NatsProducerFactory().SetupCreate(producerMock.Object).Get();
            var natsConsumer = new NatsProducer("topic", "Environment", factory);

            Action act = () => { natsConsumer.Connect(); };

            act.Should().NotThrow();
            producerMock.Verify(c => c.Connect(), Times.Once);
        }
示例#3
0
        public void Send_Success()
        {
            var producerMock = new Mock <INatsStreamingProducer>();

            var factory      = Create.NatsProducerFactory().SetupCreate(producerMock.Object).Get();
            var natsConsumer = new NatsProducer("topic", "Environment", factory);

            Func <Task> act = async() => { await natsConsumer.SendAsync(new byte[0]); };

            act.Should().NotThrow();

            producerMock.Verify(c => c.SendAsync(It.IsAny <byte[]>()), Times.Once);
        }
示例#4
0
        public void Ctor_SetSameTierAndTopic()
        {
            var          Environment  = "Test";
            var          topic        = "Test.Topic";
            var          factoryMock  = new Mock <INatsStreamingProducerFactory>();
            NatsProducer natsProducer = null;

            Action act = () => { natsProducer = new NatsProducer(topic, Environment, factoryMock.Object); };

            act.Should().NotThrow();

            natsProducer.Should().NotBeNull();
            using (new AssertionScope())
            {
                natsProducer.Environment.Should().Be(Environment);
                natsProducer.Topic.Should().Be(topic);
            }
        }