From 14ec6ce43bf62f442e2575b7cf199fdf65191a7e Mon Sep 17 00:00:00 2001 From: Oleg Silkin Date: Wed, 24 Jul 2019 18:42:12 -0400 Subject: [PATCH] Adds unit-testing for delete comment signatures --- .../unit/comments/test_comment_signing.py | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/lbry/tests/unit/comments/test_comment_signing.py b/lbry/tests/unit/comments/test_comment_signing.py index be99bf176..d9fefe92f 100644 --- a/lbry/tests/unit/comments/test_comment_signing.py +++ b/lbry/tests/unit/comments/test_comment_signing.py @@ -1,5 +1,5 @@ from torba.testcase import AsyncioTestCase - +import hashlib from lbry.extras.daemon.comment_client import sign_comment from lbry.extras.daemon.comment_client import is_comment_signed_by_channel @@ -14,7 +14,8 @@ class TestSigningComments(AsyncioTestCase): 'claim_id': claim.claim_id, 'channel_name': channel.claim_name, 'channel_id': channel.claim_id, - 'comment': comment + 'comment': comment, + 'comment_id': hashlib.sha256(comment.encode()).hexdigest() } def test01_successful_create_sign_and_validate_comment(self): @@ -31,3 +32,28 @@ class TestSigningComments(AsyncioTestCase): comment = self.create_claim_comment_body('Woahh This is Sick!! Shout out 2 my boy Tommy H', stream, pdiddy) sign_comment(comment, channel2) self.assertFalse(is_comment_signed_by_channel(comment, pdiddy)) + + def test03_successful_sign_abandon_comment(self): + rswanson = get_channel('@RonSwanson') + dsilver = get_stream('Welcome to the Pawnee, and give a big round for Ron Swanson, AKA Duke Silver') + comment_body = self.create_claim_comment_body('COMPUTER, DELETE ALL VIDEOS OF RON.', dsilver, rswanson) + sign_comment(comment_body, rswanson, abandon=True) + self.assertTrue(is_comment_signed_by_channel(comment_body, rswanson, abandon=True)) + + def test04_invalid_signature(self): + rswanson = get_channel('@RonSwanson') + jeanralphio = get_channel('@JeanRalphio') + chair = get_stream('This is a nice chair. I made it with Mahogany wood and this electric saw') + chair_comment = self.create_claim_comment_body( + 'Hah. You use an electric saw? Us swansons have been making chairs with handsaws just three after birth.', + chair, + rswanson + ) + sign_comment(chair_comment, rswanson) + self.assertTrue(is_comment_signed_by_channel(chair_comment, rswanson)) + self.assertFalse(is_comment_signed_by_channel(chair_comment, jeanralphio)) + fake_abandon_signal = chair_comment.copy() + sign_comment(fake_abandon_signal, jeanralphio, abandon=True) + self.assertFalse(is_comment_signed_by_channel(fake_abandon_signal, rswanson, abandon=True)) + self.assertFalse(is_comment_signed_by_channel(fake_abandon_signal, jeanralphio, abandon=True)) +