code: def validate_v2_endpoint_data(self, endpoints, admin_port, internal_port,
                                    public_port, expected):
          
          self.log.debug('Validating endpoint data...')
          self.log.debug('actual: {}'.format(repr(endpoints)))
          found = False
          for ep in endpoints:
              self.log.debug('endpoint: {}'.format(repr(ep)))
              if (admin_port in ep.adminurl and
                      internal_port in ep.internalurl and
                      public_port in ep.publicurl):
                  found = True
                  actual = {'id': ep.id,
                            'region': ep.region,
                            'adminurl': ep.adminurl,
                            'internalurl': ep.internalurl,
                            'publicurl': ep.publicurl,
                            'service_id': ep.service_id}
                  ret = self._validate_dict_data(expected, actual)
                  if ret:
                      return 'unexpected endpoint data - {}'.format(ret)
  
          if not found:
              return 'endpoint not found'
docs: Validate endpoint data.
  
             Validate actual endpoint data vs expected endpoint data. The ports
             are used to find the matching endpoint.