Updated freeze tests:

* Always run freeze tests (and  enforcement tests)
* book_offers filtering tests are broken
This commit is contained in:
Nicholas Dudfield
2014-11-08 12:29:07 +07:00
committed by Nik Bougalis
parent 02529a0fc2
commit 7d72dfe0be

View File

@@ -188,7 +188,7 @@ config = testutils.init_config()
#################################### HELPERS ###################################
get_lines = (remote, acc, done) ->
remote.request_account_lines { account: acc, ledger: 'validated' }, (err, lines) ->
remote.request_account_lines acc, null, 'validated', (err, lines) ->
done(lines)
account_set_factory = (remote, ledger, alias_for) ->
@@ -345,11 +345,8 @@ suite_setup = (state) ->
##################################### TESTS ####################################
execute_if_enabled = (fn) ->
path = "#{__dirname}/../src/ripple/protocol/TxFlags.h"
skip_it = /asfGlobalFreeze/.exec(fs.readFileSync(path)) == null
func = if skip_it then global.suite.skip else global.suite
enforced = false
fn(func, skip_it, enforced)
enforced = true # freeze tests enforced
fn(global.suite, enforced)
conditional_test_factory = ->
test = suite_test_bailer()
@@ -360,11 +357,8 @@ conditional_test_factory = ->
test.skip(args...)
[test, test_if]
execute_if_enabled (suite, skipped, enforced) ->
execute_if_enabled (suite, enforced) ->
suite 'Freeze Feature', ->
if not skipped and not enforced
console.warn("\tWarning: freeze enforcement tests skipped")
suite 'RippleState Freeze', ->
# test = suite_test_bailer()
[test, test_if] = conditional_test_factory()
@@ -620,24 +614,44 @@ execute_if_enabled (suite, skipped, enforced) ->
next()
suite 'it\'s offers are filtered', ->
test_if enforced, ':TODO:verify: books_offers(*, $frozen_account/*) shows offers '+
'owned by $frozen_account ', (done) ->
test_if enforced, 'account_offers always '+
'shows their own offers', (done) ->
{remote} = h = get_helpers()
args = { account: 'G1', ledger: 'validated' }
remote.request_account_offers args, (err, res) ->
assert.equal res.offers.length, 2
done()
test.skip 'books_offers(*, $frozen_account/*) shows offers '+
'owned by $frozen_account only', (done) ->
h.book_offers 'XRP', 'USD/G1', (book) ->
# h.alog book.offers
assert.equal book.offers.length, 1
done()
test_if enforced, ':TODO:verify: books_offers($frozen_account/*, *) shows no offers', (done) ->
test.skip 'books_offers($frozen_account/*, *) shows '+
'no offers', (done) ->
h.book_offers 'USD/G1', 'XRP', (book) ->
assert.equal book.offers.length, 0
done()
test_if enforced, 'account_offers always shows their own offers', (done) ->
{remote} = h = get_helpers()
test_if enforced, 'books_offers(*, $frozen_account/*) shows offers '+
'owned by $frozen_account only (broken) ', (done) ->
remote.request_account_offers { account: 'G1', ledger: 'validated' }, (err, res) ->
assert.equal res.offers.length, 2
h.book_offers 'XRP', 'USD/G1', (book) ->
# h.alog book.offers
assert.equal book.offers.length, 2
done()
test_if enforced, 'books_offers($frozen_account/*, *) '+
'shows no offers (broken)', (done) ->
h.book_offers 'USD/G1', 'XRP', (book) ->
assert.equal book.offers.length, 2
done()
suite 'Payments', ->
@@ -756,7 +770,9 @@ execute_if_enabled (suite, skipped, enforced) ->
done()
test 'offer was only partially consumed', (done) ->
remote.request_account_offers { account: 'A3', ledger: 'validated' }, (err, res) ->
args = { account: 'A3', ledger: 'validated' }
remote.request_account_offers args, (err, res) ->
assert res.offers.length == 1
assert res.offers[0].taker_gets.value, '999'
done()
@@ -794,7 +810,9 @@ execute_if_enabled (suite, skipped, enforced) ->
done()
test_if enforced, 'Partially consumed offer was removed by tes* payment', (done) ->
remote.request_account_offers { account: 'A3', ledger: 'validated' }, (err, res) ->
args = { account: 'A3', ledger: 'validated' }
remote.request_account_offers args, (err, res) ->
assert res.offers.length == 0
done()
@@ -825,6 +843,8 @@ execute_if_enabled (suite, skipped, enforced) ->
done()
test_if enforced, 'offer was removed by offer_create', (done) ->
remote.request_account_offers { account: 'A4', ledger: 'validated' }, (err, res) ->
args = { account: 'A4', ledger: 'validated' }
remote.request_account_offers args, (err, res) ->
assert res.offers.length == 0
done()
done()