refactored unit test for sort_claim_results

This commit is contained in:
Sergey Rozhnov 2018-05-18 18:51:28 +04:00 committed by jleute
parent c290fb5908
commit d66bce814c
2 changed files with 31 additions and 199 deletions

View file

@ -2329,7 +2329,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

View file

@ -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__':