Skip to content

Commit 9733397

Browse files
committed
Correct deprecation warning scoping for projects.register
1 parent 76dd6e9 commit 9733397

File tree

3 files changed

+20
-26
lines changed

3 files changed

+20
-26
lines changed

src/citrine/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.36.5'
1+
__version__ = '1.36.6'

src/citrine/resources/project.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -671,20 +671,11 @@ def build(self, data) -> Project:
671671
project.team_id = self.team_id
672672
return project
673673

674-
def _register_in_team(self, name: str, *, description: Optional[str] = None):
675-
if self.team_id is None:
676-
raise NotImplementedError("Please use team.projects")
677-
path = format_escaped_url('teams/{team_id}/projects', team_id=self.team_id)
678-
project = Project(name, description=description)
679-
try:
680-
data = self.session.post_resource(path, project.dump(), version=self._api_version)
681-
data = data[self._individual_key]
682-
return self.build(data)
683-
except NonRetryableException as e:
684-
raise ModuleRegistrationFailedException(project.__class__.__name__, e)
674+
@use_teams("team.projects.register", deprecated=False)
675+
def _old_register(self, name: str, *, description: Optional[str] = None) -> Project:
676+
return super().register(Project(name, description=description))
685677

686-
@use_teams("team.projects.register", deprecated=True)
687-
def register(self, name: str, *, description: Optional[str] = None) -> Project:
678+
def register(self, name: str, *, description: Optional[str] = None):
688679
"""
689680
Create and upload new project.
690681
@@ -696,10 +687,16 @@ def register(self, name: str, *, description: Optional[str] = None) -> Project:
696687
Long-form description of the project to be created.
697688
698689
"""
699-
if self.session._accounts_service_v3:
700-
return self._register_in_team(name, description=description)
701-
else:
702-
return super().register(Project(name, description=description))
690+
if self.team_id is None:
691+
return self._old_register(name=name, description=description)
692+
path = format_escaped_url('teams/{team_id}/projects', team_id=self.team_id)
693+
project = Project(name, description=description)
694+
try:
695+
data = self.session.post_resource(path, project.dump(), version=self._api_version)
696+
data = data[self._individual_key]
697+
return self.build(data)
698+
except NonRetryableException as e:
699+
raise ModuleRegistrationFailedException(project.__class__.__name__, e)
703700

704701
def list(self, *,
705702
page: Optional[int] = None,

tests/resources/test_project.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -512,18 +512,16 @@ def test_failed_register_v3():
512512
session.post_resource.side_effect = NotFound(f'/teams/{team_id}/projects',
513513
FakeRequestResponse(400))
514514
project_collection = ProjectCollection(session=session, team_id=team_id)
515-
with pytest.warns(DeprecationWarning):
516-
with pytest.raises(ModuleRegistrationFailedException) as e:
517-
project_collection.register("Project")
515+
with pytest.raises(ModuleRegistrationFailedException) as e:
516+
project_collection.register("Project")
518517
assert 'The "Project" failed to register.' in str(e.value)
519518
assert f'/teams/{team_id}/projects' in str(e.value)
520519

521520

522521
def test_failed_register_v3_no_team(session_v3):
523522
project_collection = ProjectCollection(session=session_v3)
524-
with pytest.warns(DeprecationWarning):
525-
with pytest.raises(NotImplementedError):
526-
project_collection.register("Project")
523+
with pytest.raises(NotImplementedError):
524+
project_collection.register("Project")
527525

528526

529527
def test_project_registration(collection: ProjectCollection, session):
@@ -568,8 +566,7 @@ def test_project_registration_v3(collection_v3: ProjectCollection, session_v3):
568566
team_id = collection_v3.team_id
569567

570568
# When
571-
with pytest.warns(DeprecationWarning):
572-
created_project = collection_v3.register('testing')
569+
created_project = collection_v3.register('testing')
573570

574571
# Then
575572
assert 1 == session_v3.num_calls

0 commit comments

Comments
 (0)