Compatibility fix for older sqlite version + improvements #18
3 changed files with 27 additions and 12 deletions
2
setup.py
2
setup.py
|
@ -18,7 +18,7 @@ setup(
|
|||
'asyncio>=3.4.3',
|
||||
'aiohttp==3.5.4',
|
||||
'aiojobs==0.2.2',
|
||||
'ecdsa==0.13',
|
||||
'ecdsa>=0.13.3',
|
||||
'cryptography==2.5',
|
||||
'aiosqlite==0.10.0',
|
||||
'PyNaCl>=1.3.0',
|
||||
|
|
|
@ -119,10 +119,19 @@ def insert_comment(conn: sqlite3.Connection, claim_id: str, comment: str, parent
|
|||
conn.execute(
|
||||
"""
|
||||
INSERT INTO COMMENT(CommentId, LbryClaimId, ChannelId, Body, ParentId,
|
||||
Timestamp, Signature, SigningTs)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
||||
""",
|
||||
(comment_id, claim_id, channel_id, comment, parent_id, timestamp, signature, signing_ts)
|
||||
Timestamp, Signature, SigningTs, IsHidden)
|
||||
VALUES (:comment_id, :claim_id, :channel_id, :comment, :parent_id,
|
||||
:timestamp, :signature, :signing_ts, 0) """,
|
||||
{
|
||||
'comment_id': comment_id,
|
||||
'claim_id': claim_id,
|
||||
'channel_id': channel_id,
|
||||
'comment': comment,
|
||||
'parent_id': parent_id,
|
||||
'timestamp': timestamp,
|
||||
'signature': signature,
|
||||
'signing_ts': signing_ts
|
||||
}
|
||||
)
|
||||
logging.info('Inserted Comment into DB, `comment_id`: %s', comment_id)
|
||||
return comment_id
|
||||
|
|
|
@ -223,28 +223,34 @@ class ListCommentsTest(AsyncioTestCase):
|
|||
print('exit reached')
|
||||
os.remove(self.db_file)
|
||||
|
||||
async def asyncSetUp(self):
|
||||
await super().asyncSetUp()
|
||||
self.server = app.CommentDaemon(config, db_file=self.db_file)
|
||||
await self.server.start(self.host, self.port)
|
||||
self.addCleanup(self.server.stop)
|
||||
if self.comment_ids is None:
|
||||
async def create_lots_of_comments(self, n=23):
|
||||
self.comment_list = [{key: self.replace[key]() for key in self.replace.keys()} for _ in range(23)]
|
||||
for comment in self.comment_list:
|
||||
comment['claim_id'] = self.claim_id
|
||||
self.comment_ids = [(await self.post_comment(**comm))['result']['comment_id']
|
||||
for comm in self.comment_list]
|
||||
|
||||
async def asyncSetUp(self):
|
||||
await super().asyncSetUp()
|
||||
self.server = app.CommentDaemon(config, db_file=self.db_file)
|
||||
await self.server.start(self.host, self.port)
|
||||
self.addCleanup(self.server.stop)
|
||||
|
||||
async def testListComments(self):
|
||||
await self.create_lots_of_comments()
|
||||
response_one = await jsonrpc_post(
|
||||
self.url, 'get_claim_comments', page_size=20, page=1, top_level=1, claim_id=self.claim_id
|
||||
)
|
||||
self.assertIsNotNone(response_one)
|
||||
self.assertIn('result', response_one)
|
||||
response_one: dict = response_one['result']
|
||||
self.assertIs(type(response_one), dict)
|
||||
self.assertEqual(response_one['page_size'], len(response_one['items']))
|
||||
self.assertIn('items', response_one)
|
||||
|
||||
comments = response_one['items']
|
||||
hidden = list(filter(lambda c: c['is_hidden'], comments))
|
||||
self.assertEqual(hidden, [])
|
||||
|
||||
self.assertGreaterEqual(response_one['total_pages'], response_one['page'])
|
||||
last_page = response_one['total_pages']
|
||||
response = await jsonrpc_post(self.url, 'get_claim_comments', page_size=20,
|
||||
|
|
Loading…
Reference in a new issue