public ScanAndSignEnqueuerFactsBase()
        {
            _topicClientMock           = new Mock <ITopicClient>();
            _serializerMock            = new Mock <IBrokeredMessageSerializer <ScanAndSignMessage> >();
            _logger                    = Mock.Of <ILogger <ScanAndSignEnqueuer> >();
            _configurationAccessorMock = new Mock <IOptionsSnapshot <ScanAndSignEnqueuerConfiguration> >();

            _configuration = new ScanAndSignEnqueuerConfiguration();
            _configurationAccessorMock
            .SetupGet(ca => ca.Value)
            .Returns(_configuration);

            _target = new ScanAndSignEnqueuer(
                _topicClientMock.Object,
                _serializerMock.Object,
                _configurationAccessorMock.Object,
                _logger);

            _validationRequest = new NuGetValidationRequest(Guid.NewGuid(), 42, "somepackage", "someversion", "https://example.com/testpackage.nupkg");
            _owners            = new List <string> {
                "Billy", "Bob"
            };

            _serializedMessage = new BrokeredMessageWrapper("somedata");

            _serializerMock
            .Setup(s => s.Serialize(It.IsAny <ScanAndSignMessage>()))
            .Callback <ScanAndSignMessage>(m => _capturedMessage = m)
            .Returns(_serializedMessage);

            _topicClientMock
            .Setup(tc => tc.SendAsync(It.IsAny <IBrokeredMessage>()))
            .Callback <IBrokeredMessage>(m => _capturedBrokeredMessage = m)
            .Returns(Task.CompletedTask);
        }
        public void MinScheduledEnqueueTimeUtcWorks()
        {
            var message = new BrokeredMessageWrapper("data");

            message.ScheduledEnqueueTimeUtc = DateTimeOffset.MinValue;

            Assert.True(message.ScheduledEnqueueTimeUtc < DateTimeOffset.Now);
        }
        public void DoesNotMessUpScheduledEnqueueTimeUtc()
        {
            var now = DateTimeOffset.Now;

            var message = new BrokeredMessageWrapper("data");

            message.ScheduledEnqueueTimeUtc = now;
            Assert.Equal(now, message.ScheduledEnqueueTimeUtc);
        }
        public void ForcesUtcOnScheduledEnqueueTimeUtc()
        {
            var now    = DateTimeOffset.Now;
            var nowUtc = now.UtcDateTime;

            var message = new BrokeredMessageWrapper("data");

            message.ScheduledEnqueueTimeUtc = now;

            Assert.Equal(DateTimeKind.Utc, message.BrokeredMessage.ScheduledEnqueueTimeUtc.Kind);
            Assert.Equal(nowUtc, message.BrokeredMessage.ScheduledEnqueueTimeUtc);
            Assert.Equal(TimeSpan.Zero, message.ScheduledEnqueueTimeUtc.Offset);
        }
Exemplo n.º 5
0
        public static BrokeredMessage ConvertToMessage(this RaisedEvent @event)
        {
            var stream = new PreservedMemoryStream();
            using (var streamWriter = new StreamWriter(stream))
            using (var writer = new JsonTextWriter(streamWriter))
            {
                serialiser.Serialize(writer, @event);
                writer.Flush();
            }

            //We hand ownership of the stream to the brokered message. It is responsible for cleanly disposing of the resource.
            var msg = new BrokeredMessageWrapper(new Microsoft.ServiceBus.Messaging.BrokeredMessage(stream, true));
            msg.Properties[propEventType] = @event.Event.GetType();
            msg.Properties[propTransactionId] = @event.TransactionId;
            return msg;
        }
Exemplo n.º 6
0
        public void it_will_deserialise_a_brokered_msg_to_a_raised_event()
        {
            var body =
                @"{""Thumbprint"":""3BBADAF3-C41E-4697-9552-8E28439D2FDC"",""Event"":{""$type"":""Test.Honeycomb.Azure.DummyEvent, Test.Honeycomb.Azure"",""Prop"":""value""},""RaisedTimestamp"":""2013-01-14T21:46:22+00:00"",""TransactionId"":""txid""}";
            var stream = new PreservedMemoryStream();
            using (var sw = new StreamWriter(stream))
                sw.Write(body);

            var expected = new BrokeredMessageWrapper(new BrokeredMessage(stream, true));

            var actual = expected.ConvertToEvent();

            actual.Event.ShouldBeType<DummyEvent>();
            ((DummyEvent) actual.Event).Prop.ShouldEqual("value");
            actual.RaisedTimestamp.ShouldEqual(new DateTimeOffset(2013, 01, 14, 21, 46, 22, TimeZoneInfo.Utc.BaseUtcOffset));
            actual.TransactionId.ShouldEqual("txid");
        }
        public void DefaultScheduledEnqueueTimeUtcIsNotInTheFuture()
        {
            var message = new BrokeredMessageWrapper("data");

            Assert.True(message.ScheduledEnqueueTimeUtc <= DateTimeOffset.Now);
        }