Skip to content
Snippets Groups Projects
Select Git revision
  • c56f39d3f0c6eb2de88bfeeb992d4ae41b03f42b
  • develop default
  • master protected
  • async-provision
  • DBOARD3-1252/inventory-api
  • 0.90
  • 0.89
  • 0.88
  • 0.87
  • 0.86
  • 0.85
  • 0.84
  • 0.83
  • 0.82
  • 0.81
  • 0.80
  • 0.79
  • 0.78
  • 0.77
  • 0.76
  • 0.75
  • 0.74
  • 0.73
  • 0.72
  • 0.71
25 results

gws.py

Blame
  • test_general_routes.py 2.11 KiB
    import json
    import jsonschema
    
    from inventory_provider.routes import common
    from inventory_provider.routes.default import VERSION_SCHEMA
    
    DEFAULT_REQUEST_HEADERS = {
        'Content-type': 'application/json',
        'Accept': ['application/json']
    }
    
    
    def test_version_request(client, mocked_redis):
    
        rv = client.post(
            'version',
            headers=DEFAULT_REQUEST_HEADERS)
        assert rv.status_code == 200
        jsonschema.validate(
            json.loads(rv.data.decode('utf-8')),
            VERSION_SCHEMA)
    
    
    def test_load_json_docs(data_config, mocked_redis):
    
        INTERFACE_SCHEMA = {
            '$schema': 'http://json-schema.org/draft-07/schema#',
    
            'definitions': {
                'interface': {
                    'type': 'object',
                    'properties': {
                        'logical-system': {'type': 'string'},
                        'name': {'type': 'string'},
                        'description': {'type': 'string'},
                        'bundle': {
                            'type': 'array',
                            'items': {'type': 'string'}
                        },
                        'ipv4': {
                            'type': 'array',
                            'items': {'type': 'string'}
                        },
                        'ipv6': {
                            'type': 'array',
                            'items': {'type': 'string'}
                        }
                    },
                    'required': ['name', 'description', 'ipv4', 'ipv6'],
                    'additionalProperties': False
                }
            },
    
            'type': 'object',
            'properties': {
                'key': {'type': 'string'},
                'value': {'$ref': '#/definitions/interface'}
            },
            'required': ['key', 'value'],
            'additionalProperties': False
        }
    
        for ifc in common.load_json_docs(
                data_config, 'netconf-interfaces:*', num_threads=20):
            jsonschema.validate(ifc, INTERFACE_SCHEMA)
    
    
    def test_ping_post(client):
        rv = client.post('ping')
        assert rv.status_code == 204
        assert len(rv.data) == 0
    
    
    def test_ping_get(client):
        rv = client.get('ping')
        assert rv.status_code == 204
        assert len(rv.data) == 0