+ # Test scale() for native kdu
+ # this also includes testing _scale_kdu()
+ nsr_id = descriptors.test_ids["TEST-NATIVE-KDU"]["ns"]
+ nslcmop_id = descriptors.test_ids["TEST-NATIVE-KDU"]["instantiate"]
+
+ self.my_ns.k8sclusterjuju.scale = asynctest.mock.CoroutineMock()
+ self.my_ns.k8sclusterjuju.exec_primitive = asynctest.mock.CoroutineMock()
+ self.my_ns.k8sclusterjuju.get_scale_count = asynctest.mock.CoroutineMock(
+ return_value=1
+ )
+ await self.my_ns.scale(nsr_id, nslcmop_id)
+ expected_value = "COMPLETED"
+ return_value = self.db.get_one("nslcmops", {"_id": nslcmop_id}).get(
+ "operationState"
+ )
+ self.assertEqual(return_value, expected_value)
+ self.my_ns.k8sclusterjuju.scale.assert_called_once()
+
+ # Test scale() for native kdu with 2 resource
+ nsr_id = descriptors.test_ids["TEST-NATIVE-KDU-2"]["ns"]
+ nslcmop_id = descriptors.test_ids["TEST-NATIVE-KDU-2"]["instantiate"]
+
+ self.my_ns.k8sclusterjuju.get_scale_count.return_value = 2
+ await self.my_ns.scale(nsr_id, nslcmop_id)
+ expected_value = "COMPLETED"
+ return_value = self.db.get_one("nslcmops", {"_id": nslcmop_id}).get(
+ "operationState"
+ )
+ self.assertEqual(return_value, expected_value)
+ self.my_ns.k8sclusterjuju.scale.assert_called()
+