public void should_parse_whewn_oauth2() { var dynamicRaml = new Dictionary<string, object>(); dynamicRaml.Add("title", "test"); dynamicRaml.Add("baseUri", "http://baseuri.com"); var oauth = new Dictionary<string, object>(); var settings = new Dictionary<string, object>(); var oauthSettings = new Dictionary<string, object>(); oauthSettings.Add("authorizationUri","https://authorization.com"); oauthSettings.Add("accessTokenUri", "https://accesstoken.com"); oauthSettings.Add("authorizationGrants", new [] { "read", "write" }); settings.Add("settings", oauthSettings); settings.Add("type", "OAuth 2.0"); oauth.Add("oauth_2_0", settings); var securitySchemes = new object[] { oauth }; dynamicRaml.Add("securitySchemes", securitySchemes); var ramlDocument = new RamlBuilder().Build(dynamicRaml); var security = SecurityParser.GetSecurity(ramlDocument); Assert.AreEqual("https://accesstoken.com", security.AccessTokenUri); Assert.AreEqual("read", security.AuthorizationGrants.First()); Assert.AreEqual("https://authorization.com", security.AuthorizationUri); }
public async Task<RamlDocument> LoadRamlAsync(string raml) { if (string.IsNullOrWhiteSpace(raml)) throw new ArgumentException("raml"); var load = Edge.Func(@" return function (content, callback) { var raml = require('raml-parser'); raml.load(content).then( function(parsed) { callback(null, parsed); }, function(error) { callback(null, 'Error parsing: ' + error); }); } "); var rawresult = await load(raml); var error = rawresult as string; if (!string.IsNullOrWhiteSpace(error) && error.ToLowerInvariant().Contains("error")) throw new FormatException(error); var ramlDocument = new RamlBuilder().Build((IDictionary<string, object>)rawresult); return ramlDocument; }
public void should_parse_whewn_oauth1() { var dynamicRaml = new Dictionary<string, object>(); dynamicRaml.Add("title","test"); dynamicRaml.Add("baseUri","http://baseuri.com"); var oauth = new Dictionary<string, object>(); var settings = new Dictionary<string, object>(); var oauthSettings = new Dictionary<string, object>(); oauthSettings.Add("authorizationUri", "https://authorization.com"); oauthSettings.Add("tokenCredentialsUri", "https://tokencredentials.com"); oauthSettings.Add("requestTokenUri", "https://requesttoken.com"); settings.Add("settings", oauthSettings); settings.Add("type", "OAuth 1.0"); oauth.Add("oauth_1_0", settings); var securitySchemes = new object[] { oauth }; dynamicRaml.Add("securitySchemes", securitySchemes); var ramlDocument = new RamlBuilder().Build(dynamicRaml); var security = SecurityParser.GetSecurity(ramlDocument); Assert.AreEqual("https://tokencredentials.com", security.TokenCredentialsUri); Assert.AreEqual("https://requesttoken.com", security.RequestTokenUri); Assert.AreEqual("https://authorization.com", security.AuthorizationUri); }