def test_simple(): build = Build( id=UUID(hex='33846695b2774b29a71795a009e8168a'), label='Hello world', target='D1234', message='Foo bar', project=Project( slug='test', name='test', id=UUID('1e7958a368f44b0eb5a57372a9910d50'), ), project_id=UUID('1e7958a368f44b0eb5a57372a9910d50'), source=Source( revision_sha='1e7958a368f44b0eb5a57372a9910d50', ), date_created=datetime(2013, 9, 19, 22, 15, 22), date_started=datetime(2013, 9, 19, 22, 15, 23), date_finished=datetime(2013, 9, 19, 22, 15, 33), ) result = serialize(build) assert result['name'] == 'Hello world' assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['source']['id'] == build.source.id.hex assert result['target'] == 'D1234' assert result['message'] == 'Foo bar' assert result['dateCreated'] == '2013-09-19T22:15:22' assert result['dateStarted'] == '2013-09-19T22:15:23' assert result['dateFinished'] == '2013-09-19T22:15:33' assert result['duration'] == 10000 assert result['link'] == 'http://example.com/projects/test/builds/{0}/'.format(build.id.hex)
def project(repository, **kwargs): if 'name' not in kwargs: kwargs['name'] = PROJECT_NAMES.next() project = Project.query.filter(Project.name == kwargs['name'], ).first() if project: return project result = Project(repository=repository, **kwargs) db.session.add(result) return result
def create_project(self, **kwargs): if not kwargs.get('repository'): kwargs['repository'] = self.create_repo() kwargs['repository_id'] = kwargs['repository'].id kwargs.setdefault('name', uuid4().hex) kwargs.setdefault('slug', kwargs['name']) project = Project(**kwargs) db.session.add(project) db.session.commit() return project
def test_simple(): project = Project( id=UUID(hex='33846695b2774b29a71795a009e8168a'), slug='hello-world', name='Hello world', date_created=datetime(2013, 9, 19, 22, 15, 22), ) result = serialize(project) assert result['name'] == 'Hello world' assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['slug'] == 'hello-world' assert result['dateCreated'] == '2013-09-19T22:15:22'
def test_simple(): change = Change( id=UUID(hex='33846695b2774b29a71795a009e8168a'), label='Hello world', project=Project(slug='test', name='test'), date_created=datetime(2013, 9, 19, 22, 15, 22), date_modified=datetime(2013, 9, 19, 22, 15, 23), ) result = serialize(change) assert result['name'] == 'Hello world' assert result[ 'link'] == 'http://example.com/changes/33846695b2774b29a71795a009e8168a/' assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['dateCreated'] == '2013-09-19T22:15:22' assert result['dateModified'] == '2013-09-19T22:15:23'
def test_simple(): patch = Patch( id=UUID(hex='33846695b2774b29a71795a009e8168a'), label='Hello world', message='Foo bar', diff=SAMPLE_DIFF, project=Project(slug='test', name='test'), parent_revision_sha='1e7958a368f44b0eb5a57372a9910d50', date_created=datetime(2013, 9, 19, 22, 15, 22), ) result = serialize(patch) assert result['name'] == 'Hello world' assert result['link'] == 'http://example.com/patches/33846695b2774b29a71795a009e8168a/' assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['parentRevision'] == { 'sha': '1e7958a368f44b0eb5a57372a9910d50', } assert result['message'] == 'Foo bar' assert result['dateCreated'] == '2013-09-19T22:15:22' assert result['diff'] == SAMPLE_DIFF
def test_simple(): job = Job( id=UUID(hex='33846695b2774b29a71795a009e8168a'), label='Hello world', project=Project(slug='test', name='test'), date_created=datetime(2013, 9, 19, 22, 15, 22), date_started=datetime(2013, 9, 19, 22, 15, 23), date_finished=datetime(2013, 9, 19, 22, 15, 33), build=Build(id=UUID('1e7958a368f44b0eb5a57372a9910d50'), ), build_id=UUID('1e7958a368f44b0eb5a57372a9910d50'), change=Change( id=UUID(hex='2e18a7cbc0c24316b2ef9d41fea191d6'), label='Hello world', ), ) result = serialize(job) assert result['name'] == 'Hello world' assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['dateCreated'] == '2013-09-19T22:15:22' assert result['dateStarted'] == '2013-09-19T22:15:23' assert result['dateFinished'] == '2013-09-19T22:15:33' assert result['duration'] == 10000
def post(self): args = self.post_parser.parse_args() slug = str(args.slug or args.name.replace(' ', '-').lower()) match = Project.query.filter(Project.slug == slug, ).first() if match: return '{"error": "Project with slug %r already exists"}' % ( slug, ), 400 repository = Repository.get(args.repository) if repository is None: return '{"error": "Repository with url %r does not exist"}' % ( args.repository, ), 400 project = Project( name=args.name, slug=slug, repository=repository, ) db.session.add(project) db.session.commit() return self.respond(project)