Ejemplo n.º 1
0
        public async Task Enqueues_With_Distinct_Tags_Correctly()
        {
            // Arrange
            var tags = new[]
            {
                "Tag1",
                "Tag2",
                ConfigTag
            };

            var taskInfo = new ServiceContract.Models.TaskInfo
            {
                Id           = Guid.NewGuid(),
                AssemblyName = "Test.Assembly",
                MethodName   = "Test.Method",
                ReturnType   = typeof(string),
                TypeName     = "string",
                Arguments    = new object[] { "Argument" },
                Status       = TaskStatus.WaitingForActivation,
                Tags         = tags
            };

            // Act
            await _sut.Enqueue(taskInfo).ConfigureAwait(false);

            // Assert
            var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id)).ConfigureAwait(false);

            var explodedTaskTags = task.Tags.Split(',');

            foreach (var tag in tags.Union(new[] { ConfigTag }))
            {
                explodedTaskTags.Count(t => t.Equals(tag)).ShouldBe(1);
            }
        }
Ejemplo n.º 2
0
        public async Task Enqueues_Correctly_With_No_TaskStatus()
        {
            // Arrange
            var taskInfo = new ServiceContract.Models.TaskInfo
            {
                Id           = Guid.NewGuid(),
                AssemblyName = "Test.Assembly",
                MethodName   = "Test.Method",
                ReturnType   = typeof(string),
                TypeName     = "string",
                Arguments    = new object[] { "Argument" }
            };

            // Act
            await _sut.Enqueue(taskInfo).ConfigureAwait(false);

            // Assert
            var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id) && t.Status.Equals(TaskStatus.Created)).ConfigureAwait(false);

            task.ShouldNotBeNull();
        }
Ejemplo n.º 3
0
        public async Task Enqueues_With_Config_Tags_Correctly()
        {
            // Arrange
            string[] tags     = { "Tag1", "Tag2" };
            var      taskInfo = new ServiceContract.Models.TaskInfo
            {
                Id           = Guid.NewGuid(),
                AssemblyName = "Test.Assembly",
                MethodName   = "Test.Method",
                ReturnType   = typeof(string),
                TypeName     = "string",
                Arguments    = new object[] { "Argument" },
                Status       = TaskStatus.WaitingForActivation,
                Tags         = tags
            };

            // Act
            await _sut.Enqueue(taskInfo).ConfigureAwait(false);

            // Assert
            var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id)).ConfigureAwait(false);

            task.Tags.ShouldContain(ConfigTag);
        }