def test_parse_release_latest(self): with pytest.raises(Release.DoesNotExist): # no releases exist period environment = None result = get_latest_release(self.project, environment) old = Release.objects.create( organization_id=self.project.organization_id, version='old' ) old.add_project(self.project) new_date = old.date_added + timedelta(minutes=1) new = Release.objects.create( version='new-but-in-environment', organization_id=self.project.organization_id, date_released=new_date, ) new.add_project(self.project) ReleaseEnvironment.get_or_create( project=self.project, release=new, environment=self.environment, datetime=new_date, ) ReleaseProjectEnvironment.get_or_create( project=self.project, release=new, environment=self.environment, datetime=new_date, ) newest = Release.objects.create( version='newest-overall', organization_id=self.project.organization_id, date_released=old.date_added + timedelta(minutes=5), ) newest.add_project(self.project) # latest overall (no environment filter) environment = None result = get_latest_release(self.project, environment) assert result == newest.version # latest in environment environment = self.environment result = get_latest_release(self.project, environment) assert result == new.version with pytest.raises(Release.DoesNotExist): # environment with no releases environment = self.create_environment() result = get_latest_release(self.project, environment) assert result == new.version