示例#1
0
    def testInstanceLinkSourceFieldMustExist(self):
        src_ok = entity_instance.EntityInstance(
            _UPDATE,
            'AHU-1',
            links=[link.Link('CTRL-1', {'run_status': 'run_status'})],
            etag='123')
        bad_src_field = entity_instance.EntityInstance(
            _UPDATE,
            'AHU-1',
            links=[link.Link('CTRL-1', {'nonexistent_status': 'run_status'})],
            etag='123')

        self.assertFalse(self.update_validator.Validate(bad_src_field))
        self.assertTrue(self.update_validator.Validate(src_ok))
示例#2
0
    def testGraphOrphanLinkOkOnUpdate(self, mock_universe):
        target = entity_instance.EntityInstance(
            _UPDATE,
            'AHU-1',
            links=[link.Link('CTRL-1', {'run_status_1': 'run_status'})],
            etag='123')
        validator = entity_instance.GraphValidator(mock_universe, _UPDATE_CFG,
                                                   {'CTRL-1': target})

        self.assertTrue(validator.Validate(target))
示例#3
0
    def testInstanceLinkSourceFieldValidation(self, mock_fn):
        field_u = field_lib.FieldUniverse([])
        config_u = presubmit_validate_types_lib.ConfigUniverse(
            None, field_u, None, None, None, None)
        mock_fn.side_effect = lambda f, ns: f == 'run_status'

        validator = entity_instance.InstanceValidator(config_u, _UPDATE_CFG)
        src_ok = entity_instance.EntityInstance(
            _UPDATE,
            'AHU-1',
            links=[link.Link('CTRL-1', {'run_status': 'run_status'})],
            etag='123')
        bad_src_field = entity_instance.EntityInstance(
            _UPDATE,
            'AHU-1',
            links=[link.Link('CTRL-1', {'nonexistent_status': 'run_status'})],
            etag='123')

        self.assertFalse(validator.Validate(bad_src_field))
        self.assertTrue(validator.Validate(src_ok))
    def testGraphOrphanLinkOkOnUpdate(self):
        target = entity_instance.EntityInstance(
            _UPDATE,
            entity_id='CDM/123456',
            guid='AHU-1-guid',
            code='AHU-1',
            links=[link.Link('CTRL-1-guid', {'run_status_1': 'run_status'})],
            etag='123')
        validator = entity_instance.GraphValidator(self.config_universe,
                                                   _UPDATE_CFG,
                                                   {'CTRL-1-guid': target})

        self.assertTrue(validator.Validate(target))
  def _ParseLinks(self, links_body):
    """Parses YAML defining the links between the fields of this entity and
    other source entities.

    Args:
      links_body: YAML body for the entity links

    Returns:
      A set of Link instances
    """

    links = set()

    for source_entity, field_map in links_body.items():
      links.add(link.Link(source_entity, field_map))

    return links
def _ParseLinks(links_body: syaml.YAML) -> Set[link.Link]:
  """Parses YAML defining links between the fields of one entity and another.

  Links are always defined on the target entity.

  Args:
    links_body: YAML body for the entity links

  Returns:
    A set of Link instances
  """

  links = set()

  for source_entity, field_map in links_body.items():
    links.add(link.Link(source_entity, field_map))

  return links
def _ParseLinks(links_body: List[Tuple[str, Any]]) -> Set[link.Link]:
    """Parses YAML defining links between the fields of one entity and another.

  Entities are identified by GUID.

  Links are always defined on the target entity.

  Args:
    links_body: list of tuples with the source entity GUID and field map.

  Returns:
    A set of Link instances
  """

    links = set()

    for source_entity_guid, field_map in links_body:
        links.add(link.Link(source_entity_guid, field_map))

    return links