def collectJiraMetrics(): global cachedMetrics global serviceIsReady #metricsStrReplaced ="" start = datetime.now() logger.info('Start collecting metrics...') metrics_descriptions_file = config.get('jira', 'metrics_descriptions_file') try: jiraCollector = JiraCollector(metrics_descriptions_file) # Collect all jira metrics metricsDict = jiraCollector.collect() except: logger.exception("Error while trying to collect metrics") raise # Convert to metric format metricsStr = stringifyJsonMetric(str(metricsDict)) end = datetime.now() # Add metrics about this run metricsStr = addInternalMetrics(metricsStr, start, end, len(metricsDict)) # Update cached metrics cachedMetrics = metricsStr logger.info("Metrics collected OK") serviceIsReady = True
def test_collect_metrics_converts_jsonfile_to_correct_jql(mock_query_jira): mock_query_jira.return_value ="42" jc = JiraCollector("simple_test.json") result = jc.collect() assert mock_query_jira.call_count == 2 mock_query_jira.assert_any_call('project = BIP AND status IN ("10002")', 0) mock_query_jira.assert_any_call('project = DAPLA AND status IN ("10002")', 0)
def test_collect_metrics_converts_jql_results_to_correct_dictionary(mock_query_jira): mock_query_jira.return_value ="42" jc = JiraCollector("simple_test.json") result = jc.collect() expectedMetricsDict ={ "jira_total_done{project_name=\"BIP\"}":"42", "jira_total_done{project_name=\"DAPLA\"}":"42" } assert result == expectedMetricsDict