给定预定义模式的跨域身份管理(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 JPA关系   java创建Jar文件,复制类路径   多线程如何在ProducerConsumer情况下停止Java线程?   java MBTiles文件有大小限制吗?   java组织。springframework。奥姆。冬眠3。HibernateQueryException HibernateTemplate   java是否会调用onDestroy()?   java Android找不到构建工具   java Hibernate联接列错误:找不到具有逻辑名称的列   电子邮件如何从Java通过电子邮件发送pdf   java无法多次更新FireBase数据库子项   Java:通过HTTP传输Zipfile的内容   AlertDialog中的java自定义操作模式   在java中编写异步调用序列的更好方法是什么?   utf 8在Java中将UTF8转换为ISO88591如何将其保持为单字节   java为进度条设置了一个固定值