zold 0.16.24 → 0.16.25

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rultor.yml +1 -0
  3. data/.travis.yml +1 -0
  4. data/README.md +1 -1
  5. data/bin/zold +121 -117
  6. data/lib/zold/cached_wallets.rb +2 -2
  7. data/lib/zold/commands/create.rb +1 -1
  8. data/lib/zold/commands/diff.rb +1 -1
  9. data/lib/zold/commands/fetch.rb +3 -2
  10. data/lib/zold/commands/invoice.rb +2 -2
  11. data/lib/zold/commands/list.rb +9 -1
  12. data/lib/zold/commands/merge.rb +1 -1
  13. data/lib/zold/commands/pay.rb +2 -2
  14. data/lib/zold/commands/propagate.rb +3 -3
  15. data/lib/zold/commands/push.rb +3 -3
  16. data/lib/zold/commands/remote.rb +3 -3
  17. data/lib/zold/commands/remove.rb +1 -1
  18. data/lib/zold/commands/show.rb +1 -1
  19. data/lib/zold/commands/taxes.rb +3 -3
  20. data/lib/zold/http.rb +22 -19
  21. data/lib/zold/hungry_wallets.rb +2 -2
  22. data/lib/zold/node/entrance.rb +1 -1
  23. data/lib/zold/node/front.rb +3 -6
  24. data/lib/zold/node/nodup_entrance.rb +1 -1
  25. data/lib/zold/node/sync_entrance.rb +1 -1
  26. data/lib/zold/patch.rb +3 -5
  27. data/lib/zold/remotes.rb +7 -6
  28. data/lib/zold/sync_wallets.rb +3 -2
  29. data/lib/zold/tree_wallets.rb +2 -1
  30. data/lib/zold/version.rb +1 -1
  31. data/lib/zold/wallets.rb +2 -1
  32. data/test/commands/test_create.rb +1 -1
  33. data/test/commands/test_invoice.rb +1 -1
  34. data/test/commands/test_list.rb +1 -1
  35. data/test/commands/test_pull.rb +1 -1
  36. data/test/commands/test_show.rb +1 -1
  37. data/test/fake_home.rb +1 -1
  38. data/test/node/fake_node.rb +2 -2
  39. data/test/node/test_front.rb +30 -30
  40. data/test/test__helper.rb +1 -0
  41. data/test/test_cached_wallets.rb +2 -2
  42. data/test/test_http.rb +9 -9
  43. data/test/test_sync_wallets.rb +2 -2
  44. data/test/test_tree_wallets.rb +2 -2
  45. data/test/test_wallets.rb +2 -2
  46. data/test/upgrades/test_protocol_up.rb +1 -1
  47. data/zold.gemspec +7 -0
  48. metadata +36 -3
data/test/test__helper.rb CHANGED
@@ -21,6 +21,7 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  gem 'openssl'
24
+ require 'minitest/fail_fast'
24
25
  require 'openssl'
25
26
  require 'minitest/autorun'
26
27
  require 'minitest/hooks/test'
@@ -40,12 +40,12 @@ class TestCachedWallets < Zold::Test
40
40
  wallets = Zold::CachedWallets.new(home.wallets)
41
41
  id = Zold::Id.new
42
42
  first = nil
43
- wallets.find(id) do |wallet|
43
+ wallets.acq(id, exclusive: true) do |wallet|
44
44
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
45
45
  assert_equal(1, wallets.all.count)
46
46
  first = wallet
47
47
  end
48
- wallets.find(id) do |wallet|
48
+ wallets.acq(id) do |wallet|
49
49
  assert_equal(first, wallet)
50
50
  end
51
51
  end
data/test/test_http.rb CHANGED
@@ -38,22 +38,22 @@ class TestHttp < Zold::Test
38
38
  def test_pings_broken_uri
39
39
  stub_request(:get, 'http://bad-host/').to_return(status: 500)
40
40
  res = Zold::Http.new(uri: 'http://bad-host/').get
41
- assert_equal('500', res.code)
41
+ assert_equal(500, res.status)
42
42
  assert_equal('', res.body)
43
43
  end
44
44
 
45
45
  def test_pings_with_exception
46
46
  stub_request(:get, 'http://exception/').to_return { raise 'Intentionally' }
47
47
  res = Zold::Http.new(uri: 'http://exception/').get
48
- assert_equal('599', res.code)
48
+ assert_equal(599, res.status)
49
49
  assert(res.body.include?('Intentionally'))
50
- assert(!res.header['nothing'])
50
+ assert(!res.headers['nothing'])
51
51
  end
52
52
 
53
53
  def test_pings_live_uri
54
54
  stub_request(:get, 'http://good-host/').to_return(status: 200)
55
55
  res = Zold::Http.new(uri: 'http://good-host/').get
56
- assert_equal('200', res.code)
56
+ assert_equal(200, res.status)
57
57
  end
58
58
 
59
59
  def test_sends_valid_network_header
@@ -61,7 +61,7 @@ class TestHttp < Zold::Test
61
61
  .with(headers: { 'X-Zold-Network' => 'xyz' })
62
62
  .to_return(status: 200)
63
63
  res = Zold::Http.new(uri: 'http://some-host-1/', network: 'xyz').get
64
- assert_equal('200', res.code)
64
+ assert_equal(200, res.status)
65
65
  end
66
66
 
67
67
  def test_sends_valid_protocol_header
@@ -69,7 +69,7 @@ class TestHttp < Zold::Test
69
69
  .with(headers: { 'X-Zold-Protocol' => Zold::PROTOCOL })
70
70
  .to_return(status: 200)
71
71
  res = Zold::Http.new(uri: 'http://some-host-2/').get
72
- assert_equal('200', res.code)
72
+ assert_equal(200, res.status)
73
73
  end
74
74
 
75
75
  def test_doesnt_terminate_on_long_call
@@ -87,7 +87,7 @@ class TestHttp < Zold::Test
87
87
  end
88
88
  sleep 0.25
89
89
  res = Zold::Http.new(uri: "http://127.0.0.1:#{port}/").get(timeout: 2)
90
- assert_equal('200', res.code, res)
90
+ assert_equal(200, res.status, res)
91
91
  thread.kill
92
92
  thread.join
93
93
  end
@@ -105,7 +105,7 @@ class TestHttp < Zold::Test
105
105
  end
106
106
  sleep 0.25
107
107
  res = Zold::Http.new(uri: "http://127.0.0.1:#{port}/").get(timeout: 0.1)
108
- assert_equal('599', res.code, res)
108
+ assert_equal(599, res.status, res)
109
109
  thread.kill
110
110
  thread.join
111
111
  end
@@ -116,6 +116,6 @@ class TestHttp < Zold::Test
116
116
  .with(headers: { 'X-Zold-Version' => Zold::VERSION })
117
117
  .to_return(status: 200)
118
118
  res = Zold::Http.new(uri: 'http://some-host-3/').get
119
- assert_equal('200', res.code, res)
119
+ assert_equal(200, res.status, res)
120
120
  end
121
121
  end
@@ -44,13 +44,13 @@ class TestSyncWallets < Zold::Test
44
44
  key = Zold::Key.new(file: 'fixtures/id_rsa')
45
45
  amount = Zold::Amount.new(zld: 5.0)
46
46
  Threads.new(5).assert(100) do
47
- wallets.find(id) do |wallet|
47
+ wallets.acq(id, exclusive: true) do |wallet|
48
48
  wallet.sub(amount, "NOPREFIX@#{Zold::Id.new}", key)
49
49
  wallet.refurbish
50
50
  end
51
51
  end
52
52
  # assert_equal_wait(amount * -100, max: 4) do
53
- # wallets.find(id, &:balance)
53
+ # wallets.acq(id, &:balance)
54
54
  # end
55
55
  end
56
56
  end
@@ -36,7 +36,7 @@ class TestTreeWallets < Zold::Test
36
36
  Dir.mktmpdir do |dir|
37
37
  wallets = Zold::TreeWallets.new(dir)
38
38
  id = Zold::Id.new('abcd0123abcd0123')
39
- wallets.find(id) do |wallet|
39
+ wallets.acq(id, exclusive: true) do |wallet|
40
40
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
41
41
  assert(wallet.path.end_with?('/a/b/c/d/abcd0123abcd0123.z'), wallet.path)
42
42
  end
@@ -50,7 +50,7 @@ class TestTreeWallets < Zold::Test
50
50
  wallets = Zold::TreeWallets.new(dir)
51
51
  10.times do
52
52
  id = Zold::Id.new
53
- wallets.find(id) do |wallet|
53
+ wallets.acq(id, exclusive: true) do |wallet|
54
54
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
55
55
  end
56
56
  end
data/test/test_wallets.rb CHANGED
@@ -38,7 +38,7 @@ class TestWallets < Zold::Test
38
38
  FakeHome.new(log: test_log).run do |home|
39
39
  wallets = home.wallets
40
40
  id = Zold::Id.new
41
- wallets.find(id) do |wallet|
41
+ wallets.acq(id) do |wallet|
42
42
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
43
43
  assert_equal(1, wallets.all.count)
44
44
  end
@@ -52,7 +52,7 @@ class TestWallets < Zold::Test
52
52
  FileUtils.mkdir_p(File.join(home.dir, 'a/b/c'))
53
53
  FileUtils.touch(File.join(home.dir, 'a/b/c/0000111122223333.z'))
54
54
  id = Zold::Id.new
55
- wallets.find(id) do |wallet|
55
+ wallets.acq(id) do |wallet|
56
56
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
57
57
  assert_equal(1, wallets.all.count)
58
58
  end
@@ -34,7 +34,7 @@ class TestProtocolUp < Zold::Test
34
34
  FakeHome.new(log: test_log).run do |home|
35
35
  id = home.create_wallet.id
36
36
  Zold::ProtocolUp.new(home.dir, test_log).exec
37
- home.wallets.find(id) do |wallet|
37
+ home.wallets.acq(id) do |wallet|
38
38
  assert_equal(Zold::PROTOCOL, wallet.protocol)
39
39
  end
40
40
  end
data/zold.gemspec CHANGED
@@ -49,6 +49,11 @@ and suggests a different architecture for digital wallet maintenance.'
49
49
  s.authors = ['Yegor Bugayenko']
50
50
  s.email = 'yegor256@gmail.com'
51
51
  s.homepage = 'http://github.com/zold-io/zold'
52
+ s.post_install_message = "Thanks for installing Zold #{Zold::VERSION}!
53
+ Study our White Paper: https://papers.zold.io/wp.pdf
54
+ Read our blog posts: https://blog.zold.io
55
+ Stay in touch with the dev community: https://t.me/zold_io
56
+ Follow us on Twitter: https://twitter.com/0crat"
52
57
  s.files = `git ls-files`.split($RS)
53
58
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
54
59
  s.test_files = s.files.grep(%r{^(test|features)/})
@@ -80,7 +85,9 @@ and suggests a different architecture for digital wallet maintenance.'
80
85
  s.add_runtime_dependency 'zold-score', '0.2.2'
81
86
  s.add_development_dependency 'codecov', '0.1.13'
82
87
  s.add_development_dependency 'minitest', '5.11.3'
88
+ s.add_development_dependency 'minitest-fail-fast', '0.1.0'
83
89
  s.add_development_dependency 'minitest-hooks', '1.5.0'
90
+ s.add_development_dependency 'patron', '0.13.1'
84
91
  s.add_development_dependency 'random-port', '0.3.1'
85
92
  s.add_development_dependency 'rdoc', '4.3.0'
86
93
  s.add_development_dependency 'rspec-rails', '3.8.1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.24
4
+ version: 0.16.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-13 00:00:00.000000000 Z
11
+ date: 2018-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
@@ -374,6 +374,20 @@ dependencies:
374
374
  - - '='
375
375
  - !ruby/object:Gem::Version
376
376
  version: 5.11.3
377
+ - !ruby/object:Gem::Dependency
378
+ name: minitest-fail-fast
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - '='
382
+ - !ruby/object:Gem::Version
383
+ version: 0.1.0
384
+ type: :development
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - '='
389
+ - !ruby/object:Gem::Version
390
+ version: 0.1.0
377
391
  - !ruby/object:Gem::Dependency
378
392
  name: minitest-hooks
379
393
  requirement: !ruby/object:Gem::Requirement
@@ -388,6 +402,20 @@ dependencies:
388
402
  - - '='
389
403
  - !ruby/object:Gem::Version
390
404
  version: 1.5.0
405
+ - !ruby/object:Gem::Dependency
406
+ name: patron
407
+ requirement: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - '='
410
+ - !ruby/object:Gem::Version
411
+ version: 0.13.1
412
+ type: :development
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - '='
417
+ - !ruby/object:Gem::Version
418
+ version: 0.13.1
391
419
  - !ruby/object:Gem::Dependency
392
420
  name: random-port
393
421
  requirement: !ruby/object:Gem::Requirement
@@ -666,7 +694,12 @@ homepage: http://github.com/zold-io/zold
666
694
  licenses:
667
695
  - MIT
668
696
  metadata: {}
669
- post_install_message:
697
+ post_install_message: |-
698
+ Thanks for installing Zold 0.16.25!
699
+ Study our White Paper: https://papers.zold.io/wp.pdf
700
+ Read our blog posts: https://blog.zold.io
701
+ Stay in touch with the dev community: https://t.me/zold_io
702
+ Follow us on Twitter: https://twitter.com/0crat
670
703
  rdoc_options:
671
704
  - "--charset=UTF-8"
672
705
  require_paths: