public async Task BuildExecutionRequestContextAsync_ValidateOnlyButExtensionVersionDoesNotSupportValidation_ShouldGenerateError() { var mockExtensionRepository = new Mock <IExtensionRepository>(); var erContextBuilder = new ExecutionRequestContextBuilder(mockExtensionRepository.Object); var execRequestApiModel = new ExecutionRequestApiModel { ExtensionId = DefaultExtensionId, ExtensionVersionId = DefaultExtensionVersionId, ValidateOnly = true }; var extension = CreateDefaultExtension(); extension.ExtensionVersions.First().SupportsValidation = false; mockExtensionRepository .Setup(r => r.GetExtensionAsync(DefaultExtensionId)) .Returns(Task.FromResult(extension)); var erContext = await erContextBuilder.BuildExecutionRequestContextAsync(execRequestApiModel); erContext.ValidationErrors.Should().HaveCount(1); erContext.ValidationErrors.First().Should().Contain(ErrorCodes.ExtensionVersionDoesNotSupportValidation); }
public async Task BuildExecutionRequestContextAsync_GivenMultipleMistakes_ShouldGenerateMultipleErrors() { var mockExtensionRepository = new Mock <IExtensionRepository>(); var erContextBuilder = new ExecutionRequestContextBuilder(mockExtensionRepository.Object); var execRequestApiModel = new ExecutionRequestApiModel { Priority = "Not a real priority." }; var extension = CreateDefaultExtension(); mockExtensionRepository .Setup(r => r.GetExtensionAsync(DefaultExtensionId)) .Returns(Task.FromResult(extension)); var erContext = await erContextBuilder.BuildExecutionRequestContextAsync(execRequestApiModel); erContext.ValidationErrors.Should().HaveCount(3); }
public async Task BuildExecutionRequestContextAsync_NoExtensionVersionIdProvided_ShouldGenerateError() { var mockExtensionRepository = new Mock <IExtensionRepository>(); var erContextBuilder = new ExecutionRequestContextBuilder(mockExtensionRepository.Object); var execRequestApiModel = new ExecutionRequestApiModel { ExtensionId = DefaultExtensionId }; var extension = CreateDefaultExtension(); mockExtensionRepository .Setup(r => r.GetExtensionAsync(DefaultExtensionId)) .Returns(Task.FromResult(extension)); var erContext = await erContextBuilder.BuildExecutionRequestContextAsync(execRequestApiModel); erContext.ValidationErrors.Should().HaveCount(1); erContext.ValidationErrors.First().Should().Contain(ErrorCodes.ExtensionVersionIdNotProvided); }
public async Task BuildExecutionRequestContextAsync_ExecutionProfileDoesNotSupportPriority_ShouldGenerateError() { var mockExtensionRepository = new Mock <IExtensionRepository>(); var erContextBuilder = new ExecutionRequestContextBuilder(mockExtensionRepository.Object); var execRequestApiModel = new ExecutionRequestApiModel { ExtensionId = DefaultExtensionId, ExtensionVersionId = DefaultExtensionVersionId, Priority = ExecutionPriority.Low.ToString() }; var extension = CreateDefaultExtension(); mockExtensionRepository .Setup(r => r.GetExtensionAsync(DefaultExtensionId)) .Returns(Task.FromResult(extension)); var erContext = await erContextBuilder.BuildExecutionRequestContextAsync(execRequestApiModel); erContext.ValidationErrors.Should().HaveCount(1); erContext.ValidationErrors.First().Should().Contain(ErrorCodes.PriorityNotSupported); }