Example #1
0
 public async Task SendMessageAsync(MessageParameters messageParameters)
 {
     JobContextMessage jobContextMessage = (JobContextMessage)messageParameters.JobContextMessage;
     await             _topicPublishServices[messageParameters.JobType].PublishAsync(
         _jobContextMapper.MapFrom(jobContextMessage),
         messageParameters.TopicParameters,
         messageParameters.SubscriptionLabel);
 }
Example #2
0
        public void TestJobContextMappingInterfaceToDto()
        {
            DateTime now = DateTime.UtcNow;

            List <ITaskItem> tasks = new List <ITaskItem>()
            {
                new TaskItem
                {
                    Tasks = new List <string>
                    {
                        "Task A"
                    },
                    SupportsParallelExecution = true
                }
            };
            var topicItem = new TopicItem("Topic A", "SqlFilter A", tasks);

            JobContextMessage jobContextMessage = new JobContextMessage
            {
                JobId         = 12,
                KeyValuePairs = new Dictionary <string, object>
                {
                    { JobContextMessageKey.UkPrn, 12345 }
                },
                SubmissionDateTimeUtc = now,
                TopicPointer          = 3,
                Topics = new List <ITopicItem>
                {
                    topicItem
                }
            };

            JobContextMapper mapper = new JobContextMapper();
            JobContextDto    dto    = mapper.MapFrom(jobContextMessage);

            dto.SubmissionDateTimeUtc.Should().Be(now);
            dto.JobId.Should().Be(12);
            dto.KeyValuePairs.Should().BeEquivalentTo(jobContextMessage.KeyValuePairs);
            dto.Topics.Should().BeEquivalentTo(jobContextMessage.Topics);
            dto.TopicPointer.Should().Be(3);
        }