60 lines
2.8 KiB
Python
60 lines
2.8 KiB
Python
from integration.testcase import CommandTestCase
|
|
|
|
|
|
class ResolveCommand(CommandTestCase):
|
|
|
|
async def test_resolve(self):
|
|
tx = await self.channel_create('@abc', '0.01')
|
|
channel_id = tx['outputs'][0]['claim_id']
|
|
|
|
# resolving a channel @abc
|
|
response = await self.resolve('lbry://@abc')
|
|
self.assertSetEqual({'lbry://@abc'}, set(response))
|
|
self.assertIn('certificate', response['lbry://@abc'])
|
|
self.assertNotIn('claim', response['lbry://@abc'])
|
|
self.assertEqual(response['lbry://@abc']['certificate']['name'], '@abc')
|
|
self.assertEqual(response['lbry://@abc']['claims_in_channel'], 0)
|
|
|
|
await self.stream_create('foo', '0.01', channel_id=channel_id)
|
|
await self.stream_create('foo2', '0.01', channel_id=channel_id)
|
|
|
|
# resolving a channel @abc with some claims in it
|
|
response = await self.resolve('lbry://@abc')
|
|
self.assertSetEqual({'lbry://@abc'}, set(response))
|
|
self.assertIn('certificate', response['lbry://@abc'])
|
|
self.assertNotIn('claim', response['lbry://@abc'])
|
|
self.assertEqual(response['lbry://@abc']['certificate']['name'], '@abc')
|
|
self.assertEqual(response['lbry://@abc']['claims_in_channel'], 2)
|
|
|
|
# resolving claim foo within channel @abc
|
|
response = await self.resolve('lbry://@abc/foo')
|
|
self.assertSetEqual({'lbry://@abc/foo'}, set(response))
|
|
claim = response['lbry://@abc/foo']
|
|
self.assertIn('certificate', claim)
|
|
self.assertIn('claim', claim)
|
|
self.assertEqual(claim['claim']['name'], 'foo')
|
|
self.assertEqual(claim['claim']['channel_name'], '@abc')
|
|
self.assertEqual(claim['certificate']['name'], '@abc')
|
|
self.assertEqual(claim['claims_in_channel'], 0)
|
|
|
|
# resolving claim foo by itself
|
|
response = await self.resolve('lbry://foo')
|
|
self.assertSetEqual({'lbry://foo'}, set(response))
|
|
claim = response['lbry://foo']
|
|
self.assertIn('certificate', claim)
|
|
self.assertIn('claim', claim)
|
|
self.assertEqual(claim['claim']['name'], 'foo')
|
|
self.assertEqual(claim['claim']['channel_name'], '@abc')
|
|
self.assertEqual(claim['certificate']['name'], '@abc')
|
|
self.assertEqual(claim['claims_in_channel'], 0)
|
|
|
|
# resolving multiple at once
|
|
response = await self.resolve(['lbry://foo', 'lbry://foo2'])
|
|
self.assertSetEqual({'lbry://foo', 'lbry://foo2'}, set(response))
|
|
claim = response['lbry://foo2']
|
|
self.assertIn('certificate', claim)
|
|
self.assertIn('claim', claim)
|
|
self.assertEqual(claim['claim']['name'], 'foo2')
|
|
self.assertEqual(claim['claim']['channel_name'], '@abc')
|
|
self.assertEqual(claim['certificate']['name'], '@abc')
|
|
self.assertEqual(claim['claims_in_channel'], 0)
|