diff options
Diffstat (limited to 'integration_tests/test_04_service.py')
-rw-r--r-- | integration_tests/test_04_service.py | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/integration_tests/test_04_service.py b/integration_tests/test_04_service.py new file mode 100644 index 0000000..80370b0 --- /dev/null +++ b/integration_tests/test_04_service.py @@ -0,0 +1,122 @@ +"""Integration test Vendor module.""" +# Copyright 2022 Orange, Deutsche Telekom AG +# +# 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 os + +import pytest + +import requests + +from onapsdk.sdc import SDC +from onapsdk.sdc.properties import Property +from onapsdk.sdc.vendor import Vendor +from onapsdk.sdc.vsp import Vsp +from onapsdk.sdc.vf import Vf +from onapsdk.sdc.service import Service +import onapsdk.constants as const + + +@pytest.mark.integration +def test_service_unknown(): + """Integration tests for Service.""" + response = requests.post("{}/reset".format(SDC.base_front_url)) + response.raise_for_status() + vendor = Vendor(name="test") + vendor.onboard() + vsp = Vsp(name="test", package=open("{}/ubuntu16.zip".format( + os.path.dirname(os.path.abspath(__file__))), 'rb')) + vsp.vendor = vendor + vsp.onboard() + vf = Vf(name='test', vsp=vsp) + vf.onboard() + svc = Service(name='test') + assert svc.identifier is None + assert svc.status is None + svc.create() + assert svc.identifier is not None + assert svc.status == const.DRAFT + svc.add_resource(vf) + svc.checkin() + assert svc.status == const.CHECKED_IN + svc.certify() + assert svc.status == const.CERTIFIED + svc.distribute() + assert svc.status == const.DISTRIBUTED + assert svc.distributed + +@pytest.mark.integration +def test_service_onboard_unknown(): + """Integration tests for Service.""" + response = requests.post("{}/reset".format(SDC.base_front_url)) + response.raise_for_status() + vendor = Vendor(name="test") + vendor.onboard() + vsp = Vsp(name="test", package=open("{}/ubuntu16.zip".format( + os.path.dirname(os.path.abspath(__file__))), 'rb')) + vsp.vendor = vendor + vsp.onboard() + vf = Vf(name='test', vsp=vsp) + vf.onboard() + svc = Service(name='test', resources=[vf]) + svc.onboard() + assert svc.distributed + +@pytest.mark.integration +def test_service_upload_tca_artifact(): + """Integration tests for Service.""" + response = requests.post("{}/reset".format(SDC.base_front_url)) + response.raise_for_status() + vendor = Vendor(name="test") + vendor.onboard() + vsp = Vsp(name="test", package=open("{}/ubuntu16.zip".format( + os.path.dirname(os.path.abspath(__file__))), 'rb')) + vsp.vendor = vendor + vsp.onboard() + vf = Vf(name='test', vsp=vsp) + vf.onboard() + svc = Service(name='test') + svc.create() + svc.add_resource(vf) + assert svc.status == const.DRAFT + payload_file = open("{}/tca_clampnode.yaml".format(os.path.dirname(os.path.abspath(__file__))), 'rb') + data = payload_file.read() + svc.add_artifact_to_vf(vnf_name="test", + artifact_type="DCAE_INVENTORY_BLUEPRINT", + artifact_name="tca_clampnode.yaml", + artifact=data) + payload_file.close() + +@pytest.mark.integration +def test_service_properties(): + """Integration test to check properties assignment for Service.""" + response = requests.post("{}/reset".format(SDC.base_front_url)) + response.raise_for_status() + vendor = Vendor(name="test") + vendor.onboard() + vsp = Vsp(name="test", package=open("{}/ubuntu16.zip".format( + os.path.dirname(os.path.abspath(__file__))), 'rb')) + vsp.vendor = vendor + vsp.onboard() + vf = Vf(name='test', vsp=vsp) + vf.onboard() + properties = [ + Property(name="test1", property_type="string", value="123"), + Property(name="test2", property_type="integer") + ] + svc = Service(name='test', resources=[vf], properties=properties, inputs=[properties[1]]) + svc.onboard() + service_properties = list(svc.properties) + service_inputs = list(svc.inputs) + assert len(service_properties) == 2 + assert len(service_inputs) == 1 |