Skip to content

Commit

Permalink
remove preprint affiliation special-casing
Browse files Browse the repository at this point in the history
  • Loading branch information
John Tordoff committed Sep 19, 2024
1 parent 96745eb commit b2988ed
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 24 deletions.
2 changes: 1 addition & 1 deletion osf/metadata/osf_gathering.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ()
Expand Down
2 changes: 0 additions & 2 deletions osf/metrics/reporters/institutional_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
32 changes: 11 additions & 21 deletions osf_tests/metrics/reporters/test_institutional_users_reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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))
Expand All @@ -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()
Expand All @@ -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()
Expand All @@ -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 = [
Expand Down Expand Up @@ -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,
)

0 comments on commit b2988ed

Please sign in to comment.