Beispiel #1
0
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