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('