fidor_schema 0.10.12 → 0.10.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +1 -21
- data/fidor_schema.gemspec +1 -8
- data/lib/fidor_schema_version.rb +1 -1
- data/schema/v1.0/base_types/base_types.json +14 -0
- data/schema/v1.0/fps_transfer.json +135 -0
- data/schema/v1.0/notification.json +1 -1
- data/schema/v1.0/rate_limit.json +2 -2
- data/schema/v1.0/transaction.json +4 -0
- data/schema/v1.0/transaction_type_details/fps_details.json +27 -0
- data/schema/v1.0/video_ident.json +18 -0
- data/spec/fidor_schema_spec.rb +9 -3
- data/spec/spec_helper.rb +1 -0
- metadata +6 -43
- data/lib/validator.rb +0 -4
- data/lib/validator/base.rb +0 -105
- data/lib/validator/j_schema.rb +0 -34
- data/lib/validator/json-schema.rb +0 -51
- data/lib/validator/json_schema.rb +0 -37
- data/lib/validator/schema.json +0 -150
- data/spec/validator/j_schema_spec.rb +0 -22
- data/spec/validator/json-schema_spec.rb +0 -22
- data/spec/validator/json_schema_spec.rb +0 -13
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2d40d9ba64fea8a6c419d1c1ba64ec8f57225c9e
         | 
| 4 | 
            +
              data.tar.gz: 407f5358049a6d21cdca4fedd1025304ef5f1025
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0753362890e301f069b326c1734d45b4f2ab1230dc1ecfeec3e08c0f53b4a19f307538e306da47f1733a425c76729c8e63e823184dbe3eedb6963523f89ee450
         | 
| 7 | 
            +
              data.tar.gz: 73b666230abfcaff0a468623994891846ba69a3279141e75ae2bc1bd7b099c11b7a5e572547eeac872da6e72417415465bd2d39155aa22450c4d59ad43f8580a
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -5,24 +5,4 @@ require 'rspec/core/rake_task' | |
| 5 5 |  | 
| 6 6 | 
             
            desc 'Run specs'
         | 
| 7 7 | 
             
            RSpec::Core::RakeTask.new
         | 
| 8 | 
            -
            task :default => :spec
         | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
            require 'validator'
         | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
            task :validate_dash do
         | 
| 15 | 
            -
              Validator.run :dash
         | 
| 16 | 
            -
            end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            task :validate_underscore do
         | 
| 19 | 
            -
              Validator.run :underscore
         | 
| 20 | 
            -
            end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            task :validate_jschema do
         | 
| 23 | 
            -
              Validator.run :jschema
         | 
| 24 | 
            -
            end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
            task :validate_schema => [:validate_dash, :validate_underscore, :validate_jschema] do
         | 
| 27 | 
            -
             | 
| 28 | 
            -
            end
         | 
| 8 | 
            +
            task :default => :spec
         | 
    
        data/fidor_schema.gemspec
    CHANGED
    
    | @@ -24,13 +24,6 @@ Gem::Specification.new do |spec| | |
| 24 24 | 
             
              spec.add_development_dependency 'json_schema_tools', '>=0.6.1'
         | 
| 25 25 | 
             
              spec.add_development_dependency 'activemodel' # required by above
         | 
| 26 26 | 
             
              spec.add_development_dependency 'rake'
         | 
| 27 | 
            -
               | 
| 28 | 
            -
             | 
| 29 | 
            -
              # most downloads on rubygems, last updated feb 2015
         | 
| 30 | 
            -
              spec.add_development_dependency 'json-schema'
         | 
| 31 | 
            -
              # 2nd most downloads on rubygems, last updated March 2015
         | 
| 32 | 
            -
              spec.add_development_dependency 'json_schema'
         | 
| 33 | 
            -
              # pretty new , last udpate sep 2014
         | 
| 34 | 
            -
              spec.add_development_dependency 'jschema'
         | 
| 27 | 
            +
              spec.add_development_dependency 'json_schema_validator'
         | 
| 35 28 |  | 
| 36 29 | 
             
            end
         | 
    
        data/lib/fidor_schema_version.rb
    CHANGED
    
    
| @@ -77,6 +77,18 @@ | |
| 77 77 | 
             
                  "pattern"     : "^[A-Z0-9]{8,11}$",
         | 
| 78 78 | 
             
                  "maxLength"   : 11
         | 
| 79 79 | 
             
                },
         | 
| 80 | 
            +
                "account" : {
         | 
| 81 | 
            +
                  "description" : "UK Bank's Account Number",
         | 
| 82 | 
            +
                  "type"        : "string",
         | 
| 83 | 
            +
                  "maxLength"   : 8,
         | 
| 84 | 
            +
                  "pattern"     : "^(\\d){7,8}$"
         | 
| 85 | 
            +
                },
         | 
| 86 | 
            +
                "sort_code" : {
         | 
| 87 | 
            +
                  "description" : "UK Bank's Sort Code",
         | 
| 88 | 
            +
                  "type"        : "string",
         | 
| 89 | 
            +
                  "maxLength"   : 6,
         | 
| 90 | 
            +
                  "pattern"     : "(\\d{2}-?){2}\\d{2}"
         | 
| 91 | 
            +
                },
         | 
| 80 92 | 
             
                "eref" : {
         | 
| 81 93 | 
             
                  "description" : "End-to-end reference.",
         | 
| 82 94 | 
             
                  "type"        : "string",
         | 
| @@ -130,6 +142,8 @@ | |
| 130 142 | 
             
                    "fee",
         | 
| 131 143 | 
             
                    "fidor_payin",
         | 
| 132 144 | 
             
                    "fidor_payout",
         | 
| 145 | 
            +
                    "fps_payin",
         | 
| 146 | 
            +
                    "fps_payout",
         | 
| 133 147 | 
             
                    "gmt_fee",
         | 
| 134 148 | 
             
                    "gmt_refund",
         | 
| 135 149 | 
             
                    "gmt_payout",
         | 
| @@ -0,0 +1,135 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "$schema": "http://json-schema.org/draft-04/schema#",
         | 
| 3 | 
            +
              "type": "object",
         | 
| 4 | 
            +
              "title": "fps_transfer",
         | 
| 5 | 
            +
              "description": "A transfer initiates a transaction e.g get / send money. If the transfer fails no transaction is created!",
         | 
| 6 | 
            +
              "required": [
         | 
| 7 | 
            +
                "account_id",
         | 
| 8 | 
            +
                "amount",
         | 
| 9 | 
            +
                "external_uid",
         | 
| 10 | 
            +
                "remote_account",
         | 
| 11 | 
            +
                "remote_sort_code"
         | 
| 12 | 
            +
              ],
         | 
| 13 | 
            +
              "properties": {
         | 
| 14 | 
            +
                "id": {
         | 
| 15 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/id"
         | 
| 16 | 
            +
                },
         | 
| 17 | 
            +
                "external_uid": {
         | 
| 18 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/external_uid"
         | 
| 19 | 
            +
                },
         | 
| 20 | 
            +
                "account_id": {
         | 
| 21 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/account_id"
         | 
| 22 | 
            +
                },
         | 
| 23 | 
            +
                "user_id": {
         | 
| 24 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/user_id"
         | 
| 25 | 
            +
                },
         | 
| 26 | 
            +
                "transaction_id": {
         | 
| 27 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/transaction_id"
         | 
| 28 | 
            +
                },
         | 
| 29 | 
            +
                "subject": {
         | 
| 30 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/subject",
         | 
| 31 | 
            +
                  "maxLength": 140
         | 
| 32 | 
            +
                },
         | 
| 33 | 
            +
                "amount": {
         | 
| 34 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/amount"
         | 
| 35 | 
            +
                },
         | 
| 36 | 
            +
                "currency": {
         | 
| 37 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/currency",
         | 
| 38 | 
            +
                  "readOnly": true
         | 
| 39 | 
            +
                },
         | 
| 40 | 
            +
                "fee": {
         | 
| 41 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/fee",
         | 
| 42 | 
            +
                  "readOnly": true
         | 
| 43 | 
            +
                },
         | 
| 44 | 
            +
                "remote_name": {
         | 
| 45 | 
            +
                  "description": "Receiving account holder name",
         | 
| 46 | 
            +
                  "type": "string",
         | 
| 47 | 
            +
                  "maxLength": 70
         | 
| 48 | 
            +
                },
         | 
| 49 | 
            +
                "remote_account": {
         | 
| 50 | 
            +
                  "$ref": "../base_types/base_types.json#definitions/account"
         | 
| 51 | 
            +
                },
         | 
| 52 | 
            +
                "remote_sort_code": {
         | 
| 53 | 
            +
                  "$ref": "../base_types/base_types.json#definitions/sort_code"
         | 
| 54 | 
            +
                },
         | 
| 55 | 
            +
                "state": {
         | 
| 56 | 
            +
                  "description": "State of the transfer. received: Order was accepted by the system | processing: Order is being processed | mobile_tan_sent: awaiting tan entry | expired : mtan entry expired | failure: transfer could not be completed | success: transfer successfully executed",
         | 
| 57 | 
            +
                  "enum": [
         | 
| 58 | 
            +
                    "received",
         | 
| 59 | 
            +
                    "mobile_tan_sent",
         | 
| 60 | 
            +
                    "success",
         | 
| 61 | 
            +
                    "expired",
         | 
| 62 | 
            +
                    "failure"
         | 
| 63 | 
            +
                  ],
         | 
| 64 | 
            +
                  "readOnly": true,
         | 
| 65 | 
            +
                  "type": "string"
         | 
| 66 | 
            +
                },
         | 
| 67 | 
            +
                "created_at": {
         | 
| 68 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/created_at"
         | 
| 69 | 
            +
                },
         | 
| 70 | 
            +
                "updated_at": {
         | 
| 71 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/updated_at"
         | 
| 72 | 
            +
                }
         | 
| 73 | 
            +
              },
         | 
| 74 | 
            +
              "links": [
         | 
| 75 | 
            +
                {
         | 
| 76 | 
            +
                  "rel": "self",
         | 
| 77 | 
            +
                  "href": "fps_transfers/{id}"
         | 
| 78 | 
            +
                },
         | 
| 79 | 
            +
                {
         | 
| 80 | 
            +
                  "rel": "instances",
         | 
| 81 | 
            +
                  "href": "fps_transfers",
         | 
| 82 | 
            +
                  "properties": {
         | 
| 83 | 
            +
                    "filter[account_ids]": {
         | 
| 84 | 
            +
                      "description": "Find transfers belonging to the given account ids. Single id or multiple ids comma-separated.",
         | 
| 85 | 
            +
                      "type": "string"
         | 
| 86 | 
            +
                    },
         | 
| 87 | 
            +
                    "filter[created_at_from]": {
         | 
| 88 | 
            +
                      "description": "Creation date filter from >= date",
         | 
| 89 | 
            +
                      "format": "date-time",
         | 
| 90 | 
            +
                      "type": "string"
         | 
| 91 | 
            +
                    },
         | 
| 92 | 
            +
                    "filter[created_at_to]": {
         | 
| 93 | 
            +
                      "description": "Creation date filter to <= date",
         | 
| 94 | 
            +
                      "format": "date-time",
         | 
| 95 | 
            +
                      "type": "string"
         | 
| 96 | 
            +
                    },
         | 
| 97 | 
            +
                    "filter[states]": {
         | 
| 98 | 
            +
                      "description": "Filter by single or multiple csv delimited states",
         | 
| 99 | 
            +
                      "enum": [
         | 
| 100 | 
            +
                        "received",
         | 
| 101 | 
            +
                        "mobile_tan_sent",
         | 
| 102 | 
            +
                        "success",
         | 
| 103 | 
            +
                        "expired",
         | 
| 104 | 
            +
                        "failure"
         | 
| 105 | 
            +
                      ],
         | 
| 106 | 
            +
                      "type": "string"
         | 
| 107 | 
            +
                    },
         | 
| 108 | 
            +
                    "page": {
         | 
| 109 | 
            +
                      "title": "Page",
         | 
| 110 | 
            +
                      "description": "In paginated results set the page to look for",
         | 
| 111 | 
            +
                      "type": "integer"
         | 
| 112 | 
            +
                    },
         | 
| 113 | 
            +
                    "per_page": {
         | 
| 114 | 
            +
                      "title": "Per page",
         | 
| 115 | 
            +
                      "description": "Results per page. Default is 10, max is 100",
         | 
| 116 | 
            +
                      "type": "integer"
         | 
| 117 | 
            +
                    },
         | 
| 118 | 
            +
                    "sort": {
         | 
| 119 | 
            +
                      "title": "Sort",
         | 
| 120 | 
            +
                      "enum": [
         | 
| 121 | 
            +
                        "ASC",
         | 
| 122 | 
            +
                        "DESC"
         | 
| 123 | 
            +
                      ],
         | 
| 124 | 
            +
                      "description": "Sort the results in ASC or DESC",
         | 
| 125 | 
            +
                      "type": "string"
         | 
| 126 | 
            +
                    }
         | 
| 127 | 
            +
                  }
         | 
| 128 | 
            +
                },
         | 
| 129 | 
            +
                {
         | 
| 130 | 
            +
                  "rel": "create",
         | 
| 131 | 
            +
                  "href": "fps_transfers",
         | 
| 132 | 
            +
                  "method": "POST"
         | 
| 133 | 
            +
                }
         | 
| 134 | 
            +
              ]
         | 
| 135 | 
            +
            }
         | 
    
        data/schema/v1.0/rate_limit.json
    CHANGED
    
    
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "$schema": "http://json-schema.org/draft-04/schema#",
         | 
| 3 | 
            +
              "type": "object",
         | 
| 4 | 
            +
              "title": "fps_details",
         | 
| 5 | 
            +
              "description": "Remote account information available in a Faster Payments transfer",
         | 
| 6 | 
            +
              "properties": {
         | 
| 7 | 
            +
                "fps_transfer_id": {
         | 
| 8 | 
            +
                  "description": "Id of transfer if transaction was created by a transfer.",
         | 
| 9 | 
            +
                  "readOnly": true,
         | 
| 10 | 
            +
                  "type": "string"
         | 
| 11 | 
            +
                },
         | 
| 12 | 
            +
                "remote_name": {
         | 
| 13 | 
            +
                  "description": "Receiving account holder name",
         | 
| 14 | 
            +
                  "type": "string",
         | 
| 15 | 
            +
                  "maxLength": 70,
         | 
| 16 | 
            +
                  "readOnly": true
         | 
| 17 | 
            +
                },
         | 
| 18 | 
            +
                "remote_account": {
         | 
| 19 | 
            +
                  "$ref": "../base_types/base_types.json#definitions/account",
         | 
| 20 | 
            +
                  "readOnly": true
         | 
| 21 | 
            +
                },
         | 
| 22 | 
            +
                "remote_sort_code": {
         | 
| 23 | 
            +
                  "$ref": "../base_types/base_types.json#definitions/sort_code",
         | 
| 24 | 
            +
                  "readOnly": true
         | 
| 25 | 
            +
                }
         | 
| 26 | 
            +
              }
         | 
| 27 | 
            +
            }
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "$schema": "http://json-schema.org/draft-04/schema#",
         | 
| 3 | 
            +
              "type": "object",
         | 
| 4 | 
            +
              "title": "video_ident",
         | 
| 5 | 
            +
              "description": "Creates IDnow identifications",
         | 
| 6 | 
            +
              "properties": {
         | 
| 7 | 
            +
                "customer_id": {
         | 
| 8 | 
            +
                  "$ref": "./base_types/base_types.json#definitions/account_id"
         | 
| 9 | 
            +
                }
         | 
| 10 | 
            +
              },
         | 
| 11 | 
            +
              "links": [
         | 
| 12 | 
            +
                {
         | 
| 13 | 
            +
                  "rel": "create",
         | 
| 14 | 
            +
                  "href": "video_idents",
         | 
| 15 | 
            +
                  "method": "POST"
         | 
| 16 | 
            +
                }
         | 
| 17 | 
            +
              ]
         | 
| 18 | 
            +
            }
         | 
    
        data/spec/fidor_schema_spec.rb
    CHANGED
    
    | @@ -9,17 +9,14 @@ describe Fidor::Schema do | |
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 11 | 
             
              context 'read schemata' do
         | 
| 12 | 
            -
             | 
| 13 12 | 
             
                it 'should read all json files' do
         | 
| 14 13 | 
             
                  SchemaTools.schema_path = Fidor::Schema.path
         | 
| 15 14 | 
             
                  SchemaTools::Reader.read_all
         | 
| 16 15 | 
             
                  expect(SchemaTools::Reader.registry).to_not be_empty
         | 
| 17 16 | 
             
                end
         | 
| 18 | 
            -
             | 
| 19 17 | 
             
              end
         | 
| 20 18 |  | 
| 21 19 | 
             
              context 'resolves $refs' do
         | 
| 22 | 
            -
             | 
| 23 20 | 
             
                it 'in single schema' do
         | 
| 24 21 | 
             
                  SchemaTools.schema_path = Fidor::Schema.path
         | 
| 25 22 | 
             
                  schema = SchemaTools::Reader.read('account').to_h
         | 
| @@ -35,6 +32,15 @@ describe Fidor::Schema do | |
| 35 32 | 
             
                  }
         | 
| 36 33 | 
             
                  expect(out).to_not include('$ref')
         | 
| 37 34 | 
             
                end
         | 
| 35 | 
            +
              end
         | 
| 38 36 |  | 
| 37 | 
            +
              context 'validate schemata' do
         | 
| 38 | 
            +
                it 'should validate all' do
         | 
| 39 | 
            +
                  schema_path = Fidor::Schema.path
         | 
| 40 | 
            +
                  errors = JsonSchemaValidator.validate_schemas(schema_path)
         | 
| 41 | 
            +
                  errors.each do |name, error|
         | 
| 42 | 
            +
                    expect(error).to be_empty
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                end
         | 
| 39 45 | 
             
              end
         | 
| 40 46 | 
             
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fidor_schema
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.10. | 
| 4 | 
            +
              version: 0.10.14
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Georg Leciejewski
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-04-07 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -95,35 +95,7 @@ dependencies: | |
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '0'
         | 
| 97 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            -
              name:  | 
| 99 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            -
                requirements:
         | 
| 101 | 
            -
                - - ">="
         | 
| 102 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                    version: '0'
         | 
| 104 | 
            -
              type: :development
         | 
| 105 | 
            -
              prerelease: false
         | 
| 106 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            -
                requirements:
         | 
| 108 | 
            -
                - - ">="
         | 
| 109 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            -
                    version: '0'
         | 
| 111 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            -
              name: json_schema
         | 
| 113 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 | 
            -
                requirements:
         | 
| 115 | 
            -
                - - ">="
         | 
| 116 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: '0'
         | 
| 118 | 
            -
              type: :development
         | 
| 119 | 
            -
              prerelease: false
         | 
| 120 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            -
                requirements:
         | 
| 122 | 
            -
                - - ">="
         | 
| 123 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            -
                    version: '0'
         | 
| 125 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            -
              name: jschema
         | 
| 98 | 
            +
              name: json_schema_validator
         | 
| 127 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 100 | 
             
                requirements:
         | 
| 129 101 | 
             
                - - ">="
         | 
| @@ -155,12 +127,6 @@ files: | |
| 155 127 | 
             
            - lib/fidor/schema.rb
         | 
| 156 128 | 
             
            - lib/fidor_schema.rb
         | 
| 157 129 | 
             
            - lib/fidor_schema_version.rb
         | 
| 158 | 
            -
            - lib/validator.rb
         | 
| 159 | 
            -
            - lib/validator/base.rb
         | 
| 160 | 
            -
            - lib/validator/j_schema.rb
         | 
| 161 | 
            -
            - lib/validator/json-schema.rb
         | 
| 162 | 
            -
            - lib/validator/json_schema.rb
         | 
| 163 | 
            -
            - lib/validator/schema.json
         | 
| 164 130 | 
             
            - schema/v1.0/account.json
         | 
| 165 131 | 
             
            - schema/v1.0/account_limit.json
         | 
| 166 132 | 
             
            - schema/v1.0/bank_check.json
         | 
| @@ -174,6 +140,7 @@ files: | |
| 174 140 | 
             
            - schema/v1.0/creditor_identity.json
         | 
| 175 141 | 
             
            - schema/v1.0/customer.json
         | 
| 176 142 | 
             
            - schema/v1.0/error.json
         | 
| 143 | 
            +
            - schema/v1.0/fps_transfer.json
         | 
| 177 144 | 
             
            - schema/v1.0/internal_transfer.json
         | 
| 178 145 | 
             
            - schema/v1.0/legal.json
         | 
| 179 146 | 
             
            - schema/v1.0/message.json
         | 
| @@ -199,6 +166,7 @@ files: | |
| 199 166 | 
             
            - schema/v1.0/transaction.json
         | 
| 200 167 | 
             
            - schema/v1.0/transaction_type_details/bonus_details.json
         | 
| 201 168 | 
             
            - schema/v1.0/transaction_type_details/credit_card_details.json
         | 
| 169 | 
            +
            - schema/v1.0/transaction_type_details/fps_details.json
         | 
| 202 170 | 
             
            - schema/v1.0/transaction_type_details/gmt_details.json
         | 
| 203 171 | 
             
            - schema/v1.0/transaction_type_details/internal_transfer_details.json
         | 
| 204 172 | 
             
            - schema/v1.0/transaction_type_details/mobile_topup_details.json
         | 
| @@ -206,11 +174,9 @@ files: | |
| 206 174 | 
             
            - schema/v1.0/transaction_type_details/sepa_direct_debit_details.json
         | 
| 207 175 | 
             
            - schema/v1.0/transfer_approval.json
         | 
| 208 176 | 
             
            - schema/v1.0/user.json
         | 
| 177 | 
            +
            - schema/v1.0/video_ident.json
         | 
| 209 178 | 
             
            - spec/fidor_schema_spec.rb
         | 
| 210 179 | 
             
            - spec/spec_helper.rb
         | 
| 211 | 
            -
            - spec/validator/j_schema_spec.rb
         | 
| 212 | 
            -
            - spec/validator/json-schema_spec.rb
         | 
| 213 | 
            -
            - spec/validator/json_schema_spec.rb
         | 
| 214 180 | 
             
            homepage: https://www.fidor.de
         | 
| 215 181 | 
             
            licenses:
         | 
| 216 182 | 
             
            - MIT
         | 
| @@ -238,6 +204,3 @@ summary: BETA Fidor API - JSON Schema | |
| 238 204 | 
             
            test_files:
         | 
| 239 205 | 
             
            - spec/fidor_schema_spec.rb
         | 
| 240 206 | 
             
            - spec/spec_helper.rb
         | 
| 241 | 
            -
            - spec/validator/j_schema_spec.rb
         | 
| 242 | 
            -
            - spec/validator/json-schema_spec.rb
         | 
| 243 | 
            -
            - spec/validator/json_schema_spec.rb
         | 
    
        data/lib/validator.rb
    DELETED
    
    
    
        data/lib/validator/base.rb
    DELETED
    
    | @@ -1,105 +0,0 @@ | |
| 1 | 
            -
            # This functionality is intended to run the schema, through
         | 
| 2 | 
            -
            # any available Schema Validators for Ruby.
         | 
| 3 | 
            -
            #
         | 
| 4 | 
            -
            # They should be valid according to draft-4 ...
         | 
| 5 | 
            -
            #
         | 
| 6 | 
            -
            # The schema validators currently being considered are:
         | 
| 7 | 
            -
            #
         | 
| 8 | 
            -
            # https://github.com/ruby-json-schema/json-schema
         | 
| 9 | 
            -
            # https://github.com/brandur/json_schema (note the underscore!)
         | 
| 10 | 
            -
            # https://github.com/Soylent/jschema
         | 
| 11 | 
            -
            #
         | 
| 12 | 
            -
            # These are the three currently available ruby validators that
         | 
| 13 | 
            -
            # support draft-4. (According to json-schema.org).
         | 
| 14 | 
            -
            #
         | 
| 15 | 
            -
            # Each has their quirks, we'll try to:
         | 
| 16 | 
            -
            #    * use each to validate each fidor schema against the json-schema meta-schema
         | 
| 17 | 
            -
            #    * try to load each fidor schema as a schema for validation.
         | 
| 18 | 
            -
            #
         | 
| 19 | 
            -
            require 'pathname'
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            module Validator
         | 
| 22 | 
            -
              class Base
         | 
| 23 | 
            -
                # @return [Array<String>] file paths
         | 
| 24 | 
            -
                attr_accessor :files_to_validate
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                # Run the given validator with all schema files
         | 
| 27 | 
            -
                def self.run(files)
         | 
| 28 | 
            -
                  puts "Running validation with #{name} for #{files.length} schemas"
         | 
| 29 | 
            -
                  v = new(files)
         | 
| 30 | 
            -
                  v.validate_all
         | 
| 31 | 
            -
                  puts v.log_fmt
         | 
| 32 | 
            -
                  v
         | 
| 33 | 
            -
                end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                def validate_all
         | 
| 36 | 
            -
                  validate_schemas
         | 
| 37 | 
            -
                  validate_data
         | 
| 38 | 
            -
                end
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                def validate_schemas
         | 
| 41 | 
            -
                  files_to_validate.each do |file|
         | 
| 42 | 
            -
                    schema = File.read file
         | 
| 43 | 
            -
                    log << "validate schema: #{file}"
         | 
| 44 | 
            -
                    validate schema
         | 
| 45 | 
            -
                  end
         | 
| 46 | 
            -
                end
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                def validate_data
         | 
| 49 | 
            -
                  files_to_validate.each do |file|
         | 
| 50 | 
            -
                    schema = File.read file
         | 
| 51 | 
            -
                    log << "validate data against: #{file}"
         | 
| 52 | 
            -
                    use_for_validation schema
         | 
| 53 | 
            -
                  end
         | 
| 54 | 
            -
                end
         | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
                # Joins the logs before display
         | 
| 58 | 
            -
                def log_fmt
         | 
| 59 | 
            -
                  res = []
         | 
| 60 | 
            -
                  if errors.length > 0
         | 
| 61 | 
            -
                    res << "#{errors.join("\n\n")}"
         | 
| 62 | 
            -
                    res << "="*50
         | 
| 63 | 
            -
                    res << "#{errors.length} with errors"
         | 
| 64 | 
            -
                  end
         | 
| 65 | 
            -
                  res << "#{success.uniq.length} Schemas passed"
         | 
| 66 | 
            -
                  res.join("\n")
         | 
| 67 | 
            -
                end
         | 
| 68 | 
            -
                # @return [Array<String>] error schemas
         | 
| 69 | 
            -
                def errors
         | 
| 70 | 
            -
                  @errors ||= []
         | 
| 71 | 
            -
                end
         | 
| 72 | 
            -
                # @return [Array<String>] test log
         | 
| 73 | 
            -
                def log
         | 
| 74 | 
            -
                  @log ||= []
         | 
| 75 | 
            -
                end
         | 
| 76 | 
            -
                # @return [Array<String>] successfull schema titles
         | 
| 77 | 
            -
                def success
         | 
| 78 | 
            -
                  @success ||= []
         | 
| 79 | 
            -
                end
         | 
| 80 | 
            -
             | 
| 81 | 
            -
              end
         | 
| 82 | 
            -
             | 
| 83 | 
            -
              def self.find_all_schema
         | 
| 84 | 
            -
                # asssume we're running from rake and pwd is project root ...
         | 
| 85 | 
            -
                this_dir = File.dirname(__FILE__)
         | 
| 86 | 
            -
                repo_dir = Pathname.new(this_dir+"/../..").cleanpath.to_s
         | 
| 87 | 
            -
             | 
| 88 | 
            -
                Dir.glob("#{repo_dir}/schema/**/*.json")
         | 
| 89 | 
            -
              end
         | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
              # @param [Symbol] validator to use
         | 
| 93 | 
            -
              def self.run(validator)
         | 
| 94 | 
            -
                case validator
         | 
| 95 | 
            -
                  when :underscore
         | 
| 96 | 
            -
                    Json_Schema.run find_all_schema
         | 
| 97 | 
            -
                  when :dash
         | 
| 98 | 
            -
                    JsonSchema.run find_all_schema
         | 
| 99 | 
            -
                  when :jschema
         | 
| 100 | 
            -
                    JSchema.run find_all_schema
         | 
| 101 | 
            -
                  else
         | 
| 102 | 
            -
                    puts "Unknown validator: #{validator}"
         | 
| 103 | 
            -
                end
         | 
| 104 | 
            -
              end
         | 
| 105 | 
            -
            end
         | 
    
        data/lib/validator/j_schema.rb
    DELETED
    
    | @@ -1,34 +0,0 @@ | |
| 1 | 
            -
            require 'jschema'
         | 
| 2 | 
            -
            module Validator
         | 
| 3 | 
            -
              class JSchema < Base
         | 
| 4 | 
            -
             | 
| 5 | 
            -
                def initialize(files_to_validate)
         | 
| 6 | 
            -
                  @files_to_validate = files_to_validate
         | 
| 7 | 
            -
                  schema_data = File.read("#{File.dirname(__FILE__)}/schema.json")
         | 
| 8 | 
            -
                  schema_json = JSON.parse(schema_data)
         | 
| 9 | 
            -
                  @meta_schema = ::JSchema.build(schema_json)
         | 
| 10 | 
            -
                end
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                def validate(schema)
         | 
| 13 | 
            -
                  schema_to_test = JSON.parse(schema)
         | 
| 14 | 
            -
                  result = @meta_schema.validate schema_to_test
         | 
| 15 | 
            -
                  if !result || result.length == 0
         | 
| 16 | 
            -
                    success << schema_to_test['title'] || schema_to_test.keys[0]
         | 
| 17 | 
            -
                  else
         | 
| 18 | 
            -
                    errors << "Schema validation failed: #{schema_to_test['title']}\n#{result.join("\n")}"
         | 
| 19 | 
            -
                  end
         | 
| 20 | 
            -
                end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                def use_for_validation(schema)
         | 
| 23 | 
            -
                  schema_to_test = JSON.parse(schema)
         | 
| 24 | 
            -
                  begin
         | 
| 25 | 
            -
                   ::JSchema.build(schema_to_test)
         | 
| 26 | 
            -
                  rescue
         | 
| 27 | 
            -
                    errors << "Data validation failed: #{schema_to_test['title']}\n#{$!}"
         | 
| 28 | 
            -
                    # puts $!.backtrace
         | 
| 29 | 
            -
                  else
         | 
| 30 | 
            -
                    success << schema_to_test['title'] || schema_to_test.keys[0]
         | 
| 31 | 
            -
                  end
         | 
| 32 | 
            -
                end
         | 
| 33 | 
            -
              end
         | 
| 34 | 
            -
            end
         | 
| @@ -1,51 +0,0 @@ | |
| 1 | 
            -
            require 'json-schema'
         | 
| 2 | 
            -
            # https://github.com/ruby-json-schema/json-schema
         | 
| 3 | 
            -
            module Validator
         | 
| 4 | 
            -
              class JsonSchema < Base
         | 
| 5 | 
            -
                def initialize(files_to_validate)
         | 
| 6 | 
            -
                  @files_to_validate = files_to_validate
         | 
| 7 | 
            -
                  @meta_schema_path  = "#{File.dirname(__FILE__)}/schema.json"
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  # need to know the base dir of the schema to resolve relative uris.
         | 
| 10 | 
            -
                  # see below.
         | 
| 11 | 
            -
                  @schemadir = File.dirname(@files_to_validate[0])
         | 
| 12 | 
            -
                end
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                # @param [String] schema to test against the meta schema
         | 
| 15 | 
            -
                def validate(schema)
         | 
| 16 | 
            -
                  schema_to_test = JSON.parse(schema)
         | 
| 17 | 
            -
                  begin
         | 
| 18 | 
            -
                    result = JSON::Validator.fully_validate(@meta_schema_path, schema_to_test)
         | 
| 19 | 
            -
                    if !result || result.length == 0
         | 
| 20 | 
            -
                      success << schema_to_test['title'] || schema_to_test.keys[0]
         | 
| 21 | 
            -
                    else
         | 
| 22 | 
            -
                      errors << "Schema validation failed: #{schema_to_test['title']}\n#{result.join("\n")}"
         | 
| 23 | 
            -
                    end
         | 
| 24 | 
            -
                  rescue => e
         | 
| 25 | 
            -
                    errors << "Schema validation failed: #{schema_to_test['title']}\n#{e}"
         | 
| 26 | 
            -
                    # puts e.backtrace
         | 
| 27 | 
            -
                  end
         | 
| 28 | 
            -
                end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                def use_for_validation(schema)
         | 
| 31 | 
            -
                  schema_to_test = JSON.parse(schema)
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                  # json-schema resolves relatives path relative to it's own "."
         | 
| 34 | 
            -
                  # not relative to the file containing the reference ...
         | 
| 35 | 
            -
                  base_dir = Dir.pwd
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                  begin
         | 
| 38 | 
            -
                    Dir.chdir @schemadir
         | 
| 39 | 
            -
                    data = {}
         | 
| 40 | 
            -
                    result = JSON::Validator.fully_validate(schema_to_test, data)
         | 
| 41 | 
            -
                    if !result || result.length == 0
         | 
| 42 | 
            -
                      success << schema_to_test['title']
         | 
| 43 | 
            -
                    else
         | 
| 44 | 
            -
                      errors << "Data validation failed: #{schema_to_test['title']}\n#{result.join("\n")}"
         | 
| 45 | 
            -
                    end
         | 
| 46 | 
            -
                  ensure
         | 
| 47 | 
            -
                    Dir.chdir base_dir
         | 
| 48 | 
            -
                  end
         | 
| 49 | 
            -
                end
         | 
| 50 | 
            -
              end
         | 
| 51 | 
            -
            end
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            require 'json_schema'
         | 
| 2 | 
            -
            module Validator
         | 
| 3 | 
            -
              class Json_Schema < Base
         | 
| 4 | 
            -
             | 
| 5 | 
            -
                def initialize files_to_validate
         | 
| 6 | 
            -
                  @files_to_validate = files_to_validate
         | 
| 7 | 
            -
                  schema_data = File.read("#{File.dirname(__FILE__)}/schema.json")
         | 
| 8 | 
            -
                  schema_json = JSON.parse(schema_data)
         | 
| 9 | 
            -
                  @schema = ::JsonSchema.parse!(schema_json)
         | 
| 10 | 
            -
                  @errors, @success = [], []
         | 
| 11 | 
            -
                end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                # @param [String] schema to test against the meta schema
         | 
| 14 | 
            -
                def validate(schema)
         | 
| 15 | 
            -
                  schema_to_test = JSON.parse(schema)
         | 
| 16 | 
            -
                  begin
         | 
| 17 | 
            -
                    @schema.validate! schema_to_test
         | 
| 18 | 
            -
                  rescue
         | 
| 19 | 
            -
                    errors << "Schema validation failed: #{schema_to_test['title']}\n#{$!}"
         | 
| 20 | 
            -
                  else
         | 
| 21 | 
            -
                    success << File.basename(schema)
         | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                def use_for_validation(schema)
         | 
| 26 | 
            -
                   schema_to_test = JSON.parse(schema)
         | 
| 27 | 
            -
                  begin
         | 
| 28 | 
            -
                   ::JsonSchema.parse!(schema_to_test)
         | 
| 29 | 
            -
                  rescue
         | 
| 30 | 
            -
                    errors << "Data validation failed: #{schema_to_test['title']}\n#{$!}"
         | 
| 31 | 
            -
                  else
         | 
| 32 | 
            -
                    success << schema_to_test['title']
         | 
| 33 | 
            -
                  end
         | 
| 34 | 
            -
                end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
              end
         | 
| 37 | 
            -
            end
         | 
    
        data/lib/validator/schema.json
    DELETED
    
    | @@ -1,150 +0,0 @@ | |
| 1 | 
            -
            {
         | 
| 2 | 
            -
                "id": "http://json-schema.org/draft-04/schema#",
         | 
| 3 | 
            -
                "$schema": "http://json-schema.org/draft-04/schema#",
         | 
| 4 | 
            -
                "description": "Core schema meta-schema",
         | 
| 5 | 
            -
                "definitions": {
         | 
| 6 | 
            -
                    "schemaArray": {
         | 
| 7 | 
            -
                        "type": "array",
         | 
| 8 | 
            -
                        "minItems": 1,
         | 
| 9 | 
            -
                        "items": { "$ref": "#" }
         | 
| 10 | 
            -
                    },
         | 
| 11 | 
            -
                    "positiveInteger": {
         | 
| 12 | 
            -
                        "type": "integer",
         | 
| 13 | 
            -
                        "minimum": 0
         | 
| 14 | 
            -
                    },
         | 
| 15 | 
            -
                    "positiveIntegerDefault0": {
         | 
| 16 | 
            -
                        "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ]
         | 
| 17 | 
            -
                    },
         | 
| 18 | 
            -
                    "simpleTypes": {
         | 
| 19 | 
            -
                        "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ]
         | 
| 20 | 
            -
                    },
         | 
| 21 | 
            -
                    "stringArray": {
         | 
| 22 | 
            -
                        "type": "array",
         | 
| 23 | 
            -
                        "items": { "type": "string" },
         | 
| 24 | 
            -
                        "minItems": 1,
         | 
| 25 | 
            -
                        "uniqueItems": true
         | 
| 26 | 
            -
                    }
         | 
| 27 | 
            -
                },
         | 
| 28 | 
            -
                "type": "object",
         | 
| 29 | 
            -
                "properties": {
         | 
| 30 | 
            -
                    "id": {
         | 
| 31 | 
            -
                        "type": "string",
         | 
| 32 | 
            -
                        "format": "uri"
         | 
| 33 | 
            -
                    },
         | 
| 34 | 
            -
                    "$schema": {
         | 
| 35 | 
            -
                        "type": "string",
         | 
| 36 | 
            -
                        "format": "uri"
         | 
| 37 | 
            -
                    },
         | 
| 38 | 
            -
                    "title": {
         | 
| 39 | 
            -
                        "type": "string"
         | 
| 40 | 
            -
                    },
         | 
| 41 | 
            -
                    "description": {
         | 
| 42 | 
            -
                        "type": "string"
         | 
| 43 | 
            -
                    },
         | 
| 44 | 
            -
                    "default": {},
         | 
| 45 | 
            -
                    "multipleOf": {
         | 
| 46 | 
            -
                        "type": "number",
         | 
| 47 | 
            -
                        "minimum": 0,
         | 
| 48 | 
            -
                        "exclusiveMinimum": true
         | 
| 49 | 
            -
                    },
         | 
| 50 | 
            -
                    "maximum": {
         | 
| 51 | 
            -
                        "type": "number"
         | 
| 52 | 
            -
                    },
         | 
| 53 | 
            -
                    "exclusiveMaximum": {
         | 
| 54 | 
            -
                        "type": "boolean",
         | 
| 55 | 
            -
                        "default": false
         | 
| 56 | 
            -
                    },
         | 
| 57 | 
            -
                    "minimum": {
         | 
| 58 | 
            -
                        "type": "number"
         | 
| 59 | 
            -
                    },
         | 
| 60 | 
            -
                    "exclusiveMinimum": {
         | 
| 61 | 
            -
                        "type": "boolean",
         | 
| 62 | 
            -
                        "default": false
         | 
| 63 | 
            -
                    },
         | 
| 64 | 
            -
                    "maxLength": { "$ref": "#/definitions/positiveInteger" },
         | 
| 65 | 
            -
                    "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
         | 
| 66 | 
            -
                    "pattern": {
         | 
| 67 | 
            -
                        "type": "string",
         | 
| 68 | 
            -
                        "format": "regex"
         | 
| 69 | 
            -
                    },
         | 
| 70 | 
            -
                    "additionalItems": {
         | 
| 71 | 
            -
                        "anyOf": [
         | 
| 72 | 
            -
                            { "type": "boolean" },
         | 
| 73 | 
            -
                            { "$ref": "#" }
         | 
| 74 | 
            -
                        ],
         | 
| 75 | 
            -
                        "default": {}
         | 
| 76 | 
            -
                    },
         | 
| 77 | 
            -
                    "items": {
         | 
| 78 | 
            -
                        "anyOf": [
         | 
| 79 | 
            -
                            { "$ref": "#" },
         | 
| 80 | 
            -
                            { "$ref": "#/definitions/schemaArray" }
         | 
| 81 | 
            -
                        ],
         | 
| 82 | 
            -
                        "default": {}
         | 
| 83 | 
            -
                    },
         | 
| 84 | 
            -
                    "maxItems": { "$ref": "#/definitions/positiveInteger" },
         | 
| 85 | 
            -
                    "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" },
         | 
| 86 | 
            -
                    "uniqueItems": {
         | 
| 87 | 
            -
                        "type": "boolean",
         | 
| 88 | 
            -
                        "default": false
         | 
| 89 | 
            -
                    },
         | 
| 90 | 
            -
                    "maxProperties": { "$ref": "#/definitions/positiveInteger" },
         | 
| 91 | 
            -
                    "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
         | 
| 92 | 
            -
                    "required": { "$ref": "#/definitions/stringArray" },
         | 
| 93 | 
            -
                    "additionalProperties": {
         | 
| 94 | 
            -
                        "anyOf": [
         | 
| 95 | 
            -
                            { "type": "boolean" },
         | 
| 96 | 
            -
                            { "$ref": "#" }
         | 
| 97 | 
            -
                        ],
         | 
| 98 | 
            -
                        "default": {}
         | 
| 99 | 
            -
                    },
         | 
| 100 | 
            -
                    "definitions": {
         | 
| 101 | 
            -
                        "type": "object",
         | 
| 102 | 
            -
                        "additionalProperties": { "$ref": "#" },
         | 
| 103 | 
            -
                        "default": {}
         | 
| 104 | 
            -
                    },
         | 
| 105 | 
            -
                    "properties": {
         | 
| 106 | 
            -
                        "type": "object",
         | 
| 107 | 
            -
                        "additionalProperties": { "$ref": "#" },
         | 
| 108 | 
            -
                        "default": {}
         | 
| 109 | 
            -
                    },
         | 
| 110 | 
            -
                    "patternProperties": {
         | 
| 111 | 
            -
                        "type": "object",
         | 
| 112 | 
            -
                        "additionalProperties": { "$ref": "#" },
         | 
| 113 | 
            -
                        "default": {}
         | 
| 114 | 
            -
                    },
         | 
| 115 | 
            -
                    "dependencies": {
         | 
| 116 | 
            -
                        "type": "object",
         | 
| 117 | 
            -
                        "additionalProperties": {
         | 
| 118 | 
            -
                            "anyOf": [
         | 
| 119 | 
            -
                                { "$ref": "#" },
         | 
| 120 | 
            -
                                { "$ref": "#/definitions/stringArray" }
         | 
| 121 | 
            -
                            ]
         | 
| 122 | 
            -
                        }
         | 
| 123 | 
            -
                    },
         | 
| 124 | 
            -
                    "enum": {
         | 
| 125 | 
            -
                        "type": "array",
         | 
| 126 | 
            -
                        "minItems": 1,
         | 
| 127 | 
            -
                        "uniqueItems": true
         | 
| 128 | 
            -
                    },
         | 
| 129 | 
            -
                    "type": {
         | 
| 130 | 
            -
                        "anyOf": [
         | 
| 131 | 
            -
                            { "$ref": "#/definitions/simpleTypes" },
         | 
| 132 | 
            -
                            {
         | 
| 133 | 
            -
                                "type": "array",
         | 
| 134 | 
            -
                                "items": { "$ref": "#/definitions/simpleTypes" },
         | 
| 135 | 
            -
                                "minItems": 1,
         | 
| 136 | 
            -
                                "uniqueItems": true
         | 
| 137 | 
            -
                            }
         | 
| 138 | 
            -
                        ]
         | 
| 139 | 
            -
                    },
         | 
| 140 | 
            -
                    "allOf": { "$ref": "#/definitions/schemaArray" },
         | 
| 141 | 
            -
                    "anyOf": { "$ref": "#/definitions/schemaArray" },
         | 
| 142 | 
            -
                    "oneOf": { "$ref": "#/definitions/schemaArray" },
         | 
| 143 | 
            -
                    "not": { "$ref": "#" }
         | 
| 144 | 
            -
                },
         | 
| 145 | 
            -
                "dependencies": {
         | 
| 146 | 
            -
                    "exclusiveMaximum": [ "maximum" ],
         | 
| 147 | 
            -
                    "exclusiveMinimum": [ "minimum" ]
         | 
| 148 | 
            -
                },
         | 
| 149 | 
            -
                "default": {}
         | 
| 150 | 
            -
            }
         | 
| @@ -1,22 +0,0 @@ | |
| 1 | 
            -
            require 'spec_helper'
         | 
| 2 | 
            -
            require 'validator'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            describe Validator::JSchema do
         | 
| 5 | 
            -
              it 'validates schemas against the meta schema' do
         | 
| 6 | 
            -
                path = Fidor::Schema.path
         | 
| 7 | 
            -
                files = Dir.glob("#{path}/**/*.json")
         | 
| 8 | 
            -
                v = Validator::JSchema.new files
         | 
| 9 | 
            -
                v.validate_schemas
         | 
| 10 | 
            -
                expect(v.log[0]).to include('validate schema')
         | 
| 11 | 
            -
                expect(v.errors).to be_empty
         | 
| 12 | 
            -
              end
         | 
| 13 | 
            -
             | 
| 14 | 
            -
              it 'validates schemas against blank data' do
         | 
| 15 | 
            -
                path = Fidor::Schema.path
         | 
| 16 | 
            -
                files = Dir.glob("#{path}/**/*.json")
         | 
| 17 | 
            -
                v = Validator::JSchema.new files
         | 
| 18 | 
            -
                v.validate_data
         | 
| 19 | 
            -
                expect(v.log[0]).to include('validate data')
         | 
| 20 | 
            -
                # expect(v.errors).to be_empty
         | 
| 21 | 
            -
              end
         | 
| 22 | 
            -
            end
         | 
| @@ -1,22 +0,0 @@ | |
| 1 | 
            -
            require 'spec_helper'
         | 
| 2 | 
            -
            require 'validator'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            describe Validator::JsonSchema do
         | 
| 5 | 
            -
              it 'validates schemas against the meta schema' do
         | 
| 6 | 
            -
                path = Fidor::Schema.path
         | 
| 7 | 
            -
                files = Dir.glob("#{path}/**/*.json")
         | 
| 8 | 
            -
                v = Validator::JsonSchema.new files
         | 
| 9 | 
            -
                v.validate_schemas
         | 
| 10 | 
            -
                expect(v.log[0]).to include('validate schema')
         | 
| 11 | 
            -
                expect(v.errors).to be_empty
         | 
| 12 | 
            -
              end
         | 
| 13 | 
            -
             | 
| 14 | 
            -
              it 'validates schemas against blank data' do
         | 
| 15 | 
            -
                path = Fidor::Schema.path
         | 
| 16 | 
            -
                files = Dir.glob("#{path}/**/*.json")
         | 
| 17 | 
            -
                v = Validator::JsonSchema.new files
         | 
| 18 | 
            -
                v.validate_data
         | 
| 19 | 
            -
                expect(v.log[0]).to include('validate data')
         | 
| 20 | 
            -
                # expect(v.errors).to be_empty
         | 
| 21 | 
            -
              end
         | 
| 22 | 
            -
            end
         | 
| @@ -1,13 +0,0 @@ | |
| 1 | 
            -
            require 'spec_helper'
         | 
| 2 | 
            -
            require 'validator'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            describe Validator::Json_Schema do
         | 
| 5 | 
            -
              it 'validates schemas against the meta schema' do
         | 
| 6 | 
            -
                path = Fidor::Schema.path
         | 
| 7 | 
            -
                files = Dir.glob("#{path}/**/*.json")
         | 
| 8 | 
            -
                v = Validator::Json_Schema.new files
         | 
| 9 | 
            -
                v.validate_schemas
         | 
| 10 | 
            -
                expect(v.log[0]).to include('validate schema')
         | 
| 11 | 
            -
                expect(v.errors).to be_empty
         | 
| 12 | 
            -
              end
         | 
| 13 | 
            -
            end
         |