def most_starred_sync(model_name: str, query: str): app.logger.info('Importing repos of %s', model_name) model = getattr(report, model_name) service = bigquery.instance(app) db.session.query(model).delete() job = Job(service, query) job.execute() for row in results_of(job): info, code = repo_info(row[1]) if not info: continue db.session.merge( model(id=row[0], cnt_watch=row[2], repo=Repo(id=info['id'], name=info['name'], language=info['language'], full_name=info['full_name'], description=info['description'], html_url=info['html_url'], homepage=info['homepage'], created_at=datetime.strptime( info['created_at'], '%Y-%m-%dT%H:%M:%SZ')))) db.session.commit()
def setUpClass(cls): db.create_all() db.session.add( Repo(created_at=datetime.now(), description='test', full_name='test/test', html_url='http://py.test', id=1, name='test')) db.session.commit()
def test_update_fields(self): entry = Repo() entry.homepage = 'example.com' self.assertEquals(entry.homepage, 'http://example.com') entry.description = '' self.assertEquals(entry.description, None) entry.description = 'atext' * 60 self.assertEquals(len(entry.description), 250)
def test_update_status_with_timestamp(self): entry = Repo() entry.html_url = 'http://example.com' self.assertIsNone(entry.status_updated_at) entry.status = 'unknown' status_updated_at = entry.status_updated_at self.assertEquals(entry.status, 'unknown') self.assertIsNotNone(status_updated_at) entry.status = 'unknown' self.assertEquals(entry.status_updated_at, status_updated_at)
def test_accept_kwargs_in_constructor(self): entry = Repo(language='python') self.assertIsNone(entry.status_updated_at) self.assertEquals(entry.language, 'python')