private async Task <Orchestrator> GetOrchestrator(string targetApplicationProjectPath)
        {
            var directoryManager              = new DirectoryManager();
            var fileManager                   = new FileManager();
            var deploymentManifestEngine      = new DeploymentManifestEngine(directoryManager, fileManager);
            var localUserSettingsEngine       = new LocalUserSettingsEngine(fileManager, directoryManager);
            var consoleInteractiveServiceImpl = new ConsoleInteractiveServiceImpl();
            var consoleOrchestratorLogger     = new ConsoleOrchestratorLogger(consoleInteractiveServiceImpl);
            var commandLineWrapper            = new CommandLineWrapper(consoleOrchestratorLogger);
            var customRecipeLocator           = new CustomRecipeLocator(deploymentManifestEngine, consoleOrchestratorLogger, commandLineWrapper, directoryManager);

            var projectDefinition = await new ProjectDefinitionParser(fileManager, directoryManager).Parse(targetApplicationProjectPath);
            var session           = new OrchestratorSession(projectDefinition);

            return(new Orchestrator(session,
                                    consoleOrchestratorLogger,
                                    new Mock <ICdkProjectHandler>().Object,
                                    new Mock <ICDKManager>().Object,
                                    new Mock <ICDKVersionDetector>().Object,
                                    new TestToolAWSResourceQueryer(),
                                    new Mock <IDeploymentBundleHandler>().Object,
                                    localUserSettingsEngine,
                                    new Mock <IDockerEngine>().Object,
                                    customRecipeLocator,
                                    new List <string> {
                RecipeLocator.FindRecipeDefinitionsPath()
            },
                                    directoryManager));
        }
        private ICustomRecipeLocator BuildCustomRecipeLocator()
        {
            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);

            return(new CustomRecipeLocator(deploymentManifestEngine, consoleOrchestratorLogger, commandLineWrapper, directoryManager));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }