blob: 623f072c6a40b7ef387c16eea9247d6dd9cf200a [file] [log] [blame]
#######################################################################################
# Copyright ETSI Contributors and Others.
#
# 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 unittest.mock import Mock
import asynctest
from osm_common.dataclasses.temporal_dataclasses import GetVnfRecordIdsInput
from osm_common.dbbase import DbException
from temporalio.testing import ActivityEnvironment
from osm_lcm.temporal.ns_activities import NsOperations
ns_uuid = "00000000-0000-0000-0000-000000000000"
get_vnf_record_ids_input = GetVnfRecordIdsInput(ns_uuid=ns_uuid)
class TestGetModelInfo(asynctest.TestCase):
def setUp(self):
self.db = Mock()
self.env = ActivityEnvironment()
self.ns_operations_activity = NsOperations(self.db)
async def test_get_vnfr_ids(self):
self.db.get_list.return_value = [
{"id": "00000000-0000-0000-0000-000000000000"},
{"id": "00000000-0000-0000-0000-000000000000"},
]
result = await self.env.run(
self.ns_operations_activity.get_vnf_record_ids, get_vnf_record_ids_input
)
assert result.vnfr_ids == [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000000",
]
self.db.get_list.assert_called_with("vnfrs", {"nsr-id-ref": ns_uuid})
async def test_activity_raises_db_exception(self):
self.db.get_list.side_effect = DbException("not found")
with self.assertRaises(DbException):
await self.env.run(
self.ns_operations_activity.get_vnf_record_ids, get_vnf_record_ids_input
)