def merge(independence_metrics_list): total_metrics = [] dates = set() for im in independence_metrics_list: dates = dates.union(im.get_sorted_dates()) for d in sorted(list(dates)): all_issues_by_date = set() all_with_deps_by_date = set() for im in independence_metrics_list: m = im.history.get(d, {}) if len(m) > 0: name = m.get("name", "__merged__") all_issues_by_date = all_issues_by_date.union( m.get("all_issues", [])) all_with_deps_by_date = all_with_deps_by_date.union( m.get("all_with_dep", [])) total_metrics.append({ "name": name, "squad": "Merged", "independence": round(100 - len(all_with_deps_by_date) * 100 / len(all_issues_by_date)) if len(all_issues_by_date) else 0, "all_issues": all_issues_by_date, "all_with_dep": all_with_deps_by_date, "timestamp": to_ts(datetime.datetime(year=d.year, month=d.month, day=d.day)), }) return IndependenceMetrics(total_metrics)
def test_day_ts(): dt = datetime.datetime.utcnow() day = datetime.datetime(year=dt.year, month=dt.month, day=dt.day) day_ts = h.day_ts(day) assert h.to_ts(day) == day_ts
def test_to_dt(): first_jan_2020 = datetime.datetime(year=2020, month=1, day=1) first_jan_2020_ts = h.to_ts(first_jan_2020) dt = h.to_dt(first_jan_2020_ts) assert dt == first_jan_2020
def test_utc_ts(): d = datetime.datetime.utcnow() utc_ts = h.utc_ts(d) assert h.to_ts(d) == utc_ts
def test_to_ts(): first_jan_2020 = datetime.datetime(year=2020, month=1, day=1) ts = h.to_ts(first_jan_2020) assert ts == 1577833200