def test_import_duplicate_relationship_parameter_value(self):
     ParameterValue = namedtuple(
         "ParameterValue",
         ["id", "parameter_id", "object_id", "relationship_id"])
     added = MagicMock()
     added.__iter__.return_value = {ParameterValue(3, 4, None, 1)}
     added.count.return_value = 1
     self.mock_db_map._add_parameter_values.return_value = added
     num_imported, errors = import_relationship_parameter_values(
         self.mock_db_map,
         [
             [
                 "existing_rc1", ["existing_o1", "existing_o2"],
                 "existing_p4", 1
             ],
             [
                 "existing_rc1", ["existing_o1", "existing_o2"],
                 "existing_p4", 8
             ],
         ],
     )
     self.mock_db_map._add_parameter_values.assert_called_once_with({
         "relationship_id":
         1,
         "parameter_definition_id":
         4,
         "value":
         "1"
     })
     self.mock_db_map._update_parameter_values.assert_called_once()
     self.assertEqual(len(errors), 1)
 def test_import_relationship_parameter_value_with_invalid_parameter(self):
     num_imported, errors = import_relationship_parameter_values(
         self.mock_db_map, [[
             "existing_rc1", ["existing_o1", "existing_o2"],
             "invalid_param", 1
         ]])
     self.mock_db_map._add_parameter_values.assert_called_once()
     self.mock_db_map._update_parameter_values.assert_called_once()
     self.assertEqual(len(errors), 1)
Ejemplo n.º 3
0
 def import_relationship_parameter_values(self, relationship_parameter_values) -> int:
     """Import relationship parameter values from a list of relationship name,
     object name list, parameter name and value tuples
     
     Returns:
         n_imported (int): Number of improrted entities    
     """
     n_imported, errors = import_functions.import_relationship_parameter_values(
         self._db_map, relationship_parameter_values
     )
     if errors:
         self._handle_errors(errors)
     return n_imported
 def test_import_existing_relationship_parameter_value(self):
     added = MagicMock()
     added.__iter__.return_value = {}
     added.count.return_value = 0
     self.mock_db_map._add_parameter_values.return_value = added
     num_imported, errors = import_relationship_parameter_values(
         self.mock_db_map, [[
             "existing_rc1", ["existing_o1", "existing_o2"], "existing_p2",
             1
         ]])
     self.mock_db_map._add_parameter_values.assert_called_once_with()
     self.mock_db_map._update_parameter_values.assert_called_once_with({
         "value":
         "1",
         "id":
         2
     })
     self.assertEqual(len(errors), 0)