public void SpecAsFile_GeneratesTheClient()
        {
            //Arrange
            var restApiClientGenerator = new RestApiClientGenerator
            {
                InputOpenApiSpec     = ".\\Resources\\petshop-openapi-spec.json",
                ClientClassName      = "MyClient",
                ClientNamespaceName  = "MyNamespace",
                FolderClientClass    = ".",
                NSwagCommandFullPath = NSWAG_FOLDER
            };

            restApiClientGenerator.BuildEngine = buildEngine.Object;

            //Act
            var result = restApiClientGenerator.Execute();

            //Assert
            Assert.IsTrue(result);
            Assert.AreEqual(errors.Count, 0);
            Assert.IsTrue(File.Exists($"{restApiClientGenerator.FolderClientClass}\\{restApiClientGenerator.ClientClassName}.cs"));

            //Cleanup
            File.Delete($"{restApiClientGenerator.FolderClientClass}\\{restApiClientGenerator.ClientClassName}.cs");
        }
示例#2
0
 static void Main(string[] args)
 {
     var name = "CommonServiceRestClient";
     var outputFolder = Path.Combine(EnvironmentCore.ApplicationBaseDirectory, "../../../Beyova.CommonAdminService/");
     RestApiClientGenerator generator = new RestApiClientGenerator("Beyova.CommonAdminService", name);
     var filePath = Path.Combine(outputFolder, name + ".cs");
     var x = generator.GenerateCodeByType(typeof(IAuthenticationProfileService<,,,>));
     //var generics = typeof(UserInfoAccessController<,,>).GetGenericArguments();
     //foreach (var one in generics)
     //{
     //    var c = one.GetGenericParameterConstraints();
     //}
 }
        public void SpecAsURL_ClientNotGenerated()
        {
            //Arrange
            var restApiClientGenerator = new RestApiClientGenerator
            {
                InputOpenApiSpec     = "https://petstore.swagger.io/v2/swagger.json",
                ClientClassName      = "ClientNotGenerated",
                ClientNamespaceName  = "MyNamespace",
                FolderClientClass    = ".",
                NSwagCommandFullPath = NSWAG_FOLDER
            };

            restApiClientGenerator.BuildEngine = buildEngine.Object;

            //Act
            var result = restApiClientGenerator.Execute();

            //Assert
            Assert.IsFalse(result);
            Assert.IsFalse(File.Exists($"{restApiClientGenerator.FolderClientClass}\\{restApiClientGenerator.ClientClassName}.cs"));
            Assert.AreEqual(errors.Count, 1);
            Assert.AreEqual("URL is not allowed", errors.First().Message);
        }
        public void SpecAsFile_BadFormat_ClientNotGenerated()
        {
            //Arrange
            var restApiClientGenerator = new RestApiClientGenerator
            {
                InputOpenApiSpec     = ".\\Resources\\bad-spec.json",
                ClientClassName      = "BadSpec",
                ClientNamespaceName  = "MyNamespace",
                FolderClientClass    = ".",
                NSwagCommandFullPath = NSWAG_FOLDER
            };

            restApiClientGenerator.BuildEngine = buildEngine.Object;

            //Act
            var result = restApiClientGenerator.Execute();

            //Assert
            Assert.IsFalse(result);
            Assert.AreEqual(errors.Count, 1);
            Assert.IsFalse(File.Exists($"{restApiClientGenerator.FolderClientClass}\\{restApiClientGenerator.ClientClassName}.cs"));
            Assert.AreEqual("\"RestApiClientGenerator\" exited with code -1.", errors.First().Message);
        }