public async Task RecipeController_GetRecipe_EmptyId(string recipeId) { var directoryManager = new DirectoryManager(); var fileManager = new FileManager(); var deploymentManifestEngine = new DeploymentManifestEngine(directoryManager, fileManager); var consoleInteractiveServiceImpl = new ConsoleInteractiveServiceImpl(); var consoleOrchestratorLogger = new ConsoleOrchestratorLogger(consoleInteractiveServiceImpl); var commandLineWrapper = new CommandLineWrapper(consoleOrchestratorLogger); var customRecipeLocator = new CustomRecipeLocator(deploymentManifestEngine, consoleOrchestratorLogger, commandLineWrapper, directoryManager); var projectDefinitionParser = new ProjectDefinitionParser(fileManager, directoryManager); var recipeController = new RecipeController(customRecipeLocator, projectDefinitionParser); var response = await recipeController.GetRecipe(recipeId); Assert.IsType <BadRequestObjectResult>(response); }
private async Task <RecommendationEngine> BuildRecommendationEngine(string testProjectName) { var fullPath = SystemIOUtilities.ResolvePath(testProjectName); var parser = new ProjectDefinitionParser(new FileManager(), new DirectoryManager()); var awsCredentials = new Mock <AWSCredentials>(); var session = new OrchestratorSession( await parser.Parse(fullPath), awsCredentials.Object, "us-west-2", "123456789012") { AWSProfileName = "default" }; return(new RecommendationEngine(new[] { RecipeLocator.FindRecipeDefinitionsPath() }, session)); }
public async Task RecipeController_GetRecipe_WithProjectPath() { var directoryManager = new DirectoryManager(); var fileManager = new FileManager(); var projectDefinitionParser = new ProjectDefinitionParser(fileManager, directoryManager); var mockCustomRecipeLocator = new Mock <ICustomRecipeLocator>(); var sourceProjectDirectory = SystemIOUtilities.ResolvePath("WebAppWithDockerFile"); var customLocatorCalls = 0; mockCustomRecipeLocator .Setup(x => x.LocateCustomRecipePaths(It.IsAny <string>(), It.IsAny <string>())) .Callback <string, string>((csProjectPath, solutionPath) => { customLocatorCalls++; Assert.Equal(new DirectoryInfo(sourceProjectDirectory).FullName, Directory.GetParent(csProjectPath).FullName); }) .Returns(Task.FromResult(new HashSet <string>())); var projectDefinition = await projectDefinitionParser.Parse(sourceProjectDirectory); var recipeDefinitions = await RecipeHandler.GetRecipeDefinitions(mockCustomRecipeLocator.Object, projectDefinition); var recipe = recipeDefinitions.First(); Assert.NotEqual(0, customLocatorCalls); customLocatorCalls = 0; var recipeController = new RecipeController(mockCustomRecipeLocator.Object, projectDefinitionParser); var response = await recipeController.GetRecipe(recipe.Id, sourceProjectDirectory); Assert.NotEqual(0, customLocatorCalls); var result = Assert.IsType <OkObjectResult>(response); var resultRecipe = Assert.IsType <RecipeSummary>(result.Value); Assert.Equal(recipe.Id, resultRecipe.Id); }
public SetOptionSettingTests() { var projectPath = SystemIOUtilities.ResolvePath("WebAppNoDockerFile"); var parser = new ProjectDefinitionParser(new FileManager(), new DirectoryManager()); var awsCredentials = new Mock <AWSCredentials>(); var session = new OrchestratorSession( parser.Parse(projectPath).Result, awsCredentials.Object, "us-west-2", "123456789012") { AWSProfileName = "default" }; var engine = new RecommendationEngine(new[] { RecipeLocator.FindRecipeDefinitionsPath() }, session); var recommendations = engine.ComputeRecommendations().GetAwaiter().GetResult(); _recommendation = recommendations.First(r => r.Recipe.Id == Constants.ASPNET_CORE_BEANSTALK_RECIPE_ID); _optionSetting = _recommendation.Recipe.OptionSettings.First(x => x.Id.Equals("EnvironmentType")); }
public async Task RecipeController_GetRecipe_HappyPath() { var directoryManager = new DirectoryManager(); var fileManager = new FileManager(); var deploymentManifestEngine = new DeploymentManifestEngine(directoryManager, fileManager); var consoleInteractiveServiceImpl = new ConsoleInteractiveServiceImpl(); var consoleOrchestratorLogger = new ConsoleOrchestratorLogger(consoleInteractiveServiceImpl); var commandLineWrapper = new CommandLineWrapper(consoleOrchestratorLogger); var customRecipeLocator = new CustomRecipeLocator(deploymentManifestEngine, consoleOrchestratorLogger, commandLineWrapper, directoryManager); var projectDefinitionParser = new ProjectDefinitionParser(fileManager, directoryManager); var recipeController = new RecipeController(customRecipeLocator, projectDefinitionParser); var recipeDefinitions = await RecipeHandler.GetRecipeDefinitions(customRecipeLocator, null); var recipe = recipeDefinitions.First(); var response = await recipeController.GetRecipe(recipe.Id); var result = Assert.IsType <OkObjectResult>(response); var resultRecipe = Assert.IsType <RecipeSummary>(result.Value); Assert.Equal(recipe.Id, resultRecipe.Id); }
public DeploymentBundleHandlerTests() { var awsResourceQueryer = new TestToolAWSResourceQueryer(); var interactiveService = new TestToolOrchestratorInteractiveService(); var zipFileManager = new TestZipFileManager(); _commandLineWrapper = new TestToolCommandLineWrapper(); _directoryManager = new TestDirectoryManager(); _projectDefinitionParser = new ProjectDefinitionParser(new FileManager(), new DirectoryManager()); _deploymentBundleHandler = new DeploymentBundleHandler(_commandLineWrapper, awsResourceQueryer, interactiveService, _directoryManager, zipFileManager); _recipeDefinition = new Mock <RecipeDefinition>( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DeploymentTypes>(), It.IsAny <DeploymentBundleTypes>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()).Object; }