Commit 90cf1929 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device component - IETF ACTN Driver:

- Fix unitary test for IETF ACTN
parent 865f3f09
Loading
Loading
Loading
Loading
+28 −9
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ DEVICE_PORT = 8080
DEVICE_USERNAME     = 'admin'
DEVICE_PASSWORD     = 'admin'
DEVICE_SCHEME       = 'http'
DEVICE_BASE_URL     = '/restconf/v2/data'
DEVICE_TIMEOUT      = 120
DEVICE_VERIFY_CERTS = False

@@ -52,7 +51,6 @@ DEVICE_CONNECT_RULES = json_device_connect_rules(DEVICE_ADDRESS, DEVICE_PORT, {
    'scheme'      : DEVICE_SCHEME,
    'username'    : DEVICE_USERNAME,
    'password'    : DEVICE_PASSWORD,
    'base_url'    : DEVICE_BASE_URL,
    'timeout'     : DEVICE_TIMEOUT,
    'verify_certs': DEVICE_VERIFY_CERTS,
})
@@ -69,23 +67,44 @@ LOGGER.setLevel(logging.DEBUG)
def ietf_actn_sdn_ctrl(
    device_service : DeviceService,     # pylint: disable=redefined-outer-name
) -> Flask:
    _rest_server = GenericRestServer(DEVICE_PORT, DEVICE_BASE_URL, bind_address=DEVICE_ADDRESS)
    _rest_server = GenericRestServer(DEVICE_PORT, bind_address=DEVICE_ADDRESS)
    _rest_server.app.config['DEBUG'      ] = True
    _rest_server.app.config['ENV'        ] = 'development'
    _rest_server.app.config['SERVER_NAME'] = '{:s}:{:d}'.format(DEVICE_ADDRESS, DEVICE_PORT)
    _rest_server.app.config['TESTING'    ] = True

    class HostMeta(Resource):
        def get(self):
            host_meta = {'links': [{'rel': 'restconf', 'href': '/restconf'}]}
            return make_response(jsonify(host_meta), 200)

    class Root(Resource):
        def get(self):
            return make_response(jsonify({}), 200)

    class Network(Resource):
        def get(self, network_id : str):
            network_topology = {'ietf-network:network': []}
            return make_response(jsonify(network_topology), 200)

    RESTCONF_V1 = '/restconf/data'
    RESTCONF_V2 = '/restconf/v2/data'

    add_rsrc = _rest_server.add_resource
    add_rsrc(Root,        '/',                      endpoint='test.root')
    add_rsrc(Root,        '/.well-known/host-meta', endpoint='test.wellknown.host')
    add_rsrc(OsuTunnels,  '/ietf-te:te/tunnels')
    add_rsrc(OsuTunnel,   '/ietf-te:te/tunnels/tunnel="<string:osu_tunnel_name>"')
    add_rsrc(EthServices, '/ietf-eth-tran-service:etht-svc')
    add_rsrc(EthService,  '/ietf-eth-tran-service:etht-svc/etht-svc-instances="<string:etht_service_name>"')
    add_rsrc(HostMeta, '/.well-known/host-meta', endpoint='well-known.host-meta')
    add_rsrc(Root,     RESTCONF_V1 + '/', endpoint='restconf.v1.root')
    add_rsrc(Root,     RESTCONF_V2 + '/', endpoint='restconf.v2.root')

    RESTCONF_NETWORK = RESTCONF_V1 + '/ietf-network:networks/network=<string:network_id>'
    add_rsrc(Network,  RESTCONF_NETWORK)

    RESTCONF_TE_TUNNELS = RESTCONF_V2 + '/ietf-te:te/tunnels'
    add_rsrc(OsuTunnels,  RESTCONF_TE_TUNNELS)
    add_rsrc(OsuTunnel,   RESTCONF_TE_TUNNELS + '/tunnel=<string:osu_tunnel_name>')

    RESTCONF_ETHT_SERVICES = RESTCONF_V2 + '/ietf-eth-tran-service:etht-svc'
    add_rsrc(EthServices, RESTCONF_ETHT_SERVICES)
    add_rsrc(EthService,  RESTCONF_ETHT_SERVICES + '/etht-svc-instances=<string:etht_service_name>')

    _rest_server.start()
    time.sleep(1) # bring time for the server to start