Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

validation fails if securityScheme doesn't contain 'settings' #118

Open
bensonrodney opened this issue Oct 19, 2016 · 1 comment
Open

validation fails if securityScheme doesn't contain 'settings' #118

bensonrodney opened this issue Oct 19, 2016 · 1 comment

Comments

@bensonrodney
Copy link

bensonrodney commented Oct 19, 2016

validation fails if a securityScheme doesn't contain 'settings' but the spec defines it as optional.

https://github.com/raml-org/raml-spec/blob/master/versions/raml-08/raml-08.md#settings

This spec is for version 0.8, it is the same in version 1.0

@RochesterinNYC
Copy link

Validation is failing for me on all the .raml setups I'm trying to validate that include securitySchemes.

Example .raml from raml-spec docs:

#%RAML 1.0
title: My Sample API
securitySchemes:
  oauth_1_0:
    description: |
      OAuth 1.0 continues to be supported for all API requests, but OAuth 2.0 is now preferred.
    type: OAuth 1.0
    settings:
      requestTokenUri: https://api.mysampleapi.com/1/oauth/request_token
      authorizationUri: https://api.mysampleapi.com/1/oauth/authorize
      tokenCredentialsUri: https://api.mysampleapi.com/1/oauth/access_token
      signatures: [ 'HMAC-SHA1', 'PLAINTEXT' ]

Fails with the following error:

$ ramlfications validate test.raml
Traceback (most recent call last):
  File "/Users/jameswen/.local/bin/ramlfications", line 11, in <module>
    sys.exit(main())
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/ramlfications/__main__.py", line 30, in validate
    vvalidate(ramlfile, config)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/ramlfications/__init__.py", line 98, in validate
    parse_raml(loader, config)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/ramlfications/parser.py", line 52, in parse_raml
    root.security_schemes = create_sec_schemes(root.raml_obj, root)
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/ramlfications/parser.py", line 282, in create_sec_schemes
    name = list(iterkeys(s))[0]
  File "/Users/jameswen/.local/venvs/ramlfications/lib/python2.7/site-packages/six.py", line 593, in iterkeys
    return d.iterkeys(**kw)
AttributeError: 'str' object has no attribute 'iterkeys'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants