From 5b202cc6ddca6d819f117cb554dc9cbdbc8f8a83 Mon Sep 17 00:00:00 2001 From: John Tordoff <> Date: Thu, 19 Sep 2024 14:24:12 -0400 Subject: [PATCH] remove preprint affiliation special-casing --- osf/metadata/osf_gathering.py | 2 +- osf/metrics/reporters/institutional_users.py | 2 -- .../test_institutional_users_reporter.py | 32 +++++++------------ 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/osf/metadata/osf_gathering.py b/osf/metadata/osf_gathering.py index 6e5e25c6d0b..9a93f7214fe 100644 --- a/osf/metadata/osf_gathering.py +++ b/osf/metadata/osf_gathering.py @@ -823,7 +823,7 @@ def gather_agents(focus): def gather_affiliated_institutions(focus): if hasattr(focus.dbmodel, 'get_affiliated_institutions'): # like OSFUser institution_qs = focus.dbmodel.get_affiliated_institutions() - elif hasattr(focus.dbmodel, 'affiliated_institutions'): # like AbstractNode + elif hasattr(focus.dbmodel, 'affiliated_institutions'): # like AbstractNode or Preprint institution_qs = focus.dbmodel.affiliated_institutions.all() else: institution_qs = () diff --git a/osf/metrics/reporters/institutional_users.py b/osf/metrics/reporters/institutional_users.py index abe835bcb9c..98e13003387 100644 --- a/osf/metrics/reporters/institutional_users.py +++ b/osf/metrics/reporters/institutional_users.py @@ -103,8 +103,6 @@ def _embargoed_registration_queryset(self): ) def _published_preprint_queryset(self): - if not hasattr(osfdb.Preprint, 'affiliated_institutions'): - return osfdb.Preprint.objects.none() # HACK: preprints affiliation project still in-progress return ( osfdb.Preprint.objects.can_view() # published/publicly-viewable .filter( diff --git a/osf_tests/metrics/reporters/test_institutional_users_reporter.py b/osf_tests/metrics/reporters/test_institutional_users_reporter.py index 6af191cc669..8fbb873083f 100644 --- a/osf_tests/metrics/reporters/test_institutional_users_reporter.py +++ b/osf_tests/metrics/reporters/test_institutional_users_reporter.py @@ -20,11 +20,6 @@ ) -def _can_affiliate_preprints() -> bool: - # HACK: preprints affiliation project still in-progress - return hasattr(osfdb.Preprint, 'affiliated_institutions') - - def _patch_now(fakenow: datetime.datetime): return unittest.mock.patch('django.utils.timezone.now', return_value=fakenow) @@ -64,10 +59,7 @@ def _assert_report_matches_setup(self, report: InstitutionalUserReport, setup: _ self.assertEqual(report.private_project_count, setup.private_project_count) self.assertEqual(report.public_registration_count, setup.public_registration_count) self.assertEqual(report.embargoed_registration_count, setup.embargoed_registration_count) - if _can_affiliate_preprints(): - self.assertEqual(report.published_preprint_count, setup.published_preprint_count) - else: - self.assertEqual(report.published_preprint_count, 0) + self.assertEqual(report.published_preprint_count, setup.published_preprint_count) def test_no_users(self): _actual_reports = list(InstitutionalUsersReporter().report(self._yearmonth)) @@ -90,8 +82,8 @@ def test_one_user_with_stuff_and_no_files(self): _reports = list(InstitutionalUsersReporter().report(self._yearmonth)) self.assertEqual(len(_reports), 1) self._assert_report_matches_setup(_reports[0], self._user_setup_with_stuff) - self.assertEqual(_reports[0].public_file_count, 0) - self.assertEqual(_reports[0].storage_byte_count, 0) + self.assertEqual(_reports[0].public_file_count, 2) # preprint 2 files + self.assertEqual(_reports[0].storage_byte_count, 2674) # preprint bytes def test_one_user_with_stuff_and_a_file(self): self._user_setup_with_stuff.affiliate_user() @@ -101,8 +93,8 @@ def test_one_user_with_stuff_and_a_file(self): create_test_file(target=_project, user=_user, size=37) (_report,) = InstitutionalUsersReporter().report(self._yearmonth) self._assert_report_matches_setup(_report, self._user_setup_with_stuff) - self.assertEqual(_report.public_file_count, 1) - self.assertEqual(_report.storage_byte_count, 37) + self.assertEqual(_report.public_file_count, 3) # 2 preprint files + self.assertEqual(_report.storage_byte_count, 2711) # 2 preprint files def test_one_user_with_stuff_and_multiple_files(self): self._user_setup_with_stuff.affiliate_user() @@ -118,8 +110,8 @@ def test_one_user_with_stuff_and_multiple_files(self): create_test_file(target=_component, user=_user, size=47, filename='blarg') (_report,) = InstitutionalUsersReporter().report(self._yearmonth) self._assert_report_matches_setup(_report, self._user_setup_with_stuff) - self.assertEqual(_report.public_file_count, 5) - self.assertEqual(_report.storage_byte_count, 37 + 73 + 53 + 51 + 47) + self.assertEqual(_report.public_file_count, 7) # 2 preprint files + self.assertEqual(_report.storage_byte_count, 2935) # 2 preprint files + 37 + 73 + 53 + 51 + 47 def test_several_users(self): _setups = [ @@ -249,9 +241,7 @@ def _add_embargoed_registration(self) -> osfdb.Registration: ) def _add_published_preprint(self) -> osfdb.Preprint | None: - if _can_affiliate_preprints(): # HACK: preprints affiliation project still in-progress - return PreprintFactory( - creator=self.user, - is_public=True, - ) - return None + return PreprintFactory( + creator=self.user, + is_public=True, + )