def get_call_center_data_source_stats(domains): domains_to_forms = get_form_counts_for_domains(domains) domains_to_cases = get_case_and_action_counts_for_domains(domains) domain_data = {} for domain in domains: try: adapters = get_sql_adapters_for_domain(domain) domain_data[domain] = DomainStats( domain, forms=_compile_stats( name='forms', ucr_count=adapters.forms.get_query_object().count(), es_count=domains_to_forms.get(domain, 0), ), cases=_compile_stats( name='cases', ucr_count=adapters.cases.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('cases', 0)), case_actions=_compile_stats( name='case_actions', ucr_count=adapters.case_actions.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('case_actions', 0)), error=None) except Exception as e: domain_data[domain] = DomainStats(domain, None, None, None, str(e)) return domain_data
def get_call_center_data_source_stats(domains): domains_to_forms = get_form_counts_for_domains(domains) domains_to_cases = get_case_and_action_counts_for_domains(domains) domain_data = {} for domain in domains: try: adapters = get_sql_adapters_for_domain(domain) domain_data[domain] = DomainStats( domain, forms=_compile_stats( name='forms', ucr_count=adapters.forms.get_query_object().count(), es_count=domains_to_forms.get(domain, 0), ), cases=_compile_stats( name='cases', ucr_count=adapters.cases.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('cases', 0) ), case_actions=_compile_stats( name='case_actions', ucr_count=adapters.case_actions.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('case_actions', 0) ), error=None ) except Exception as e: domain_data[domain] = DomainStats(domain, None, None, None, str(e)) return domain_data
def test_get_case_and_action_counts_for_domains(self): self._send_case_to_es() self._send_case_to_es() self._send_case_to_es('other') results = get_case_and_action_counts_for_domains([self.domain, 'other']) self.assertEqual( results, { self.domain: {'cases': 2, 'case_actions': 2}, 'other': {'cases': 1, 'case_actions': 1} } )