Skip to content
This repository has been archived by the owner on Aug 25, 2023. It is now read-only.

Commit

Permalink
Merge dc3ef67 into 8acc313
Browse files Browse the repository at this point in the history
  • Loading branch information
marek-tabor committed Jan 10, 2019
2 parents 8acc313 + dc3ef67 commit 9b370e1
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ def __init__(self, x_days):
self.x_days = x_days

def query_string(self):
projects_to_skip = tuple(configuration.projects_to_skip)
return \
"SELECT * FROM [{}:SLI_backup_creation_latency_views.SLI_{}_days]" \
.format(configuration.backup_project_id, self.x_days)
"SELECT * FROM [{}:SLI_backup_creation_latency_views.SLI_{}_days] WHERE projectId NOT IN {}" \
.format(configuration.backup_project_id, self.x_days, projects_to_skip)

def format_query_results(self, results, snapshot_time):
formatted_results = [{"snapshotTime": snapshot_time,
Expand Down
5 changes: 3 additions & 2 deletions src/slo/backup_quality/quality_query_specification.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
class QualityQuerySpecification(object):

def query_string(self):
projects_to_skip = tuple(configuration.projects_to_skip)
return \
"SELECT * FROM [{}:SLI_backup_quality_views.SLI_quality]"\
.format(configuration.backup_project_id)
"SELECT * FROM [{}:SLI_backup_quality_views.SLI_quality] WHERE projectId NOT IN {}"\
.format(configuration.backup_project_id, projects_to_skip)

def format_query_results(self, results, snapshot_time):
formatted_results = [{"snapshotTime": snapshot_time,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from unittest import TestCase

from src.slo.backup_creation_latency.latency_query_specification import LatencyQuerySpecification
from src.commons.config.configuration import Configuration
from mock import patch, PropertyMock


class TestLatencyQuerySpecification(TestCase):
@patch.object(Configuration, 'projects_to_skip', return_value=['BBQ-project-id', 'ta-testing-project', '123'],
new_callable=PropertyMock)
def test_should_create_valid_query_with_skipped_projects_in_it(self, projects_to_skip):
projects_to_skip.return_value = ['BBQ-project-id', 'ta-testing-project', '123']
latency_query_spec = LatencyQuerySpecification(3)
query = latency_query_spec.query_string()
self.assertEqual(query,
"SELECT * FROM [BBQ-project-id:SLI_backup_creation_latency_views.SLI_3_days] WHERE projectId NOT IN ('BBQ-project-id', 'ta-testing-project', '123')")
16 changes: 16 additions & 0 deletions tests/slo/backup_quality/test_quality_query_specification.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from unittest import TestCase

from src.slo.backup_quality.quality_query_specification import QualityQuerySpecification
from src.commons.config.configuration import Configuration
from mock import patch, PropertyMock


class TestQualityQuerySpecification(TestCase):
@patch.object(Configuration, 'projects_to_skip', return_value=['BBQ-project-id', 'ta-testing-project', '123'],
new_callable=PropertyMock)
def test_should_create_valid_query_with_skipped_projects_in_it(self, projects_to_skip):
projects_to_skip.return_value = ['BBQ-project-id', 'ta-testing-project', '123']
quality_query_spec = QualityQuerySpecification()
query = quality_query_spec.query_string()
self.assertEqual(query,
"SELECT * FROM [BBQ-project-id:SLI_backup_quality_views.SLI_quality] WHERE projectId NOT IN ('BBQ-project-id', 'ta-testing-project', '123')")

0 comments on commit 9b370e1

Please sign in to comment.