summaryrefslogtreecommitdiffstats
path: root/mock-cds/app
diff options
context:
space:
mode:
Diffstat (limited to 'mock-cds/app')
-rw-r--r--mock-cds/app/app.py22
-rw-r--r--mock-cds/app/routes.py22
-rw-r--r--mock-cds/app/views.py51
3 files changed, 95 insertions, 0 deletions
diff --git a/mock-cds/app/app.py b/mock-cds/app/app.py
new file mode 100644
index 0000000..a15dbea
--- /dev/null
+++ b/mock-cds/app/app.py
@@ -0,0 +1,22 @@
+"""
+ 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.
+"""
+from aiohttp import web
+from routes import setup_routes
+
+app = web.Application()
+
+setup_routes(app)
+web.run_app(app) \ No newline at end of file
diff --git a/mock-cds/app/routes.py b/mock-cds/app/routes.py
new file mode 100644
index 0000000..10da668
--- /dev/null
+++ b/mock-cds/app/routes.py
@@ -0,0 +1,22 @@
+"""
+ 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.
+"""
+from views import blueprint_enrich, blueprint_publish, dictionary, dictionary_get
+
+def setup_routes(app):
+ app.router.add_post('/api/v1/blueprint-model/enrich', blueprint_enrich)
+ app.router.add_post('/api/v1/blueprint-model/publish', blueprint_publish)
+ app.router.add_post('/api/v1/dictionary', dictionary)
+ app.router.add_get('/api/v1/dictionary/{name}', dictionary_get) \ No newline at end of file
diff --git a/mock-cds/app/views.py b/mock-cds/app/views.py
new file mode 100644
index 0000000..b6d9f37
--- /dev/null
+++ b/mock-cds/app/views.py
@@ -0,0 +1,51 @@
+"""
+ 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 aiohttp import web
+
+BYTES = b'Response in bytes'
+DICTIONARY = {
+ "message": "Response in JSON",
+ "success": True
+ }
+DICTIONARIES = {}
+
+async def blueprint_enrich(request):
+ """ Blueprint enrichment """
+ return web.Response(body=BYTES, status=200)
+
+async def blueprint_publish(request):
+ """ Blueprint publishing """
+ return web.Response(body=BYTES, status=200)
+
+async def dictionary(request):
+ """ Data dictionary """
+ try:
+ body = await request.json()
+ DICTIONARIES[body["name"]] = body
+ except ValueError:
+ print("No JSON sent! Leave it because we used that endpoint during "
+ "the availability and we won't break the integration tests")
+ return web.json_response(data=DICTIONARY, status=200)
+
+async def dictionary_get(request):
+ """ Data dictionary get """
+ name = request.match_info["name"]
+ try:
+ return web.json_response(data=DICTIONARIES[name], status=200)
+ except KeyError:
+ return web.Response(status=404) \ No newline at end of file