给定预定义模式的跨域身份管理(SCIM)响应系统的验证器

scimschema的Python项目详细描述


scimschema-logo

scimschema

https://travis-ci.org/GordonSo/scimschema.svg?branch=master

根据SCIM(支持python 3+)中指定的预定义scim模式集(json表示格式),验证json内容。

示例用例

看看这个test_scim_schema.py

fromscimschemaimportvalidatefrom.importextension# A sample schema, like what we'd get from response.get(<scim entity url>).json()content={"schemas":["urn:ietf:params:scim:schemas:core2:2.0:Group","urn:huddle:params:scim:schemas:extension:2.0:SimpleAccount"],"id":"2819c223-7f76-453a-919d-413861904646","externalId":9,"meta":{"resourceType":"User","created":"2011-08-01T18:29:49.793Z","lastModified":"Invalid date","location":"https://example.com/v2/Users/2819c223...","version":"W\/\"f250dd84f0671c3\""}}validate(data=content,extension_schema_definitions=extension.schema)>>>E_scimschema._model.scim_exceptions.AggregatedScimMultValueAttributeValidationExceptions:Found1aggregatedexceptionsatScimresponse:>>>EScimAttributeValueNotFoundException:>>>E'Single-value attribute:ipRestrictionsEnabled'isrequiredatthefollowinglocation'['urn:huddle:params:scim:schemas:extension:2.0:Account', 'ipRestrictionsEnabled']'butfound'{}'>>>!!!!!!!!!!!!!!!!!!!Interrupted:1errorsduringcollection!!!!!!!!!!!!!!!!!!!

功能

支持SCIM 2.0
  • 验证SCIM架构定义
    • 验证模型(模式)ID、名称、描述、属性
    • 验证属性(模式)名称、类型、必需、规范值、可变性、返回、唯一性
  • 根据scim模式验证json内容
    • 根据类型(binary、boolean、datetime、decimal、integer、reference、string、complex、multivalued)验证有效值
    • 所需特征、规范值、唯一性

即将推出的功能

  • Validate JSON Content for characteristics below:
    • Mutability, Returned

运行测试套件

该项目需要pytest来发现测试,并且它与travis集成以在提交时运行。 如果您使用的是windows机器,在go.bat中有一些有用的命令可以帮助您开始…

贡献

该项目由位于Huddle的质量保证部门提供支持

源代码在GitHub上可用。

通过github或其他方式联系,也欢迎投稿人!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何强制用户在允许访问活动之前处理对话框?我的许可证代码怎么了?   java ArraysList作为JSON   mysql如何在java中创建包含多个可选where子句的搜索语句?   java如何让Apache Camel在“直接”路径的末尾删除文件?   使用socket在两个Androids之间进行java实时数据传输。IO(websocket)和4G   如何在java中实现两个CORBA服务器之间的通信   会话树xml表示为java对象   java Skype4Java编号swtwin323325   java RecyclerView getAdapterPosition()不工作:第一次单击返回正确位置,第二次单击返回1   java在$TOMCAT/conf/context上为JNDI设置资源。xml   java为什么第二个矩形冲突在第一个矩形冲突时不起作用?   JScrollPane上的java JTextArea未出现在JPanel上   java如何将实现的PriorityQueue打印为字符串?   jpa使用Jersey更新用户角色RESTJava(JAXRS)