### Question:
DAOSOAMetricsQueryServiceProvider implements SOAMetricsQueryServiceProvider { @Override public ErrorInfos getErrorMetricsMetadata(String errorId, String errorName, String serviceName) { return delegate.getErrorMetricsMetadata(errorId, errorName, serviceName); } DAOSOAMetricsQueryServiceProvider();  DAOSOAMetricsQueryServiceProvider(EntityManagerFactory entityManagerFactory); @Override List<MetricData> getCustomReportData(ReportCriteria reportCriteria, MetricCriteria metricCriteria); @Override List<MetricData> getDetailData(String dc, MetricCriteria metricCriteria,
                    MetricResourceCriteria metricResourceCriteria); @Override List<MetricGraphData> getErrorGraph(String serviceName, String operationName, String consumerName,
                    String errorId, String errorCategory, String errorSeverity, MetricCriteria metricCriteria); @Override List<ErrorViewData> getErrorMetricsData(String errorType, List<String> serviceName,
                    List<String> operationName, List<String> consumerName, String errorId, String errorCategory,
                    String errorSeverity, String errorName, MetricCriteria metricCriteria); @Override ErrorInfos getErrorMetricsMetadata(String errorId, String errorName, String serviceName); @Override List<MetricGroupData> getMetricsData(MetricCriteria metricCriteria,
                    MetricResourceCriteria metricResourceCriteria); @Override MetricData getMetricSummaryData(String dc, MetricCriteria metricCriteria,
                    MetricResourceCriteria metricResourceCriteria); @Override List<MetricGraphData> getMetricValue(CriteriaInfo criteriaInfo, long startTime, long duration, int step,
                    String autoDelay); @Override List<PolicyMetricData> getPolicyMetricData(long startTime, long endTime, String policyType,
                    String policyName, String serviceName, String operationName, String subjectTypeName,
                    String subjectValue, String effect); @Override List<PolicyMetricGraphData> getPolicyMetricDetailData(String policyName, String serviceName,
                    String operationName, String subjectTypeName, String subjectValue, String listType, long startTime,
                    long endTime); @Override List<MetricData> getStandardReportData(String reportType, MetricCriteria metricCriteria); @Override List<String> getMetricsMetadata(String resourceEntityType, List<String> resourceEntityName,
                    String resourceEntityResponseType); @Override List<ExtendedErrorViewData> getExtendedErrorMetricsData(String errorType, List<String> serviceName,
                    List<String> operationName, List<String> consumerName, String errorId, String errorCategory,
                    String errorSeverity, String errorName, MetricCriteria metricCriteria);  }### Answer:
@Test public void testGetErrorMetricsMetadata() { String errorId = String.valueOf(1L); ErrorInfos error = provider.getErrorMetricsMetadata(errorId, null, null); assertEquals(errorId, error.getId()); assertEquals("error_1", error.getName()); assertEquals(ErrorCategory.SYSTEM.value(), error.getCategory()); assertEquals(ErrorSeverity.ERROR.value(), error.getSeverity()); assertEquals("domain_1", error.getDomain()); assertEquals("sub_domain_1", error.getSubDomain()); }