Skip to content

Commit 52a2bc9

Browse files
committed
better use waffle switch ELASTICSEARCH_METRICS
1 parent db938be commit 52a2bc9

4 files changed

Lines changed: 19 additions & 21 deletions

File tree

api_tests/metrics/test_registries_moderation_metrics.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import pytest
2-
from waffle.testutils import override_switch
32

4-
from osf import features
53
from osf_tests.factories import RegistrationFactory, AuthUserFactory
64
from osf.utils.workflows import RegistrationModerationStates, RegistrationModerationTriggers
75
from osf.metrics import RegistriesModerationMetrics
@@ -17,11 +15,6 @@ class TestRegistrationModerationMetrics:
1715
def registration(self):
1816
return RegistrationFactory()
1917

20-
@pytest.fixture(autouse=True)
21-
def enable_elasticsearch_metrics(self):
22-
with override_switch(features.ELASTICSEARCH_METRICS, active=True):
23-
yield
24-
2518
@pytest.mark.es_metrics
2619
def test_record_transitions(self, registration):
2720
with capture_notifications():
@@ -50,11 +43,6 @@ class TestRegistrationModerationMetricsView:
5043
def registration(self):
5144
return RegistrationFactory()
5245

53-
@pytest.fixture(autouse=True)
54-
def enable_elasticsearch_metrics(self):
55-
with override_switch(features.ELASTICSEARCH_METRICS, active=True):
56-
yield
57-
5846
@pytest.fixture
5947
def user(self):
6048
user = AuthUserFactory()

conftest.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@
1010
import pytest
1111
import responses
1212
import xml.etree.ElementTree as ET
13+
from waffle.testutils import override_switch
1314

1415
from api_tests.share import _utils as shtrove_test_utils
1516
from framework.celery_tasks import app as celery_app
1617
from osf.external.spam import tasks as spam_tasks
1718
from website import settings as website_settings
1819
from osf.management.commands.populate_notification_types import populate_notification_types
20+
from osf import features
21+
1922

2023
def pytest_configure(config):
2124
if not os.getenv('GITHUB_ACTIONS') == 'true':
@@ -141,12 +144,15 @@ def _es_metrics_marker(request):
141144
"""
142145
marker = request.node.get_closest_marker('es_metrics')
143146

144-
if not marker:
145-
yield
146-
return
147-
148-
with djelme_test_backends():
149-
yield
147+
if marker:
148+
with (
149+
override_switch(features.ELASTICSEARCH_METRICS, active=True),
150+
djelme_test_backends(),
151+
):
152+
yield
153+
else:
154+
with override_switch(features.ELASTICSEARCH_METRICS, active=False):
155+
yield
150156

151157

152158
@pytest.fixture

osf/models/registrations.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
UserObjectPermissionBase,
1515
)
1616
from dirtyfields import DirtyFieldsMixin
17+
import waffle
1718

1819
from framework.auth import Auth
1920
from framework.exceptions import PermissionsError
21+
from osf import features
2022
from osf.models import Identifier
2123
from osf.utils.fields import NonNaiveDateTimeField, LowercaseCharField
2224
from osf.utils.permissions import ADMIN, READ, WRITE
@@ -782,7 +784,8 @@ def _write_registration_action(self, from_state, to_state, initiated_by, comment
782784
comment=comment
783785
)
784786
action.save()
785-
RegistriesModerationMetrics.record_transitions(action)
787+
if waffle.switch_is_active(features.ELASTICSEARCH_METRICS):
788+
RegistriesModerationMetrics.record_transitions(action)
786789

787790
moderation_notifications = {
788791
RegistrationModerationTriggers.SUBMIT: notify.notify_submit,

osf_tests/metrics/test_monthly_report.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
class TestMonthlyReportKey:
1212
@pytest.fixture
1313
def mock_save(self):
14-
with mock.patch('elasticsearch6_dsl.Document.save', autospec=True) as mock_save:
15-
yield mock_save
14+
with mock.patch('elasticsearch_metrics.imps.elastic6.BaseMetric.check_index_template'):
15+
with mock.patch('elasticsearch6_dsl.Document.save', autospec=True) as mock_save:
16+
yield mock_save
1617

1718
def test_default(self, mock_save):
1819
# only one of this type of report per month

0 commit comments

Comments
 (0)