Esempio n. 1
0
 /// <summary>
 /// Generates client using provided settings.
 /// </summary>
 /// <param name="settings">Code generator settings.</param>
 public static void Generate(Settings settings)
 {
     if (settings == null)
     {
         throw new ArgumentNullException("settings");
     }
     Logger.Entries.Clear();
     Logger.LogInfo(Resources.AutoRestCore, Version);
     settings.Validate();
     CodeGenerator codeGenerator = ExtensionsLoader.GetCodeGenerator(settings);
     Modeler modeler = ExtensionsLoader.GetModeler(settings);
     ServiceClient serviceClient;
     try
     {
         serviceClient = modeler.Build();
     }
     catch (Exception exception)
     {
         throw ErrorManager.CreateError(exception, Resources.ErrorGeneratingClientModel, exception.Message);
     }
     try
     {
         codeGenerator.NormalizeClientModel(serviceClient);
         codeGenerator.Generate(serviceClient).GetAwaiter().GetResult();
     }
     catch (Exception exception)
     {
         throw ErrorManager.CreateError(exception, Resources.ErrorSavingGeneratedCode, exception.Message);
     }
 }
Esempio n. 2
0
        public void TestSettingsFromSwagger()
        {
            var settings = new Settings
            {
                Namespace = "Test",
                Modeler = "Swagger",
                CodeGenerator = "CSharp",
                Input = Path.Combine("Swagger", "swagger-x-ms-code-generation-settings.json"),
                Header = "NONE"
            };
            var modeler = ExtensionsLoader.GetModeler(settings);
            var client = modeler.Build();
            var codeGenerator = ExtensionsLoader.GetCodeGenerator(settings) as CSharpCodeGenerator;
            settings.Validate();

            Assert.Equal("MIT", settings.Header);
            Assert.Equal(true, codeGenerator.InternalConstructors);
        }