Skip to content

Commit

Permalink
Use set instead of key value pair list.
Browse files Browse the repository at this point in the history
  • Loading branch information
Neppord committed Jan 25, 2019
1 parent 20c80e3 commit 0b903b4
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 18 deletions.
16 changes: 10 additions & 6 deletions calculate_four_metrics.py
Expand Up @@ -79,14 +79,18 @@ def calculate_MTTR(path_to_git_repo, deploy_pattern, patch_pattern, start_date):
partial(fnmatch, pat=deploy_pattern),
start_date,
))
patch_tags_with_commit_date = list(fetch_tags_and_commit_dates(
run,
partial(fnmatch, pat=patch_pattern),
start_date,
))
patch_dates = set(
date
for _tag, date
in fetch_tags_and_commit_dates(
run,
partial(fnmatch, pat=patch_pattern),
start_date,
)
)
deployments = []
for deployment in deploy_tags_author_date:
is_patch = find_is_patch(deployment[0], deploy_tags_commit_date, patch_tags_with_commit_date)
is_patch = find_is_patch(deployment[0], deploy_tags_commit_date, patch_dates)
deployments.append(Deployment(is_patch, deployment[1]))
outages = find_outages(deployments)
downtime = (end.time - start.time for start, end in outages)
Expand Down
8 changes: 2 additions & 6 deletions recovery_time.py
Expand Up @@ -30,13 +30,9 @@ def split_sequence(deployments):
yield split


def find_is_patch(deployment_name, deploy_tags, patch_tags):
def find_is_patch(deployment_name, deploy_tags, patch_dates):
deploy_date = deploy_tags[deployment_name]
return any(
date == deploy_date
for tag_name, date
in patch_tags
)
return deploy_date in patch_dates


@dataclass
Expand Down
13 changes: 7 additions & 6 deletions test_recovery_time.py
Expand Up @@ -53,14 +53,15 @@ def test_begin_with_patch():

def test_find_is_patch():
deployment_name = "D-0.0.0"
deploy_list = dict([('D-0.0.0', 1548321420), ('D-0.0.1', 1548321600), ('D-0.0.2', 1548321720)])
patch_list = [('P-0.0.2', 1548321720)]
result = find_is_patch(deployment_name, deploy_list, patch_list)
deploys = dict([('D-0.0.0', 1548321420), ('D-0.0.1', 1548321600), ('D-0.0.2', 1548321720)])
patch_dates = {1548321720}
result = find_is_patch(deployment_name, deploys, patch_dates)
assert not result


def test_find_is_patch_when_it_is_a_patch():
deployment_name = "D-0.0.2"
deploy_list = dict([('D-0.0.0', 1548321420), ('D-0.0.1', 1548321600), ('D-0.0.2', 1548321720)])
patch_list = [('P-0.0.2', 1548321720)]
result = find_is_patch(deployment_name, deploy_list, patch_list)
deploys = dict([('D-0.0.0', 1548321420), ('D-0.0.1', 1548321600), ('D-0.0.2', 1548321720)])
patch_dates = {1548321720}
result = find_is_patch(deployment_name, deploys, patch_dates)
assert result

0 comments on commit 0b903b4

Please sign in to comment.