예제 #1
0
 public SvarSenderFixture()
 {
     SendHandlerMock  = new Mock <ISendHandler>();
     _mottattMelding  = null;
     _ack             = Mock.Of <Action>();
     _nack            = Mock.Of <Action>();
     _nackWithRequeue = Mock.Of <Action>();
 }
예제 #2
0
        public void ReceivesExpectedMessageMetadata()
        {
            var expectedMessageMetadata = _fixture.DefaultMetadata;

            var headers = new Dictionary <string, object>
            {
                { "avsender-id", Encoding.UTF8.GetBytes(expectedMessageMetadata.AvsenderKontoId.ToString()) },
                { "melding-id", Encoding.UTF8.GetBytes(expectedMessageMetadata.MeldingId.ToString()) },
                { "type", Encoding.UTF8.GetBytes(expectedMessageMetadata.MeldingType) },
                { "svar-til", Encoding.UTF8.GetBytes(expectedMessageMetadata.SvarPaMelding.ToString()) },
                { Utility.ReceivedMessageParser.EgendefinertHeaderPrefix + "test", Encoding.UTF8.GetBytes("Test") }
            };

            var propertiesMock = new Mock <IBasicProperties>();

            propertiesMock.Setup(_ => _.Headers).Returns(headers);
            propertiesMock.Setup(_ => _.Expiration)
            .Returns(
                expectedMessageMetadata.Ttl.TotalMilliseconds.ToString(CultureInfo.InvariantCulture));

            var             sut           = _fixture.CreateSut();
            IMottattMelding actualMelding = new MottattMelding(
                true,
                _fixture.DefaultMetadata,
                () => Task.FromResult((Stream) new MemoryStream(new byte[1])),
                Mock.Of <IAsicDecrypter>(),
                Mock.Of <IFileWriter>());
            var handler = new EventHandler <MottattMeldingArgs>((a, messageArgs) =>
            {
                actualMelding = messageArgs.Melding;
            });

            sut.Received += handler;

            sut.HandleBasicDeliver(
                "tag",
                34,
                false,
                "exchange",
                expectedMessageMetadata.MottakerKontoId.ToString(),
                propertiesMock.Object,
                Array.Empty <byte>());

            actualMelding.MeldingId.Should().Be(expectedMessageMetadata.MeldingId);
            actualMelding.MeldingType.Should().Be(expectedMessageMetadata.MeldingType);
            actualMelding.MottakerKontoId.Should().Be(expectedMessageMetadata.MottakerKontoId);
            actualMelding.AvsenderKontoId.Should().Be(expectedMessageMetadata.AvsenderKontoId);
            actualMelding.SvarPaMelding.Should().Be(expectedMessageMetadata.SvarPaMelding);
            actualMelding.Ttl.Should().Be(expectedMessageMetadata.Ttl);
            actualMelding.Headere["test"].ToString().Should().Be("Test");
        }
        public async Task SendsToAvsenderWithMotakerAsAvsender()
        {
            var meldingId     = Guid.NewGuid();
            var mottakerKonto = Guid.NewGuid();
            var avsenderKonto = Guid.NewGuid();

            var motattMelding = new MottattMelding(true, new MottattMeldingMetadata(meldingId, "testType", mottakerKonto, avsenderKonto, null, TimeSpan.FromDays(1)), _fixture.DefaultStreamProvider, _fixture.DefaultDecrypter, _fixture.DefaultFileWriter);

            var sut = _fixture.WithMottattMelding(motattMelding).CreateSut();

            await sut.Svar("testType").ConfigureAwait(false);

            _fixture.SendHandlerMock.Verify(_ => _.Send(It.Is <MeldingRequest>(a => a.MottakerKontoId == avsenderKonto && a.AvsenderKontoId == mottakerKonto), It.IsAny <IList <IPayload> >()));
        }
 public SvarSenderFixture WithMottattMelding(MottattMelding mottattMelding)
 {
     _mottattMelding = mottattMelding;
     return(this);
 }
예제 #5
0
 public SvarSender(ISendHandler sendHandler, MottattMelding mottattMelding, Action ack)
 {
     _sendHandler    = sendHandler;
     _mottattMelding = mottattMelding;
     _ack            = ack;
 }
예제 #6
0
 public SvarSender(ISendHandler sendHandler, MottattMelding mottattMelding, IAmqpAcknowledgeManager amqpAcknowledgeManager)
 {
     _sendHandler            = sendHandler;
     _mottattMelding         = mottattMelding;
     _amqpAcknowledgeManager = amqpAcknowledgeManager;
 }