forked from LBRYCommunity/lbry-sdk
refactored unit test for sort_claim_results
This commit is contained in:
parent
65fed3f5aa
commit
e220a57f0e
2 changed files with 33 additions and 201 deletions
|
@ -163,7 +163,7 @@ class AlwaysSend(object):
|
|||
return d
|
||||
|
||||
|
||||
def arrange_results(claims):
|
||||
def sort_claim_results(claims):
|
||||
for claim in claims:
|
||||
claim['result'].sort(key=lambda d: (d['height'], d['name'], d['claim_id'], d['txid'], d['nout']))
|
||||
return claims
|
||||
|
@ -2299,7 +2299,7 @@ class Daemon(AuthJSONRPCServer):
|
|||
"""
|
||||
|
||||
d = self.session.wallet.get_name_claims()
|
||||
d.addCallback(arrange_results)
|
||||
d.addCallback(sort_claim_results)
|
||||
d.addCallback(lambda claims: self._render_response(claims))
|
||||
return d
|
||||
|
||||
|
@ -2338,7 +2338,7 @@ class Daemon(AuthJSONRPCServer):
|
|||
"""
|
||||
|
||||
claims = yield self.session.wallet.get_claims_for_name(name)
|
||||
result = arrange_results(claims)
|
||||
result = sort_claim_results(claims)
|
||||
defer.returnValue(result)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
|
|
@ -1,213 +1,45 @@
|
|||
import unittest
|
||||
|
||||
from lbrynet.daemon.Daemon import arrange_results
|
||||
from lbrynet.daemon.Daemon import sort_claim_results
|
||||
|
||||
|
||||
class ClaimsComparatorTest(unittest.TestCase):
|
||||
def test_arrange_results_when_sorted_by_claim_id(self):
|
||||
self.run_test(
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "fdsafa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "aaa",
|
||||
"nout": 0,
|
||||
"txid": "w5tv8uorgt"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "bbb",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "aaa",
|
||||
"nout": 0,
|
||||
"txid": "w5tv8uorgt"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "bbb",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "fdsafa"
|
||||
}
|
||||
])
|
||||
def test_sort_claim_results_when_sorted_by_claim_id(self):
|
||||
results = [{"height": 1, "name": "res", "claim_id": "ccc", "nout": 0, "txid": "fdsafa"},
|
||||
{"height": 1, "name": "res", "claim_id": "aaa", "nout": 0, "txid": "w5tv8uorgt"},
|
||||
{"height": 1, "name": "res", "claim_id": "bbb", "nout": 0, "txid": "aecfaewcfa"}]
|
||||
self.run_test(results, 'claim_id', ['aaa', 'bbb', 'ccc'])
|
||||
|
||||
def test_arrange_results_when_sorted_by_height(self):
|
||||
self.run_test(
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 3,
|
||||
"name": "res",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 2,
|
||||
"name": "res",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"claim_id": "ccc",
|
||||
"height": 1,
|
||||
"name": "res",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"claim_id": "ccc",
|
||||
"height": 2,
|
||||
"name": "res",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"claim_id": "ccc",
|
||||
"height": 3,
|
||||
"name": "res",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
])
|
||||
def test_sort_claim_results_when_sorted_by_height(self):
|
||||
results = [{"height": 1, "name": "res", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"},
|
||||
{"height": 3, "name": "res", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"},
|
||||
{"height": 2, "name": "res", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"}]
|
||||
self.run_test(results, 'height', [1, 2, 3])
|
||||
|
||||
def test_arrange_results_when_sorted_by_name(self):
|
||||
self.run_test(
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res3",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res2",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res2",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res3",
|
||||
"claim_id": "ccc",
|
||||
"nout": 0,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
])
|
||||
def test_sort_claim_results_when_sorted_by_name(self):
|
||||
results = [{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"},
|
||||
{"height": 1, "name": "res3", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"},
|
||||
{"height": 1, "name": "res2", "claim_id": "ccc", "nout": 0, "txid": "aecfaewcfa"}]
|
||||
self.run_test(results, 'name', ['res1', 'res2', 'res3'])
|
||||
|
||||
def test_arrange_results_when_sort_by_outpoint(self):
|
||||
self.run_test(
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 2,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 1,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 3,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 1,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 2,
|
||||
"txid": "aecfaewcfa"
|
||||
},
|
||||
{
|
||||
"height": 1,
|
||||
"name": "res1",
|
||||
"claim_id": "ccc",
|
||||
"nout": 3,
|
||||
"txid": "aecfaewcfa"
|
||||
}
|
||||
])
|
||||
def test_sort_claim_results_when_sorted_by_txid(self):
|
||||
results = [{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 2, "txid": "111"},
|
||||
{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 1, "txid": "222"},
|
||||
{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 3, "txid": "333"}]
|
||||
self.run_test(results, 'txid', ['111', '222', '333'])
|
||||
|
||||
def run_test(self, results, expected):
|
||||
def test_sort_claim_results_when_sorted_by_nout(self):
|
||||
results = [{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 2, "txid": "aecfaewcfa"},
|
||||
{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 1, "txid": "aecfaewcfa"},
|
||||
{"height": 1, "name": "res1", "claim_id": "ccc", "nout": 3, "txid": "aecfaewcfa"}]
|
||||
self.run_test(results, 'nout', [1, 2, 3])
|
||||
|
||||
def run_test(self, results, field, expected):
|
||||
data = {'result': results}
|
||||
|
||||
claims = arrange_results([data])
|
||||
claims = sort_claim_results([data])
|
||||
claim = claims[0]
|
||||
actual = claim['result']
|
||||
|
||||
self.assertEqual(expected, actual)
|
||||
self.assertEqual(expected, [r[field] for r in actual])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in a new issue