private static async Task <ClientGeneratorModel> GetEpiGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("epi.raml");
            var model = new ClientGeneratorService(raml, "EpiApi").BuildModel();

            return(model);
        }
        public override void GenerateCode(RamlInfo data, Project proj, string targetNamespace, string clientRootClassName,
                                          string apiRefsFolderPath, string ramlDestFile, string destFolderPath, string destFolderName, ProjectItem ramlProjItem)
        {
            //ramlProjItem.Properties.Item("CustomTool").Value = string.Empty; // to cause a refresh when file already exists
            //ramlProjItem.Properties.Item("CustomTool").Value = "RamlClientTool";

            var model          = new ClientGeneratorService(data.RamlDocument, clientRootClassName, targetNamespace, targetNamespace + ".Models").BuildModel();
            var directoryName  = Path.GetDirectoryName(ramlDestFile).TrimEnd(Path.DirectorySeparatorChar);
            var templateFolder = directoryName.Substring(0, directoryName.LastIndexOf(Path.DirectorySeparatorChar)) +
                                 Path.DirectorySeparatorChar + "Templates" + Path.DirectorySeparatorChar;

            var templateFilePath = Path.Combine(templateFolder, ClientT4TemplateName);
            var extensionPath    = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;

            TemplatesManager.CopyClientTemplateToProjectFolder(apiRefsFolderPath, "Client");

            var t4Service = new T4Service(ServiceProvider);
            var res       = t4Service.TransformText(templateFilePath, model, extensionPath, ramlDestFile, targetNamespace);

            if (res.HasErrors)
            {
                ActivityLog.LogError(VisualStudioAutomationHelper.RamlVsToolsActivityLogSource, res.Errors);
                MessageBox.Show(res.Errors);
            }
            else
            {
                var content      = TemplatesManager.AddClientMetadataHeader(res.Content);
                var csTargetFile = Path.Combine(destFolderPath, destFolderName + ".cs");
                File.WriteAllText(csTargetFile, content);
                ramlProjItem.ProjectItems.AddFromFile(csTargetFile);
            }
        }
        private static async Task <ClientGeneratorModel> GetSameNameGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/same-name-dif-obj.raml");
            var model = new ClientGeneratorService(raml, "SameName", "TargetNamespace").BuildModel();

            return(model);
        }
        private static async Task <ClientGeneratorModel> GetPatchGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/patch.raml");
            var model = new ClientGeneratorService(raml, "Patch", "TargetNamespace").BuildModel();

            return(model);
        }
        private static async Task <ClientGeneratorModel> GetSchemaTestsGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/schematests.raml");
            var model = new ClientGeneratorService(raml, "SchemaTest", "NsTest").BuildModel();

            return(model);
        }
        private static async Task <ClientGeneratorModel> GetExternalRefsGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/external-refs.raml");
            var model = new ClientGeneratorService(raml, "ExternalRefs", "TargetNamespace").BuildModel();

            return(model);
        }
        private static async Task <ClientGeneratorModel> GetDarsWithParamsGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/darsparam.raml");
            var model = new ClientGeneratorService(raml, "DarsApi", "TargetNamespace").BuildModel();

            return(model);
        }
        private static async Task <ClientGeneratorModel> GetFstabGeneratedModel()
        {
            var raml  = await new RamlParser().LoadAsync("files/fstab.raml");
            var model = new ClientGeneratorService(raml, "FstabApi", "NsTest").BuildModel();

            return(model);
        }
Example #9
0
        private void GenerateCode(string targetNamespace, string clientRootClassName, string ramlDestFile, string destFolderPath,
                                  string destFolderName)
        {
            var ramlInfo = RamlInfoService.GetRamlInfo(ramlDestFile);

            if (ramlInfo.HasErrors)
            {
                ActivityLog.LogError(VisualStudioAutomationHelper.RamlVsToolsActivityLogSource, ramlInfo.ErrorMessage);
                MessageBox.Show(ramlInfo.ErrorMessage);
                return;
            }

            var model          = new ClientGeneratorService(ramlInfo.RamlDocument, clientRootClassName, targetNamespace).BuildModel();
            var directoryName  = Path.GetDirectoryName(ramlDestFile).TrimEnd(Path.DirectorySeparatorChar);
            var templateFolder = directoryName.Substring(0, directoryName.LastIndexOf(Path.DirectorySeparatorChar)) +
                                 Path.DirectorySeparatorChar + "Templates";

            var templateFilePath = Path.Combine(templateFolder, ClientT4TemplateName);
            var extensionPath    = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;
            var t4Service        = new T4Service(ServiceProvider);
            var res = t4Service.TransformText(templateFilePath, model, extensionPath, ramlDestFile, targetNamespace);

            if (res.HasErrors)
            {
                ActivityLog.LogError(VisualStudioAutomationHelper.RamlVsToolsActivityLogSource, res.Errors);
                MessageBox.Show(res.Errors);
                return;
            }

            var content      = TemplatesManager.AddClientMetadataHeader(res.Content);
            var csTargetFile = Path.Combine(destFolderPath, destFolderName + ".cs");

            File.WriteAllText(csTargetFile, content);
        }
Example #10
0
        private static async Task <ClientGeneratorModel> GetRootGeneratedModel()
        {
            var raml  = await new AmfParser().Load("files/root.raml");
            var model = new ClientGeneratorService(raml, "Root", "TargetNamespace", "TargetNamespace.Models").BuildModel();

            return(model);
        }
        public void Should_Build_Uri_Parameters_From_Resources()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var uriParameters = new Dictionary <string, Parameter>
            {
                {
                    "code", new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "token", new Parameter
                    {
                        DisplayName = "token",
                        Type        = "string"
                    }
                }
            };

            var methods = new List <Method>
            {
                new Method
                {
                    Verb = "get"
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri   = "/movies/{token}/abc/{code}/asd/{extra}",
                    Methods       = methods,
                    UriParameters = uriParameters
                },
                new Resource
                {
                    RelativeUri = "/directors/{a}/abc/{b}{c}/asd/{d}",
                    Methods     = methods
                }
            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test", "TestNs");
            var model   = service.BuildModel();

            Assert.AreEqual(2, model.UriParameterObjects.Count);

            var moviesUriParamObj    = model.UriParameterObjects.First(o => o.Key.ToLowerInvariant().Contains("movies")).Value;
            var directorsUriParamObj = model.UriParameterObjects.First(o => o.Key.ToLowerInvariant().Contains("directors")).Value;

            Assert.AreEqual(3, moviesUriParamObj.Properties.Count);
            Assert.AreEqual(4, directorsUriParamObj.Properties.Count);
        }
Example #12
0
        public void should_build_uri_parameter_objects()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var uriParams = new Dictionary <string, Parameter>()
            {
                {
                    "code", new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "token", new Parameter
                    {
                        DisplayName = "token",
                        Type        = "string"
                    }
                }
            };



            var methods = new List <Method>
            {
                new Method
                {
                    Verb = "get",
                },
                new Method
                {
                    Verb = "post"
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri   = "/movies",
                    UriParameters = uriParams,
                    Methods       = methods
                }
            };

            doc.Resources = resources;


            var service = new ClientGeneratorService(doc, "test", "NamespaceTest");
            var model   = service.BuildModel();

            Assert.AreEqual(1, model.UriParameterObjects.Count);
            Assert.AreEqual(2, model.UriParameterObjects.First().Value.Properties.Count);
            Assert.IsTrue(model.Classes.First().Methods.All(m => m.UriParametersType == "MoviesUriParameters"));
            Assert.AreEqual(1, model.Objects.Count());
        }
Example #13
0
        private static async Task <ClientGeneratorModel> BuildModel(string ramlFile)
        {
            var fi    = new FileInfo(ramlFile);
            var raml  = await new AmfParser().Load(fi.FullName);
            var model = new ClientGeneratorService(raml, "test", "TargetNamespace", "TargetNamespace.Models").BuildModel();

            return(model);
        }
        private async Task <ClientGeneratorModel> GetRegressionGeneratedModel()
        {
            var raml = await new RamlParser().LoadAsync("regression.raml");

            var model = new ClientGeneratorService(raml, "test").BuildModel();

            return(model);
        }
Example #15
0
        [Test] // JSON.NET issue
        public async Task ShouldHandleJsonSchemaRecursiveTree()
        {
            var raml  = await new AmfParser().Load("files/tree-issue63.raml");
            var model = new ClientGeneratorService(raml, "test", "TargetNamespace", "TargetNamespace.Models").BuildModel();

            Assert.IsNotNull(model);
            Assert.AreEqual(1, model.Objects.Count());
        }
Example #16
0
        public void should_keep_original_names()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var uriParams = new Dictionary <string, Parameter>()
            {
                {
                    "code-oneOne", new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "token_Two", new Parameter
                    {
                        DisplayName = "token",
                        Type        = "string"
                    }
                }
            };



            var methods = new List <Method>
            {
                new Method
                {
                    Verb = "get",
                },
                new Method
                {
                    Verb = "post"
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri   = "/movies",
                    UriParameters = uriParams,
                    Methods       = methods
                }
            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test", "TestNs");
            var model   = service.BuildModel();

            Assert.AreEqual("code-oneOne", model.UriParameterObjects.First().Value.Properties.First(p => p.Name == "CodeoneOne").OriginalName);
            Assert.AreEqual("token_Two", model.UriParameterObjects.First().Value.Properties.First(p => p.Name == "Token_Two").OriginalName);
        }
Example #17
0
        private static ClientGeneratorModel GetGeneratorModel(string wszInputFilePath, RamlInfo ramlInfo)
        {
            var rootName = NetNamingMapper.GetObjectName(Path.GetFileNameWithoutExtension(wszInputFilePath));

            if (!rootName.ToLower().Contains("api"))
            {
                rootName += "Api";
            }
            var model = new ClientGeneratorService(ramlInfo.RamlDocument, rootName).BuildModel();

            return(model);
        }
Example #18
0
        public void GenerateCode(RamlInfo data, string targetNamespace, string clientRootClassName, string ramlDestFile, string destFolderPath,
                                 string destFolderName, ProjectItem ramlProjItem)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            //var ramlInfo = await RamlInfoService.GetRamlInfo(ramlDestFile);
            //if (ramlInfo.HasErrors)
            //{
            //    ActivityLog.LogError(VisualStudioAutomationHelper.RamlVsToolsActivityLogSource, ramlInfo.ErrorMessage);
            //    MessageBox.Show(ramlInfo.ErrorMessage);
            //    return;
            //}

            var model          = new ClientGeneratorService(data.RamlDocument, clientRootClassName, targetNamespace, targetNamespace + ".Models").BuildModel();
            var directoryName  = Path.GetDirectoryName(ramlDestFile).TrimEnd(Path.DirectorySeparatorChar);
            var templateFolder = directoryName.Substring(0, directoryName.LastIndexOf(Path.DirectorySeparatorChar)) +
                                 Path.DirectorySeparatorChar + "Templates" + Path.DirectorySeparatorChar;

            var templateFilePath = Path.Combine(templateFolder, ClientT4TemplateName);
            var extensionPath    = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;

            // when array has no properties, set it collection on base type
            foreach (var arrayModel in model.Objects.Where(o => o.IsArray && o.Properties.Count == 0 && o.Type != null &&
                                                           CollectionTypeHelper.IsCollection(o.Type) && !NewNetTypeMapper.IsPrimitiveType(CollectionTypeHelper.GetBaseType(o.Type))))
            {
                arrayModel.BaseClass = arrayModel.Type.Substring(1); // remove the initil "I" to make it a concrete class
            }

            var t4Service = new T4Service(ServiceProvider);
            var res       = t4Service.TransformText(templateFilePath, model, extensionPath, ramlDestFile, targetNamespace);

            if (res.HasErrors)
            {
                ActivityLog.LogError(VisualStudioAutomationHelper.RamlVsToolsActivityLogSource, res.Errors);
                MessageBox.Show(res.Errors);
                return;
            }

            var content      = TemplatesManager.AddClientMetadataHeader(res.Content);
            var csTargetFile = Path.Combine(destFolderPath, destFolderName + ".cs");

            File.WriteAllText(csTargetFile, content);
            ramlProjItem.ProjectItems.AddFromFile(csTargetFile);
        }
        public void Generate(AmfModel ramlDoc, string targetFileName, string targetNamespace, string templatesFolder,
                             string destinationFolder)
        {
            templatesFolder = string.IsNullOrWhiteSpace(templatesFolder)
                ? GetTemplateDefaultPath()
                : templatesFolder;


            var model = new ClientGeneratorService(ramlDoc, targetFileName + "Client", targetNamespace, targetNamespace + ".Models").BuildModel();

            var templateFilePath = Path.Combine(templatesFolder, ClientT4TemplateName);
            var extensionPath    = Path.GetDirectoryName(GetType().Assembly.Location) + Path.DirectorySeparatorChar;

            var host   = new CustomCmdLineHost();
            var engine = new Engine();

            host.TemplateFileValue = templateFilePath;

            // Read the T4 from disk into memory
            var templateFileContent = File.ReadAllText(templateFilePath);

            templateFileContent = templateFileContent.Replace("$(binDir)", extensionPath);
            templateFileContent = templateFileContent.Replace("$(ramlFile)", targetFileName.Replace("\\", "\\\\"));
            templateFileContent = templateFileContent.Replace("$(namespace)", targetNamespace);

            host.Session          = host.CreateSession();
            host.Session["model"] = model;

            var output = engine.ProcessTemplate(templateFileContent, host);

            foreach (CompilerError error in host.Errors)
            {
                Console.WriteLine(error.ToString());
            }

            //var t4Service = new T4Service(ServiceProvider.GlobalProvider);
            //var res = t4Service.TransformText(templateFilePath, model, extensionPath, opts.Source, targetNamespace);
            File.WriteAllText(Path.Combine(destinationFolder, targetFileName.Replace(".raml", ".cs")), output, host.FileEncoding);
        }
        public void Should_Inherit_Uri_Parameters_When_Nested_Resources_ClientCase2()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var uriParameters1 = new Dictionary <string, Parameter>
            {
                {
                    "id", new Parameter
                    {
                        DisplayName = "id",
                        Type        = "integer"
                    }
                }
            };

            var uriParameters2 = new Dictionary <string, Parameter>
            {
                {
                    "current", new Parameter
                    {
                        DisplayName = "current",
                        Type        = "boolean"
                    }
                }
            };

            var methods = new List <Method>
            {
                new Method
                {
                    Verb = "get"
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri   = "/{id}",
                    Methods       = methods,
                    UriParameters = uriParameters1,
                    Resources     = new Collection <Resource>
                    {
                        new Resource
                        {
                            RelativeUri = "/something",
                            Methods     = methods,
                            Resources   = new Collection <Resource>
                            {
                                new Resource
                                {
                                    RelativeUri   = "/{current}",
                                    Methods       = methods,
                                    UriParameters = uriParameters2,
                                    Resources     = new Collection <Resource>
                                    {
                                        new Resource
                                        {
                                            RelativeUri = "/deep",
                                            Methods     = methods
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test", "TargetNamespace");
            var model   = service.BuildModel();

            Assert.AreEqual("bool", model.Classes.First(m => m.Name.Contains("Deep")).Methods.First().UriParameters.First(p => p.Name == "current").Type);
            Assert.AreEqual("int", model.Classes.First(m => m.Name.Contains("Deep")).Methods.First().UriParameters.First(p => p.Name == "id").Type);
        }
        public void Should_Build_Uri_Parameters_When_Nested_Resources()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var uriParameters = new Dictionary <string, Parameter>
            {
                {
                    "code", new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "token", new Parameter
                    {
                        DisplayName = "token",
                        Type        = "string"
                    }
                }
            };

            var methods = new List <Method>
            {
                new Method
                {
                    Verb = "get"
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri   = "/movies/{token}{extra}/abc/{code}{extra}/asd",
                    Methods       = methods,
                    UriParameters = uriParameters,
                    Resources     = new[]
                    {
                        new Resource
                        {
                            RelativeUri = "/{a}{b}",
                            Methods     = methods
                        }
                    }
                }
            };

            doc.Resources = resources;


            var service = new ClientGeneratorService(doc, "test", "TestNs");
            var model   = service.BuildModel();

            Assert.AreEqual(2, model.UriParameterObjects.Count);

            var moviesUriParamObj    = model.UriParameterObjects.First().Value;
            var directorsUriParamObj = model.UriParameterObjects.Last().Value;

            Assert.AreEqual(3, moviesUriParamObj.Properties.Count);
            Assert.AreEqual(5, directorsUriParamObj.Properties.Count);
        }
Example #22
0
        public void Should_Build_Multiple_Headers_When_Many_Response_With_Headers()
        {
            var doc = new RamlDocument {
                Title = "test"
            };

            var okHeaders = new Dictionary <string, Parameter>
            {
                {
                    "code",
                    new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "token",
                    new Parameter
                    {
                        DisplayName = "token",
                        Type        = "string"
                    }
                }
            };

            var errorHeaders = new Dictionary <string, Parameter>
            {
                {
                    "code",
                    new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "error",
                    new Parameter
                    {
                        DisplayName = "error",
                        Type        = "string"
                    }
                }
            };

            var badRequestHeaders = new Dictionary <string, Parameter>
            {
                {
                    "code",
                    new Parameter
                    {
                        DisplayName = "code",
                        Type        = "integer"
                    }
                },
                {
                    "description",
                    new Parameter
                    {
                        DisplayName = "description",
                        Type        = "string"
                    }
                }
            };

            var okResponse = new Response
            {
                Code    = "200",
                Headers = okHeaders
            };

            var errorResponse = new Response
            {
                Code    = "400",
                Headers = errorHeaders
            };

            var notFoundResponse = new Response
            {
                Code    = "404",
                Headers = badRequestHeaders
            };

            var methods = new List <Method>
            {
                new Method
                {
                    Verb      = "get",
                    Responses = new[] { okResponse, errorResponse, notFoundResponse }
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri = "movies",
                    Methods     = methods
                }
            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test", "TargetNamespace");
            var model   = service.BuildModel();

            Assert.AreEqual(4, model.ResponseHeaderObjects.Count);

            var multipleModel = model.ResponseHeaderObjects.First(o => o.Key.Contains("Multiple")).Value;

            Assert.AreEqual(3, multipleModel.Properties.Count);

            Assert.AreEqual("Models." + model.ResponseHeaderObjects.First(o => o.Key.Contains("Multiple")).Value.Name,
                            model.Classes.First().Methods.First().ResponseHeaderType);
        }
Example #23
0
        public void Should_Get_Multiple_Type_When_Many_Response_Schemas_On_Root()
        {
            var doc = new RamlDocument {
                Title = "test"
            };
            var schemas     = new List <Dictionary <string, string> >();
            var schemaMovie = new Dictionary <string, string>();

            schemaMovie.Add("movie", movieSchema);
            var schemaError = new Dictionary <string, string>();

            schemaMovie.Add("error", errorSchema);
            var schemaNotFound = new Dictionary <string, string>();

            schemaMovie.Add("notfound", notFoundSchema);
            schemas.Add(schemaMovie);
            schemas.Add(schemaError);
            schemas.Add(schemaNotFound);
            doc.Schemas = schemas;

            var okResponse = new Response
            {
                Code = "200",
                Body = new Dictionary <string, MimeType>
                {
                    {
                        "application/json", new MimeType
                        {
                            Schema = "movie"
                        }
                    }
                }
            };

            var errorResponse = new Response
            {
                Code = "400",
                Body = new Dictionary <string, MimeType>
                {
                    {
                        "application/json", new MimeType
                        {
                            Schema = "error"
                        }
                    }
                }
            };

            var notFoundResponse = new Response
            {
                Code = "404",
                Body = new Dictionary <string, MimeType>
                {
                    {
                        "application/json", new MimeType
                        {
                            Schema = "notfound"
                        }
                    }
                }
            };

            var methods = new List <Method>
            {
                new Method
                {
                    Verb      = "get",
                    Responses = new[] { okResponse, errorResponse, notFoundResponse }
                }
            };

            var resources = new Collection <Resource>
            {
                new Resource
                {
                    RelativeUri = "movies",
                    Methods     = methods
                }
            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test");
            var model   = service.BuildModel();

            Assert.AreEqual(4, model.ResponseObjects.Count);

            var multipleModel = model.ResponseObjects.First(o => o.Key.Contains("Multiple")).Value;

            Assert.AreEqual(3, multipleModel.Properties.Count);

            Assert.AreEqual(1, multipleModel.Properties.Count(p => p.Type == "Movie"));
            Assert.AreEqual(1, multipleModel.Properties.Count(p => p.Type == "Error"));
            Assert.AreEqual(1, multipleModel.Properties.Count(p => p.Type == "Notfound"));
        }
        public void Should_Get_Multiple_Type_When_Many_Response_Schemas_On_Resource()
        {
            var doc = new RamlDocument { Title = "test" };

            var okResponse = new Response
            {
                Code = "200",
                Body = new Dictionary<string, MimeType>
                                        {
                                            {
                                                "application/json", new MimeType
                                                                    {
                                                                        Schema = movieSchema
                                                                    }
                                            }
                                        }
            };

            var errorResponse = new Response
            {
                Code = "400",
                Body = new Dictionary<string, MimeType>
                                           {
                                               {
                                                   "application/json", new MimeType
                                                                       {
                                                                           Schema = errorSchema
                                                                       }
                                               }
                                           }
            };

            var notFoundResponse = new Response
            {
                Code = "404",
                Body = new Dictionary<string, MimeType>
                                              {
                                                  {
                                                      "application/json", new MimeType
                                                                          {
                                                                              Schema = notFoundSchema
                                                                          }
                                                  }
                                              }
            };

            var methods = new List<Method>
                          {
                              new Method
                              {
                                  Verb = "get",
                                  Responses = new[] { okResponse, errorResponse, notFoundResponse }
                              }
                          };

            var resources = new Collection<Resource>
                            {
                                new Resource
                                {
                                    RelativeUri = "/movies",
                                    Methods = methods
                                }
                            };

            doc.Resources = resources;

            var service = new ClientGeneratorService(doc, "test", "TestNs");
            var model = service.BuildModel();
            Assert.AreEqual(4, model.ResponseObjects.Count);

            var multipleModel = model.ResponseObjects.First(o => o.Key.Contains("Multiple")).Value;

            Assert.AreEqual(3, multipleModel.Properties.Count);
        }
Example #25
0
        private static ClientGeneratorModel GetGeneratorModel(string clientRootClassName, RamlInfo ramlInfo, string targetNamespace)
        {
            var model = new ClientGeneratorService(ramlInfo.RamlDocument, clientRootClassName, targetNamespace).BuildModel();

            return(model);
        }