Commit 4cc250f3 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Tests - Tools - Mock OSM NBI:

- Improved Dockerfile structure
- Fixing Handling of VIM Account requests
parent 081fc7aa
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -22,17 +22,18 @@ RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools wheel
RUN python3 -m pip install --upgrade pip-tools

# Create component sub-folders, and copy content
# Create component sub-folders, and get requirements
RUN mkdir -p /var/mock_osm_nbi
WORKDIR /var/mock_osm_nbi
COPY ./*.py .
COPY ./*.in .

# Get specific Python packages
RUN pip-compile --quiet --output-file=requirements.txt requirements.in
RUN python3 -m pip install -r requirements.txt

WORKDIR /var
# Copy component code
COPY ./*.py .

# Start the service
WORKDIR /var
ENTRYPOINT ["python", "-m", "mock_osm_nbi"]
+15 −10
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

import logging, uuid
import json, logging, uuid
from typing import Dict
from flask import jsonify, make_response, request
from flask_restful import Resource
@@ -69,16 +69,21 @@ class OsmNBI(Resource):

    def post(self):
        LOGGER.info('Post request received')
        LOGGER.info('request: {:s}'.format(str(request)))
        LOGGER.info('request.headers: {:s}'.format(str(request.headers)))
        LOGGER.info('request.data: {:s}'.format(str(request.data)))

        payload = request.get_json(silent=True) or {}
        try:
            payload = json.loads(request.data)
            LOGGER.info('payload: {:s}'.format(str(payload)))
        except Exception as e:
            MSG = 'Unable to parse payload({:s}) : {:s}'
            error = {'error': MSG.format(str(request.data), str(e))}
            return make_response(jsonify(error), 400)

        queryset = request.args
        LOGGER.info('queryset: {:s}'.format(str(queryset)))

        nst_id  = payload.get('nstId'         ) or queryset.get('nstId'         )
        name    = payload.get('nsiName'       ) or queryset.get('nsiName'       )
        desc    = payload.get('nsiDescription') or queryset.get('nsiDescription') or ''
        nst_id  = payload.get('nstId'         )
        name    = payload.get('nsiName'       )
        desc    = payload.get('nsiDescription') or ''

        new_nsi_id = str(generate_uuid(name))
        new_nsi = {