winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

ConfigureTestCommand.cpp (2732B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #include "pch.h"
      4 #include "ConfigureTestCommand.h"
      5 #include "Workflows/ConfigurationFlow.h"
      6 #include "Workflows/MSStoreInstallerHandler.h"
      7 #include "ConfigurationCommon.h"
      8 
      9 using namespace AppInstaller::CLI::Workflow;
     10 
     11 namespace AppInstaller::CLI
     12 {
     13     std::vector<Argument> ConfigureTestCommand::GetArguments() const
     14     {
     15         return {
     16             Argument{ Execution::Args::Type::ConfigurationFile, Resource::String::ConfigurationFileArgumentDescription, ArgumentType::Positional },
     17             Argument{ Execution::Args::Type::ConfigurationModulePath, Resource::String::ConfigurationModulePath, ArgumentType::Positional },
     18             Argument{ Execution::Args::Type::ConfigurationProcessorPath, Resource::String::ConfigurationProcessorPath, ArgumentType::Standard, Argument::Visibility::Help },
     19             Argument{ Execution::Args::Type::ConfigurationHistoryItem, Resource::String::ConfigurationHistoryItemArgumentDescription, ArgumentType::Standard, Argument::Visibility::Help },
     20             Argument{ Execution::Args::Type::ConfigurationAcceptWarning, Resource::String::ConfigurationAcceptWarningArgumentDescription, ArgumentType::Flag },
     21         };
     22     }
     23 
     24     Resource::LocString ConfigureTestCommand::ShortDescription() const
     25     {
     26         return { Resource::String::ConfigureTestCommandShortDescription };
     27     }
     28 
     29     Resource::LocString ConfigureTestCommand::LongDescription() const
     30     {
     31         return { Resource::String::ConfigureTestCommandLongDescription };
     32     }
     33 
     34     Utility::LocIndView ConfigureTestCommand::HelpLink() const
     35     {
     36         return "https://aka.ms/winget-command-configure#test"_liv;
     37     }
     38 
     39     void ConfigureTestCommand::ExecuteInternal(Execution::Context& context) const
     40     {
     41         context <<
     42             VerifyIsFullPackage <<
     43             VerifyFileOrUri(Execution::Args::Type::ConfigurationFile) <<
     44             CreateConfigurationProcessorWithoutFactory <<
     45             OpenConfigurationSet <<
     46             CreateConfigurationProcessor <<
     47             ShowConfigurationSet <<
     48             ShowConfigurationSetConflicts <<
     49             ConfirmConfigurationProcessing(false) <<
     50             TestConfigurationSet;
     51     }
     52 
     53     void ConfigureTestCommand::ValidateArgumentsInternal(Execution::Args& execArgs) const
     54     {
     55         Configuration::ValidateCommonArguments(execArgs, true);
     56     }
     57 
     58     void ConfigureTestCommand::Complete(Execution::Context& context, Execution::Args::Type argType) const
     59     {
     60         if (argType == Execution::Args::Type::ConfigurationHistoryItem)
     61         {
     62             context << CompleteConfigurationHistoryItem;
     63         }
     64     }
     65 }