zold 0.31.8 → 0.31.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.0pdd.yml +20 -0
- data/.github/workflows/actionlint.yml +41 -0
- data/.github/workflows/codecov.yml +23 -4
- data/.github/workflows/copyrights.yml +30 -0
- data/.github/workflows/pdd.yml +26 -3
- data/.github/workflows/rake.yml +24 -2
- data/.github/workflows/xcop.yml +21 -2
- data/.github/workflows/yamllint.yml +34 -0
- data/.gitignore +2 -1
- data/.rubocop.yml +21 -0
- data/.ruby-version +1 -1
- data/.rultor.yml +35 -5
- data/.simplecov +1 -1
- data/Dockerfile +29 -3
- data/Gemfile +10 -10
- data/Gemfile.lock +340 -0
- data/LICENSE.txt +1 -1
- data/Rakefile +9 -12
- data/bin/zold +1 -1
- data/cucumber.yml +20 -0
- data/deploy.sh +20 -0
- data/features/step_definitions/steps.rb +1 -1
- data/features/support/env.rb +1 -1
- data/fixtures/merge/asserts.rb +1 -1
- data/fixtures/merge/into_no_wallet/assert.rb +1 -1
- data/fixtures/merge/legacy_negatives_stay/assert.rb +1 -1
- data/fixtures/merge/missed_wallets/assert.rb +1 -1
- data/fixtures/merge/negative_overwriting/assert.rb +1 -1
- data/fixtures/merge/negatives_in_between/assert.rb +1 -1
- data/fixtures/merge/random_expenses/assert.rb +1 -1
- data/fixtures/merge/simple_case/assert.rb +1 -1
- data/fixtures/merge/unconfirmed_income/assert.rb +1 -1
- data/fixtures/scripts/_head.sh +21 -1
- data/fixtures/scripts/calculate-scores.sh +19 -0
- data/fixtures/scripts/distribute-wallet.sh +19 -0
- data/fixtures/scripts/print-helps.sh +19 -0
- data/fixtures/scripts/pull-on-start.sh +19 -0
- data/fixtures/scripts/push-and-pull.sh +19 -0
- data/fixtures/scripts/redeploy-on-upgrade.sh +19 -0
- data/fixtures/scripts/spread-wallets.sh +19 -0
- data/lib/zold/age.rb +2 -2
- data/lib/zold/amount.rb +2 -2
- data/lib/zold/cached_wallets.rb +3 -3
- data/lib/zold/commands/alias.rb +20 -0
- data/lib/zold/commands/args.rb +2 -2
- data/lib/zold/commands/calculate.rb +2 -2
- data/lib/zold/commands/clean.rb +2 -2
- data/lib/zold/commands/create.rb +2 -2
- data/lib/zold/commands/diff.rb +2 -2
- data/lib/zold/commands/fetch.rb +2 -2
- data/lib/zold/commands/invoice.rb +2 -2
- data/lib/zold/commands/list.rb +2 -2
- data/lib/zold/commands/merge.rb +2 -2
- data/lib/zold/commands/next.rb +2 -2
- data/lib/zold/commands/node.rb +2 -2
- data/lib/zold/commands/pay.rb +2 -2
- data/lib/zold/commands/propagate.rb +2 -2
- data/lib/zold/commands/pull.rb +2 -2
- data/lib/zold/commands/push.rb +2 -2
- data/lib/zold/commands/remote.rb +2 -2
- data/lib/zold/commands/remove.rb +2 -2
- data/lib/zold/commands/routines/audit.rb +2 -2
- data/lib/zold/commands/routines/gc.rb +2 -2
- data/lib/zold/commands/routines/reconcile.rb +2 -2
- data/lib/zold/commands/routines/reconnect.rb +2 -2
- data/lib/zold/commands/routines/retire.rb +2 -2
- data/lib/zold/commands/routines/spread.rb +2 -2
- data/lib/zold/commands/routines.rb +2 -2
- data/lib/zold/commands/show.rb +2 -2
- data/lib/zold/commands/taxes.rb +2 -2
- data/lib/zold/commands/thread_badge.rb +3 -3
- data/lib/zold/copies.rb +2 -2
- data/lib/zold/dir_items.rb +2 -2
- data/lib/zold/endless.rb +2 -2
- data/lib/zold/gem.rb +2 -2
- data/lib/zold/hands.rb +2 -2
- data/lib/zold/head.rb +3 -3
- data/lib/zold/hexnum.rb +2 -2
- data/lib/zold/http.rb +3 -3
- data/lib/zold/hungry_wallets.rb +2 -2
- data/lib/zold/id.rb +2 -2
- data/lib/zold/json_page.rb +2 -2
- data/lib/zold/key.rb +2 -2
- data/lib/zold/log.rb +2 -2
- data/lib/zold/metronome.rb +2 -2
- data/lib/zold/node/async_entrance.rb +2 -2
- data/lib/zold/node/entrance.rb +2 -2
- data/lib/zold/node/farm.rb +2 -2
- data/lib/zold/node/farmers.rb +2 -2
- data/lib/zold/node/front.rb +3 -3
- data/lib/zold/node/journaled_pipeline.rb +2 -2
- data/lib/zold/node/nodup_entrance.rb +2 -2
- data/lib/zold/node/nospam_entrance.rb +2 -2
- data/lib/zold/node/pipeline.rb +2 -2
- data/lib/zold/node/safe_entrance.rb +2 -2
- data/lib/zold/node/soft_error.rb +2 -2
- data/lib/zold/node/spread_entrance.rb +2 -2
- data/lib/zold/node/sync_entrance.rb +2 -2
- data/lib/zold/node/trace.rb +2 -2
- data/lib/zold/patch.rb +2 -2
- data/lib/zold/prefixes.rb +2 -2
- data/lib/zold/remotes.rb +2 -2
- data/lib/zold/signature.rb +2 -2
- data/lib/zold/size.rb +2 -2
- data/lib/zold/sync_wallets.rb +2 -2
- data/lib/zold/tax.rb +2 -2
- data/lib/zold/thread_pool.rb +2 -2
- data/lib/zold/tree_wallets.rb +2 -2
- data/lib/zold/txn.rb +2 -2
- data/lib/zold/txns.rb +3 -3
- data/lib/zold/upgrades.rb +1 -1
- data/lib/zold/verbose_thread.rb +2 -2
- data/lib/zold/version.rb +3 -3
- data/lib/zold/version_file.rb +1 -1
- data/lib/zold/wallet.rb +2 -2
- data/lib/zold/wallets.rb +2 -2
- data/lib/zold.rb +2 -2
- data/test/commands/routines/test_audit.rb +4 -4
- data/test/commands/routines/test_gc.rb +8 -8
- data/test/commands/routines/test_reconcile.rb +4 -4
- data/test/commands/routines/test_reconnect.rb +3 -3
- data/test/commands/routines/test_retire.rb +3 -3
- data/test/commands/test_alias.rb +26 -6
- data/test/commands/test_calculate.rb +3 -3
- data/test/commands/test_clean.rb +10 -10
- data/test/commands/test_create.rb +3 -3
- data/test/commands/test_diff.rb +5 -5
- data/test/commands/test_fetch.rb +9 -9
- data/test/commands/test_invoice.rb +3 -3
- data/test/commands/test_list.rb +3 -3
- data/test/commands/test_merge.rb +12 -12
- data/test/commands/test_node.rb +6 -6
- data/test/commands/test_pay.rb +19 -19
- data/test/commands/test_propagate.rb +5 -5
- data/test/commands/test_pull.rb +6 -6
- data/test/commands/test_push.rb +9 -9
- data/test/commands/test_remote.rb +11 -11
- data/test/commands/test_remove.rb +10 -10
- data/test/commands/test_show.rb +3 -3
- data/test/commands/test_taxes.rb +4 -4
- data/test/fake_home.rb +2 -2
- data/test/node/fake_entrance.rb +2 -2
- data/test/node/fake_node.rb +57 -40
- data/test/node/test_async_entrance.rb +10 -10
- data/test/node/test_entrance.rb +8 -8
- data/test/node/test_farm.rb +11 -11
- data/test/node/test_farmers.rb +5 -5
- data/test/node/test_front.rb +29 -28
- data/test/node/test_nodup_entrance.rb +4 -4
- data/test/node/test_nospam_entrance.rb +3 -3
- data/test/node/test_safe_entrance.rb +4 -4
- data/test/node/test_spread_entrance.rb +8 -8
- data/test/node/test_sync_entrance.rb +4 -4
- data/test/node/test_trace.rb +2 -2
- data/test/test__helper.rb +4 -4
- data/test/test_age.rb +2 -2
- data/test/test_amount.rb +2 -2
- data/test/test_cached_wallets.rb +2 -2
- data/test/test_copies.rb +12 -12
- data/test/test_dir_items.rb +4 -4
- data/test/test_gem.rb +20 -0
- data/test/test_hands.rb +2 -2
- data/test/test_hexnum.rb +2 -2
- data/test/test_http.rb +8 -8
- data/test/test_hungry_wallets.rb +11 -11
- data/test/test_id.rb +2 -2
- data/test/test_json_page.rb +2 -2
- data/test/test_key.rb +2 -2
- data/test/test_log.rb +5 -5
- data/test/test_metronome.rb +6 -6
- data/test/test_patch.rb +14 -14
- data/test/test_prefixes.rb +3 -3
- data/test/test_remotes.rb +9 -9
- data/test/test_signature.rb +2 -2
- data/test/test_size.rb +2 -2
- data/test/test_sync_wallets.rb +3 -3
- data/test/test_tax.rb +9 -9
- data/test/test_thread_pool.rb +8 -8
- data/test/test_tree_wallets.rb +2 -2
- data/test/test_txn.rb +2 -2
- data/test/test_upgrades.rb +2 -2
- data/test/test_verbose_thread.rb +2 -2
- data/test/test_version.rb +20 -0
- data/test/test_wallet.rb +22 -22
- data/test/test_wallets.rb +5 -5
- data/test/test_zold.rb +5 -5
- data/test/upgrades/test_delete_banned_wallets.rb +4 -4
- data/test/upgrades/test_protocol_up.rb +4 -4
- data/upgrades/2.rb +1 -1
- data/upgrades/delete_banned_wallets.rb +1 -1
- data/upgrades/move_wallets_into_tree.rb +1 -1
- data/upgrades/protocol_up.rb +1 -1
- data/upgrades/rename_foreign_wallets.rb +1 -1
- data/zold.gemspec +23 -23
- metadata +7 -3
data/lib/zold/tax.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -28,7 +28,7 @@ require_relative 'amount'
|
|
|
28
28
|
# Tax transaction.
|
|
29
29
|
#
|
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
31
|
-
# Copyright:: Copyright (c) 2018
|
|
31
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
32
32
|
# License:: MIT
|
|
33
33
|
module Zold
|
|
34
34
|
# A single tax payment
|
data/lib/zold/thread_pool.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -26,7 +26,7 @@ require_relative 'verbose_thread'
|
|
|
26
26
|
|
|
27
27
|
# Thread pool.
|
|
28
28
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
29
|
-
# Copyright:: Copyright (c) 2018
|
|
29
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
30
30
|
# License:: MIT
|
|
31
31
|
module Zold
|
|
32
32
|
# Thread pool
|
data/lib/zold/tree_wallets.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -26,7 +26,7 @@ require_relative 'dir_items'
|
|
|
26
26
|
|
|
27
27
|
# The local collection of wallets.
|
|
28
28
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
29
|
-
# Copyright:: Copyright (c) 2018
|
|
29
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
30
30
|
# License:: MIT
|
|
31
31
|
module Zold
|
|
32
32
|
# Collection of local wallets, in a tree of directories
|
data/lib/zold/txn.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,7 +29,7 @@ require_relative 'signature'
|
|
|
29
29
|
# The transaction.
|
|
30
30
|
#
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
module Zold
|
|
35
35
|
# A single transaction
|
data/lib/zold/txns.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -24,7 +24,7 @@ require_relative 'txn'
|
|
|
24
24
|
|
|
25
25
|
# Transactions in a wallet.
|
|
26
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
27
|
-
# Copyright:: Copyright (c) 2018
|
|
27
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
28
28
|
# License:: MIT
|
|
29
29
|
module Zold
|
|
30
30
|
# A collection of transactions
|
|
@@ -60,7 +60,7 @@ module Zold
|
|
|
60
60
|
|
|
61
61
|
# Cached transactions.
|
|
62
62
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
63
|
-
# Copyright:: Copyright (c) 2018
|
|
63
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
64
64
|
# License:: MIT
|
|
65
65
|
class CachedTxns
|
|
66
66
|
def initialize(txns)
|
data/lib/zold/upgrades.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/lib/zold/verbose_thread.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -27,7 +27,7 @@ require_relative 'size'
|
|
|
27
27
|
|
|
28
28
|
# Verbose thread.
|
|
29
29
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
30
|
-
# Copyright:: Copyright (c) 2018
|
|
30
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
31
31
|
# License:: MIT
|
|
32
32
|
module Zold
|
|
33
33
|
# Verbose thread
|
data/lib/zold/version.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
|
|
23
23
|
# Zold main module.
|
|
24
24
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
25
|
-
# Copyright:: Copyright (c) 2018
|
|
25
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
26
26
|
# License:: MIT
|
|
27
27
|
module Zold
|
|
28
|
-
VERSION = '0.31.
|
|
28
|
+
VERSION = '0.31.9'
|
|
29
29
|
PROTOCOL = 2
|
|
30
30
|
REPO = 'zold-io/zold'
|
|
31
31
|
end
|
data/lib/zold/version_file.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/lib/zold/wallet.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -42,7 +42,7 @@ require_relative 'head'
|
|
|
42
42
|
# More details about its format is in README.md.
|
|
43
43
|
#
|
|
44
44
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
45
|
-
# Copyright:: Copyright (c) 2018
|
|
45
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
46
46
|
# License:: MIT
|
|
47
47
|
module Zold
|
|
48
48
|
# A single wallet
|
data/lib/zold/wallets.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,7 +29,7 @@ require_relative 'dir_items'
|
|
|
29
29
|
# This class is not thread-safe!
|
|
30
30
|
#
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
module Zold
|
|
35
35
|
# Collection of local wallets
|
data/lib/zold.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -39,7 +39,7 @@ require_relative 'zold/version'
|
|
|
39
39
|
|
|
40
40
|
# Zold main module.
|
|
41
41
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
42
|
-
# Copyright:: Copyright (c) 2018
|
|
42
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
43
43
|
# License:: MIT
|
|
44
44
|
module Zold
|
|
45
45
|
# to be implemented...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -28,13 +28,13 @@ require_relative '../../../lib/zold/commands/routines/audit'
|
|
|
28
28
|
|
|
29
29
|
# Audit test.
|
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
31
|
-
# Copyright:: Copyright (c) 2018
|
|
31
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
32
32
|
# License:: MIT
|
|
33
33
|
class TestAudit < Zold::Test
|
|
34
34
|
def test_audits
|
|
35
|
-
FakeHome.new(log:
|
|
35
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
36
36
|
opts = { 'routine-immediately' => true }
|
|
37
|
-
routine = Zold::Routines::Audit.new(opts, home.wallets, log:
|
|
37
|
+
routine = Zold::Routines::Audit.new(opts, home.wallets, log: fake_log)
|
|
38
38
|
routine.exec
|
|
39
39
|
end
|
|
40
40
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -28,41 +28,41 @@ require_relative '../../../lib/zold/commands/routines/gc'
|
|
|
28
28
|
|
|
29
29
|
# Gc test.
|
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
31
|
-
# Copyright:: Copyright (c) 2018
|
|
31
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
32
32
|
# License:: MIT
|
|
33
33
|
class TestGc < Zold::Test
|
|
34
34
|
def test_collects_garbage
|
|
35
|
-
FakeHome.new(log:
|
|
35
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
36
36
|
wallets = home.wallets
|
|
37
37
|
home.create_wallet
|
|
38
38
|
opts = { 'routine-immediately' => true, 'gc-age' => 0 }
|
|
39
39
|
assert_equal(1, wallets.count)
|
|
40
|
-
routine = Zold::Routines::Gc.new(opts, wallets, log:
|
|
40
|
+
routine = Zold::Routines::Gc.new(opts, wallets, log: fake_log)
|
|
41
41
|
routine.exec
|
|
42
42
|
assert_equal(0, wallets.count)
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def test_doesnt_touch_non_empty_wallets
|
|
47
|
-
FakeHome.new(log:
|
|
47
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
48
48
|
wallets = home.wallets
|
|
49
49
|
wallet = home.create_wallet
|
|
50
50
|
amount = Zold::Amount.new(zld: 39.99)
|
|
51
51
|
key = Zold::Key.new(file: 'fixtures/id_rsa')
|
|
52
52
|
wallet.sub(amount, "NOPREFIX@#{Zold::Id.new}", key)
|
|
53
53
|
opts = { 'routine-immediately' => true, 'gc-age' => 0 }
|
|
54
|
-
routine = Zold::Routines::Gc.new(opts, wallets, log:
|
|
54
|
+
routine = Zold::Routines::Gc.new(opts, wallets, log: fake_log)
|
|
55
55
|
routine.exec
|
|
56
56
|
assert_equal(1, wallets.count)
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
def test_doesnt_touch_fresh_wallets
|
|
61
|
-
FakeHome.new(log:
|
|
61
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
62
62
|
wallets = home.wallets
|
|
63
63
|
home.create_wallet
|
|
64
64
|
opts = { 'routine-immediately' => true, 'gc-age' => 60 * 60 }
|
|
65
|
-
routine = Zold::Routines::Gc.new(opts, wallets, log:
|
|
65
|
+
routine = Zold::Routines::Gc.new(opts, wallets, log: fake_log)
|
|
66
66
|
routine.exec
|
|
67
67
|
assert_equal(1, wallets.count)
|
|
68
68
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,11 +29,11 @@ require_relative '../../../lib/zold/commands/routines/reconcile'
|
|
|
29
29
|
|
|
30
30
|
# Reconcile test.
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
class TestReconcile < Zold::Test
|
|
35
35
|
def test_reconciles
|
|
36
|
-
FakeHome.new(log:
|
|
36
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
37
37
|
remotes = home.remotes
|
|
38
38
|
remotes.clean
|
|
39
39
|
remotes.masters
|
|
@@ -43,7 +43,7 @@ class TestReconcile < Zold::Test
|
|
|
43
43
|
stub_request(:get, "http://#{m[:host]}:#{m[:port]}/wallet/#{Zold::Id::ROOT}").to_return(status: 404)
|
|
44
44
|
opts = { 'never-reboot' => true, 'routine-immediately' => true }
|
|
45
45
|
routine = Zold::Routines::Reconcile.new(
|
|
46
|
-
opts, home.wallets, remotes, home.copies.root, 'some-fake-host:2096', log:
|
|
46
|
+
opts, home.wallets, remotes, home.copies.root, 'some-fake-host:2096', log: fake_log
|
|
47
47
|
)
|
|
48
48
|
routine.exec
|
|
49
49
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,7 +29,7 @@ require_relative '../../../lib/zold/commands/routines/reconnect'
|
|
|
29
29
|
|
|
30
30
|
# Reconnect test.
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
class TestReconnect < Zold::Test
|
|
35
35
|
def test_reconnects
|
|
@@ -39,7 +39,7 @@ class TestReconnect < Zold::Test
|
|
|
39
39
|
remotes.add('localhost', 4096)
|
|
40
40
|
stub_request(:get, 'http://localhost:4096/remotes').to_return(status: 404)
|
|
41
41
|
opts = { 'never-reboot' => true, 'routine-immediately' => true }
|
|
42
|
-
routine = Zold::Routines::Reconnect.new(opts, remotes, log:
|
|
42
|
+
routine = Zold::Routines::Reconnect.new(opts, remotes, log: fake_log)
|
|
43
43
|
routine.exec
|
|
44
44
|
end
|
|
45
45
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,12 +29,12 @@ require_relative '../../../lib/zold/commands/routines/retire'
|
|
|
29
29
|
|
|
30
30
|
# Retire test.
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
class TestRetire < Zold::Test
|
|
35
35
|
def test_retires
|
|
36
36
|
opts = { 'never-reboot' => false, 'routine-immediately' => true }
|
|
37
|
-
routine = Zold::Routines::Retire.new(opts, log:
|
|
37
|
+
routine = Zold::Routines::Retire.new(opts, log: fake_log)
|
|
38
38
|
routine.exec(10 * 24 * 60)
|
|
39
39
|
end
|
|
40
40
|
end
|
data/test/commands/test_alias.rb
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the 'Software'), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
3
23
|
require 'minitest/autorun'
|
|
4
24
|
require_relative '../test__helper'
|
|
5
25
|
require_relative '../fake_home'
|
|
@@ -11,9 +31,9 @@ class TestAlias < Zold::Test
|
|
|
11
31
|
# The syntax is already documented in the alias command in the help.
|
|
12
32
|
def test_set_writes_alias_to_the_alias_file
|
|
13
33
|
skip
|
|
14
|
-
FakeHome.new(log:
|
|
34
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
15
35
|
wallet = home.create_wallet
|
|
16
|
-
Zold::Alias.new(wallets: home.wallets, log:
|
|
36
|
+
Zold::Alias.new(wallets: home.wallets, log: fake_log).run(%W[set #{wallet.id} my-alias])
|
|
17
37
|
assert_equal read_alias_file(home), %W[my-alias #{wallet.id}]
|
|
18
38
|
end
|
|
19
39
|
end
|
|
@@ -23,9 +43,9 @@ class TestAlias < Zold::Test
|
|
|
23
43
|
# The syntax is already documented in the alias command in the help.
|
|
24
44
|
def test_remove_removes_the_alias_from_the_alias_file
|
|
25
45
|
skip
|
|
26
|
-
FakeHome.new(log:
|
|
46
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
27
47
|
wallet = home.create_wallet
|
|
28
|
-
cmd = Zold::Alias.new(wallets: home.wallets, log:
|
|
48
|
+
cmd = Zold::Alias.new(wallets: home.wallets, log: fake_log)
|
|
29
49
|
cmd.run(%W[set #{wallet.id} my-alias])
|
|
30
50
|
assert_equal read_alias_file(home), %W[my-alias #{wallet.id}]
|
|
31
51
|
cmd.run(%w[remove my-alias])
|
|
@@ -38,9 +58,9 @@ class TestAlias < Zold::Test
|
|
|
38
58
|
# The syntax is already documented in the alias command in the help.
|
|
39
59
|
def test_show_prints_out_the_aliased_wallet_id
|
|
40
60
|
skip
|
|
41
|
-
FakeHome.new(log:
|
|
61
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
42
62
|
wallet = home.create_wallet
|
|
43
|
-
cmd = Zold::Alias.new(wallets: home.wallets, log:
|
|
63
|
+
cmd = Zold::Alias.new(wallets: home.wallets, log: fake_log)
|
|
44
64
|
cmd.run(%W[set #{wallet.id} my-alias])
|
|
45
65
|
assert_equal read_alias_file(home), %W[my-alias #{wallet.id}]
|
|
46
66
|
stdout, = capture_io { cmd.run(%w[show my-alias]) }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -27,11 +27,11 @@ require_relative '../../lib/zold/commands/calculate'
|
|
|
27
27
|
|
|
28
28
|
# SCORE test.
|
|
29
29
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
30
|
-
# Copyright:: Copyright (c) 2018
|
|
30
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
31
31
|
# License:: MIT
|
|
32
32
|
class TestCalculate < Zold::Test
|
|
33
33
|
def test_calculates_score
|
|
34
|
-
score = Zold::Calculate.new(log:
|
|
34
|
+
score = Zold::Calculate.new(log: fake_log).run(
|
|
35
35
|
['score', '--strength=2', '--max=8', '--invoice=NOSUFFIX@ffffffffffffffff']
|
|
36
36
|
)
|
|
37
37
|
assert(score.valid?)
|
data/test/commands/test_clean.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -30,42 +30,42 @@ require_relative '../../lib/zold/commands/clean'
|
|
|
30
30
|
|
|
31
31
|
# CLEAN test.
|
|
32
32
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
33
|
-
# Copyright:: Copyright (c) 2018
|
|
33
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
34
34
|
# License:: MIT
|
|
35
35
|
class TestClean < Zold::Test
|
|
36
36
|
def test_cleans_copies
|
|
37
|
-
FakeHome.new(log:
|
|
37
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
38
38
|
wallet = home.create_wallet
|
|
39
39
|
copies = home.copies(wallet)
|
|
40
40
|
copies.add('a1', 'host-1', 80, 1, time: Time.now - (26 * 60 * 60))
|
|
41
41
|
copies.add('a2', 'host-2', 80, 2, time: Time.now - (26 * 60 * 60))
|
|
42
|
-
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log:
|
|
42
|
+
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log: fake_log).run(['clean', wallet.id.to_s])
|
|
43
43
|
assert(copies.all.empty?)
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def test_clean_no_copies
|
|
48
|
-
FakeHome.new(log:
|
|
48
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
49
49
|
wallet = home.create_wallet
|
|
50
50
|
copies = home.copies(wallet)
|
|
51
|
-
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log:
|
|
51
|
+
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log: fake_log).run(['clean'])
|
|
52
52
|
assert(copies.all.empty?)
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
def test_cleans_empty_wallets
|
|
57
|
-
FakeHome.new(log:
|
|
58
|
-
Zold::Clean.new(wallets: home.wallets, copies: File.join(home.dir, 'c'), log:
|
|
57
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
58
|
+
Zold::Clean.new(wallets: home.wallets, copies: File.join(home.dir, 'c'), log: fake_log).run(['clean'])
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def test_cleans_copies_in_threads
|
|
63
|
-
FakeHome.new(log:
|
|
63
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
64
64
|
wallet = home.create_wallet
|
|
65
65
|
copies = home.copies(wallet)
|
|
66
66
|
copies.add(File.read(wallet.path), 'host-2', 80, 2, time: Time.now)
|
|
67
67
|
Threads.new(20).assert do
|
|
68
|
-
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log:
|
|
68
|
+
Zold::Clean.new(wallets: home.wallets, copies: copies.root, log: fake_log).run(['clean'])
|
|
69
69
|
end
|
|
70
70
|
assert_equal(1, copies.all.count)
|
|
71
71
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -29,13 +29,13 @@ require_relative '../../lib/zold/commands/create'
|
|
|
29
29
|
|
|
30
30
|
# CREATE test.
|
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
32
|
-
# Copyright:: Copyright (c) 2018
|
|
32
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
33
33
|
# License:: MIT
|
|
34
34
|
class TestCreate < Zold::Test
|
|
35
35
|
def test_creates_wallet
|
|
36
36
|
Dir.mktmpdir do |dir|
|
|
37
37
|
wallets = Zold::Wallets.new(dir)
|
|
38
|
-
id = Zold::Create.new(wallets: wallets, remotes: nil, log:
|
|
38
|
+
id = Zold::Create.new(wallets: wallets, remotes: nil, log: fake_log).run(
|
|
39
39
|
['create', '--public-key=fixtures/id_rsa.pub', '--skip-test']
|
|
40
40
|
)
|
|
41
41
|
wallets.acq(id) do |wallet|
|
data/test/commands/test_diff.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -36,23 +36,23 @@ require_relative '../../lib/zold/commands/diff'
|
|
|
36
36
|
|
|
37
37
|
# DIFF test.
|
|
38
38
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
39
|
-
# Copyright:: Copyright (c) 2018
|
|
39
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
40
40
|
# License:: MIT
|
|
41
41
|
class TestDiff < Zold::Test
|
|
42
42
|
def test_diff_with_copies
|
|
43
|
-
FakeHome.new(log:
|
|
43
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
44
44
|
wallet = home.create_wallet
|
|
45
45
|
first = home.create_wallet
|
|
46
46
|
File.write(first.path, File.read(wallet.path))
|
|
47
47
|
second = home.create_wallet
|
|
48
48
|
File.write(second.path, File.read(wallet.path))
|
|
49
|
-
Zold::Pay.new(wallets: home.wallets, copies: home.dir, remotes: home.remotes, log:
|
|
49
|
+
Zold::Pay.new(wallets: home.wallets, copies: home.dir, remotes: home.remotes, log: fake_log).run(
|
|
50
50
|
['pay', wallet.id.to_s, "NOPREFIX@#{Zold::Id.new}", '14.95', '--force', '--private-key=fixtures/id_rsa']
|
|
51
51
|
)
|
|
52
52
|
copies = home.copies(wallet)
|
|
53
53
|
copies.add(File.read(first.path), 'host-1', 80, 5)
|
|
54
54
|
copies.add(File.read(second.path), 'host-2', 80, 5)
|
|
55
|
-
diff = Zold::Diff.new(wallets: home.wallets, copies: copies.root, log:
|
|
55
|
+
diff = Zold::Diff.new(wallets: home.wallets, copies: copies.root, log: fake_log).run(
|
|
56
56
|
['diff', wallet.id.to_s]
|
|
57
57
|
)
|
|
58
58
|
assert(diff.include?('-0001;'), diff)
|
data/test/commands/test_fetch.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright (c) 2018-
|
|
3
|
+
# Copyright (c) 2018-2024 Zerocracy
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -38,11 +38,11 @@ require_relative '../../lib/zold/commands/fetch'
|
|
|
38
38
|
|
|
39
39
|
# FETCH test.
|
|
40
40
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
41
|
-
# Copyright:: Copyright (c) 2018
|
|
41
|
+
# Copyright:: Copyright (c) 2018-2024 Zerocracy
|
|
42
42
|
# License:: MIT
|
|
43
43
|
class TestFetch < Zold::Test
|
|
44
44
|
def test_fetches_wallet
|
|
45
|
-
FakeHome.new(log:
|
|
45
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
46
46
|
wallet = home.create_wallet
|
|
47
47
|
stub_request(:get, "http://localhost:4096/wallet/#{wallet.id}").to_return(
|
|
48
48
|
status: 200,
|
|
@@ -59,7 +59,7 @@ class TestFetch < Zold::Test
|
|
|
59
59
|
remotes.add('localhost', 4096)
|
|
60
60
|
remotes.add('localhost', 81)
|
|
61
61
|
copies = home.copies(wallet)
|
|
62
|
-
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log:
|
|
62
|
+
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log: fake_log).run(
|
|
63
63
|
['fetch', '--tolerate-edges', '--tolerate-quorum=1', '--ignore-score-weakness', wallet.id.to_s]
|
|
64
64
|
)
|
|
65
65
|
assert_equal(1, copies.all.count)
|
|
@@ -69,7 +69,7 @@ class TestFetch < Zold::Test
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
def test_fetches_multiple_wallets
|
|
72
|
-
log = TestLogger.new(
|
|
72
|
+
log = TestLogger.new(fake_log)
|
|
73
73
|
FakeHome.new(log: log).run do |home|
|
|
74
74
|
wallet_a = home.create_wallet
|
|
75
75
|
stub_request(:get, "http://localhost:4096/wallet/#{wallet_a.id}").to_return(
|
|
@@ -113,7 +113,7 @@ class TestFetch < Zold::Test
|
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
def test_fails_when_only_edge_nodes
|
|
116
|
-
FakeHome.new(log:
|
|
116
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
117
117
|
wallet = home.create_wallet
|
|
118
118
|
stub_request(:get, "http://localhost:4096/wallet/#{wallet.id}").to_return(
|
|
119
119
|
status: 200,
|
|
@@ -129,7 +129,7 @@ class TestFetch < Zold::Test
|
|
|
129
129
|
remotes.add('localhost', 4096)
|
|
130
130
|
copies = home.copies(wallet)
|
|
131
131
|
assert_raises Zold::Fetch::EdgesOnly do
|
|
132
|
-
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log:
|
|
132
|
+
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log: fake_log).run(
|
|
133
133
|
['fetch', '--ignore-score-weakness', wallet.id.to_s]
|
|
134
134
|
)
|
|
135
135
|
end
|
|
@@ -137,7 +137,7 @@ class TestFetch < Zold::Test
|
|
|
137
137
|
end
|
|
138
138
|
|
|
139
139
|
def test_fails_when_only_one_node
|
|
140
|
-
FakeHome.new(log:
|
|
140
|
+
FakeHome.new(log: fake_log).run do |home|
|
|
141
141
|
wallet = home.create_wallet
|
|
142
142
|
stub_request(:get, "http://localhost:4096/wallet/#{wallet.id}").to_return(
|
|
143
143
|
status: 200,
|
|
@@ -153,7 +153,7 @@ class TestFetch < Zold::Test
|
|
|
153
153
|
remotes.add('localhost', 4096)
|
|
154
154
|
copies = home.copies(wallet)
|
|
155
155
|
assert_raises Zold::Fetch::NoQuorum do
|
|
156
|
-
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log:
|
|
156
|
+
Zold::Fetch.new(wallets: home.wallets, copies: copies.root, remotes: remotes, log: fake_log).run(
|
|
157
157
|
['fetch', '--tolerate-edges', '--ignore-score-weakness', wallet.id.to_s]
|
|
158
158
|
)
|
|
159
159
|
end
|