diff options
author | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2023-03-13 11:00:21 +0000 |
---|---|---|
committer | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2023-03-14 14:25:16 +0000 |
commit | 870ff702088b89549bc21631eb48443fff0bcd71 (patch) | |
tree | 5d52aca25035644bdc2ac687275ed858ba524e7e /mock-so/app.py | |
parent | 98e0e65ba145ab4c85c301118d4a0d02940221ec (diff) |
Migrate mock applications from Orange GitLab
Move from Orange repositories into ONAP one.
Issue-ID: INT-2208
Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl>
Change-Id: I6e165da5144c28a6ff151e02e32f5ae89ce124e3
Diffstat (limited to 'mock-so/app.py')
-rw-r--r-- | mock-so/app.py | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/mock-so/app.py b/mock-so/app.py new file mode 100644 index 0000000..b1d6db2 --- /dev/null +++ b/mock-so/app.py @@ -0,0 +1,126 @@ +"""SO mock application.""" +""" + Copyright 2023 Deutsche Telekom AG, Orange + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" +import json + +from flask import Flask, request +from flask_restful import Api + +from resources.orchestration_request import OrchestrationRequest +from resources.service_instance import ( + NetworkInstance, + NetworkInstanceList, + ServiceInstance, + ServiceInstanceList, + VnfInstance, + VnfInstanceList, + VfModuleInstance, + VfModuleInstanceList, +) + + +app = Flask(__name__) +api = Api(app) + + +@app.route("/reset") +def reset(): + """Reset endpoint. + + Reset all resources. + + Returns: + str: Empty string, it has to returns anything + + """ + ServiceInstanceList.reset() + OrchestrationRequest.reset() + return "" + + +@app.route("/set_aai_mock", methods=["POST"]) +def set_aai_mock(): + """Set A&AI mock url address. + + Set it for all resources which connects with A&AI mock. + + Returns: + str: Empty string, it has to returns anything + + """ + aai_mock_url = json.loads(request.data)["AAI_MOCK"] + ServiceInstance.set_aai_mock(aai_mock_url) + ServiceInstanceList.set_aai_mock(aai_mock_url) + VnfInstance.set_aai_mock(aai_mock_url) + VfModuleInstance.set_aai_mock(aai_mock_url) + VnfInstanceList.set_aai_mock(aai_mock_url) + VfModuleInstanceList.set_aai_mock(aai_mock_url) + NetworkInstance.set_aai_mock(aai_mock_url) + NetworkInstanceList.set_aai_mock(aai_mock_url) + return "" + + +api.add_resource( + ServiceInstance, + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>", +) +api.add_resource( + ServiceInstanceList, "/onap/so/infra/serviceInstantiation/v7/serviceInstances" +) +api.add_resource( + VnfInstance, + ( + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/" + "vnfs/<vnf_instance_id>" + ), +) +api.add_resource( + VnfInstanceList, + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/vnfs", +) +api.add_resource( + VfModuleInstance, + ( + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/vnfs/" + "<vnf_instance_id>/vfModules/<vf_module_instance_id>" + ), +) +api.add_resource( + VfModuleInstanceList, + ( + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/vnfs/" + "<vnf_instance_id>/vfModules" + ), +) +api.add_resource( + OrchestrationRequest, + "/onap/so/infra/orchestrationRequests/v7/<orchestration_request_id>", +) +api.add_resource( + NetworkInstanceList, + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/networks", +) +api.add_resource( + NetworkInstance, + ( + "/onap/so/infra/serviceInstantiation/v7/serviceInstances/<service_instance_id>/" + "networks/<network_instance_id>" + ), +) + + +if __name__ == "__main__": + app.run(host="0.0.0.0", debug=True) |