class TestPublicSymlinkUnicode(TempSiterootCase, TestCase): def setUp(self): super(TestPublicSymlinkUnicode, self).setUp() self.project = get(Project, slug='kong', name=u'foo-∫', main_language_project=None) self.project.save() self.stable = get(Version, slug='foo-a', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) def test_symlink_no_error(self): try: self.symlink.run() except: self.fail('Symlink run raised an exception on unicode slug')
class TestPublicSymlinkUnicode(TempSiterootCase, TestCase): def setUp(self): super(TestPublicSymlinkUnicode, self).setUp() self.project = get(Project, slug='kong', name=u'foo-∫', main_language_project=None) self.project.save() self.stable = get(Version, slug='foo-a', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) def test_symlink_no_error(self): try: self.symlink.run() except: self.fail('Symlink run raised an exception on unicode slug')
class TestPublicSymlinkUnicode(TestCase): def setUp(self): self.project = get(Project, slug="kong", name=u"foo-∫") self.stable = get(Version, slug="stable", verbose_name=u"foo-∂", active=True, project=self.project) self.symlink = PublicSymlink(self.project) self.args = { "project_root": self.symlink.project_root, "latest_path": self.project.rtd_build_path("latest"), "stable_path": self.project.rtd_build_path("stable"), } self.commands = [] @patched def test_symlink_no_error(self): # Don't raise an error. self.symlink.run() self.assertTrue(True)
class TestPublicSymlinkUnicode(TestCase): def setUp(self): self.project = get(Project, slug='kong', name=u'foo-∫') self.stable = get( Version, slug='stable', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) self.args = { 'project_root': self.symlink.project_root, 'latest_path': self.project.rtd_build_path('latest'), 'stable_path': self.project.rtd_build_path('stable'), } self.commands = [] @patched def test_symlink_no_error(self): # Don't raise an error. self.symlink.run() self.assertTrue(True)
class TestPublicSymlinkUnicode(TestCase): def setUp(self): self.project = get(Project, slug='kong', name=u'foo-∫') self.stable = get(Version, slug='stable', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) self.args = { 'project_root': self.symlink.project_root, 'latest_path': self.project.rtd_build_path('latest'), 'stable_path': self.project.rtd_build_path('stable'), } self.commands = [] @patched def test_symlink_no_error(self): # Don't raise an error. self.symlink.run() self.assertTrue(True)
class TestPublicSymlinkUnicode(TempSiterootCase, TestCase): def setUp(self): super(TestPublicSymlinkUnicode, self).setUp() self.project = get(Project, slug='kong', name=u'foo-∫', main_language_project=None) self.project.save() self.stable = get(Version, slug='foo-a', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) def test_symlink_no_error(self): try: self.symlink.run() except: self.fail('Symlink run raised an exception on unicode slug') def test_symlink_broadcast_calls_on_project_save(self): """ Test calls to ``readthedocs.core.utils.broadcast`` on Project.save(). When a Project is saved, we need to check that we are calling ``broadcast`` utility with the proper task and arguments to re-symlink them. """ with mock.patch('readthedocs.projects.models.broadcast') as broadcast: project = get(Project) # skipped on first save broadcast.assert_not_called() broadcast.reset_mock() project.description = 'New description' project.save() # called once for this project itself broadcast.assert_any_calls( type='app', task=symlink_project, args=[project.pk], ) broadcast.reset_mock() subproject = get(Project) # skipped on first save broadcast.assert_not_called() project.add_subproject(subproject) # subproject.save() is not called broadcast.assert_not_called() subproject.description = 'New subproject description' subproject.save() # subproject symlinks broadcast.assert_any_calls( type='app', task=symlink_project, args=[subproject.pk], ) # superproject symlinks broadcast.assert_any_calls( type='app', task=symlink_project, args=[project.pk], )
class TestPublicSymlinkUnicode(TempSiterootCase, TestCase): def setUp(self): super(TestPublicSymlinkUnicode, self).setUp() self.project = get(Project, slug='kong', name=u'foo-∫', main_language_project=None) self.project.save() self.stable = get(Version, slug='foo-a', verbose_name=u'foo-∂', active=True, project=self.project) self.symlink = PublicSymlink(self.project) def test_symlink_no_error(self): try: self.symlink.run() except: self.fail('Symlink run raised an exception on unicode slug') def test_symlink_broadcast_calls_on_project_save(self): """ Test calls to ``readthedocs.core.utils.broadcast`` on Project.save(). When a Project is saved, we need to check that we are calling ``broadcast`` utility with the proper task and arguments to re-symlink them. """ with mock.patch('readthedocs.projects.models.broadcast') as broadcast: project = get(Project) # skipped on first save broadcast.assert_not_called() broadcast.reset_mock() project.description = 'New description' project.save() # called once for this project itself broadcast.assert_any_calls( type='app', task=symlink_project, args=[project.pk], ) broadcast.reset_mock() subproject = get(Project) # skipped on first save broadcast.assert_not_called() project.add_subproject(subproject) # subproject.save() is not called broadcast.assert_not_called() subproject.description = 'New subproject description' subproject.save() # subproject symlinks broadcast.assert_any_calls( type='app', task=symlink_project, args=[subproject.pk], ) # superproject symlinks broadcast.assert_any_calls( type='app', task=symlink_project, args=[project.pk], )