from rhodecode.tests import * from rhodecode.model.gist import GistModel from rhodecode.model.meta import Session from rhodecode.model.db import User, Gist def _create_gist(f_name, content='some gist', lifetime=-1, description='gist-desc', gist_type='public'): gist_mapping = { f_name: {'content': content} } user = User.get_by_username(TEST_USER_ADMIN_LOGIN) gist = GistModel().create(description, owner=user, gist_mapping=gist_mapping, gist_type=gist_type, lifetime=lifetime) Session().commit() return gist class TestGistsController(TestController): def tearDown(self): for g in Gist.get_all(): GistModel().delete(g) Session().commit() def test_index(self): self.log_user() response = self.app.get(url('gists')) # Test response... response.mustcontain('There are no gists yet') _create_gist('gist1') _create_gist('gist2', lifetime=1400) _create_gist('gist3', description='gist3-desc') _create_gist('gist4', gist_type='private') response = self.app.get(url('gists')) # Test response... response.mustcontain('gist:1') response.mustcontain('gist:2') response.mustcontain('Expires: in 23 hours') # we don't care about the end response.mustcontain('gist:3') response.mustcontain('gist3-desc') response.mustcontain(no=['gist:4']) def test_index_private_gists(self): self.log_user() gist = _create_gist('gist5', gist_type='private') response = self.app.get(url('gists', private=1)) # Test response... #and privates response.mustcontain('gist:%s' % gist.gist_access_id) def test_create_missing_description(self): self.log_user() response = self.app.post(url('gists'), params={'lifetime': -1}, status=200) response.mustcontain('Missing value') def test_create(self): self.log_user() response = self.app.post(url('gists'), params={'lifetime': -1, 'content': 'gist test', 'filename': 'foo', 'public': 'public'}, status=302) response = response.follow() response.mustcontain('added file: foo') response.mustcontain('gist test') response.mustcontain('
Public gist
') def test_create_private(self): self.log_user() response = self.app.post(url('gists'), params={'lifetime': -1, 'content': 'private gist test', 'filename': 'private-foo', 'private': 'private'}, status=302) response = response.follow() response.mustcontain('added file: private-foo<') response.mustcontain('private gist test') response.mustcontain('
Private gist
') def test_create_with_description(self): self.log_user() response = self.app.post(url('gists'), params={'lifetime': -1, 'content': 'gist test', 'filename': 'foo-desc', 'description': 'gist-desc', 'public': 'public'}, status=302) response = response.follow() response.mustcontain('added file: foo-desc') response.mustcontain('gist test') response.mustcontain('gist-desc') response.mustcontain('
Public gist
') def test_new(self): self.log_user() response = self.app.get(url('new_gist')) def test_update(self): self.skipTest('not implemented') response = self.app.put(url('gist', id=1)) def test_delete(self): self.skipTest('not implemented') response = self.app.delete(url('gist', id=1)) def test_show(self): gist = _create_gist('gist-show-me') response = self.app.get(url('gist', id=gist.gist_access_id)) response.mustcontain('added file: gist-show-me<') response.mustcontain('test_admin (RhodeCode Admin) - created just now') response.mustcontain('gist-desc') response.mustcontain('
Public gist
') def test_edit(self): self.skipTest('not implemented') response = self.app.get(url('edit_gist', id=1))