def author(**kwargs): if 'name' not in kwargs: kwargs['name'] = ' '.join(get_sentences(1)[0].split(' ')[0:2]) if 'email' not in kwargs: kwargs['email'] = '{0}@example.com'.format(slugify(kwargs['name'])) try: result = Author.query.filter_by(email=kwargs['email'])[0] except IndexError: result = Author(**kwargs) db.session.add(result) return result
def create_author(self, email=None, **kwargs): if not kwargs.get('name'): kwargs['name'] = ' '.join(get_sentences(1)[0].split(' ')[0:2]) if not email: email = '{0}-{1}@example.com'.format( slugify(kwargs['name']), uuid4().hex) kwargs.setdefault('name', 'Test Case') author = Author(email=email, **kwargs) db.session.add(author) db.session.commit() return author
def test_simple(): revision = Revision( sha='33846695b2774b29a71795a009e8168a', repository=Repository(), author=Author( name='Foo Bar', email='*****@*****.**', ), parents=['a' * 40], branches=['master'], message='hello world', date_created=datetime(2013, 9, 19, 22, 15, 22), ) result = serialize(revision) assert result['id'] == '33846695b2774b29a71795a009e8168a' assert result['author']['name'] == 'Foo Bar' assert result['author']['email'] == '*****@*****.**' assert result['message'] == 'hello world' assert result['dateCreated'] == '2013-09-19T22:15:22' assert result['parents'] == ['a' * 40] assert result['branches'] == ['master']
def test_simple(self): fake_author_id = uuid4() self.create_build(self.project) path = '/api/0/authors/{0}/builds/'.format(fake_author_id.hex) resp = self.client.get(path) assert resp.status_code == 200 data = self.unserialize(resp) assert len(data) == 0 author = Author(email=self.default_user.email, name='Foo Bar') db.session.add(author) build = self.create_build(self.project, author=author) path = '/api/0/authors/{0}/builds/'.format(author.id.hex) resp = self.client.get(path) assert resp.status_code == 200 data = self.unserialize(resp) assert len(data) == 1 assert data[0]['id'] == build.id.hex path = '/api/0/authors/me/builds/' resp = self.client.get(path) assert resp.status_code == 401 self.login(self.default_user) path = '/api/0/authors/me/builds/' resp = self.client.get(path) assert resp.status_code == 200 data = self.unserialize(resp) assert len(data) == 1 assert data[0]['id'] == build.id.hex