コード例 #1
0
        public async Task QueueGenerateProcessTestsJob_ProjectNameEmpty_ThrowsBadRequest()
        {
            var jobsRepositoryMock       = new Mock <IJobsRepository>();
            var serviceLogRepositoryMock = new Mock <IServiceLogRepository>();
            var controller = new JobsController(jobsRepositoryMock.Object, serviceLogRepositoryMock.Object)
            {
                Request = new HttpRequestMessage()
            };

            var param = new GenerateProcessTestsJobParameters();

            param.ProjectId   = 1;
            param.ProjectName = "";
            param.Processes.Add(new GenerateProcessTestInfo()
            {
                ProcessId = 1
            });

            // Act
            try
            {
                await controller.QueueGenerateProcessTestsJob(param);
            }
            catch (BadRequestException ex)
            {
                Assert.AreEqual(ex.ErrorCode, ErrorCodes.QueueJobProjectNameEmpty);
                throw;
            }
        }
コード例 #2
0
        public async Task QueueGenerateProcessTestsJob_NullParameter_ThrowsBadRequest()
        {
            var jobsRepositoryMock       = new Mock <IJobsRepository>();
            var serviceLogRepositoryMock = new Mock <IServiceLogRepository>();
            var controller = new JobsController(jobsRepositoryMock.Object, serviceLogRepositoryMock.Object)
            {
                Request = new HttpRequestMessage()
            };

            // Act
            try
            {
                await controller.QueueGenerateProcessTestsJob(null);
            }
            catch (BadRequestException ex)
            {
                Assert.AreEqual(ex.ErrorCode, ErrorCodes.QueueJobEmptyRequest);
                throw;
            }
        }
コード例 #3
0
        public async Task QueueGenerateProcessTestsJob_ValidParameters_ReturnsCreatedResponse()
        {
            var session = new Session {
                UserName = "******", UserId = 1
            };
            var token = Guid.NewGuid().ToString();
            var jobsRepositoryMock       = new Mock <IJobsRepository>();
            var serviceLogRepositoryMock = new Mock <IServiceLogRepository>();

            jobsRepositoryMock
            .Setup(j => j.AddJobMessage(It.IsAny <JobType>(), It.IsAny <bool>(), It.IsAny <string>(), It.IsAny <string>(),
                                        It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.FromResult <int?>(2));

            var controller = new JobsController(jobsRepositoryMock.Object, serviceLogRepositoryMock.Object)
            {
                Request = new HttpRequestMessage()
            };

            controller.Request.Headers.Add("Session-Token", token);
            controller.Request.Properties[ServiceConstants.SessionProperty] = session;
            HttpContext.Current = new HttpContext(
                new HttpRequest("", "http://localhost:9801/svc/adminstore/jobs/test/process", ""),
                new HttpResponse(new StringWriter()));

            var param = new GenerateProcessTestsJobParameters();

            param.ProjectId   = 1;
            param.ProjectName = "test";
            param.Processes.Add(new GenerateProcessTestInfo()
            {
                ProcessId = 1
            });

            // Act
            var actionResult = (await controller.QueueGenerateProcessTestsJob(param)) as CreatedNegotiatedContentResult <AddJobResult>;


            Assert.IsNotNull(actionResult);
            Assert.AreEqual(actionResult.Content.JobId, 2);
        }