shift-nanite 0.4.1.2

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 (63) hide show
  1. data/LICENSE +201 -0
  2. data/README.rdoc +430 -0
  3. data/Rakefile +76 -0
  4. data/TODO +24 -0
  5. data/bin/nanite-admin +65 -0
  6. data/bin/nanite-agent +79 -0
  7. data/bin/nanite-mapper +50 -0
  8. data/lib/nanite.rb +74 -0
  9. data/lib/nanite/actor.rb +71 -0
  10. data/lib/nanite/actor_registry.rb +26 -0
  11. data/lib/nanite/admin.rb +138 -0
  12. data/lib/nanite/agent.rb +264 -0
  13. data/lib/nanite/amqp.rb +58 -0
  14. data/lib/nanite/cluster.rb +250 -0
  15. data/lib/nanite/config.rb +112 -0
  16. data/lib/nanite/console.rb +39 -0
  17. data/lib/nanite/daemonize.rb +13 -0
  18. data/lib/nanite/identity.rb +16 -0
  19. data/lib/nanite/job.rb +104 -0
  20. data/lib/nanite/local_state.rb +38 -0
  21. data/lib/nanite/log.rb +66 -0
  22. data/lib/nanite/log/formatter.rb +39 -0
  23. data/lib/nanite/mapper.rb +309 -0
  24. data/lib/nanite/mapper_proxy.rb +67 -0
  25. data/lib/nanite/nanite_dispatcher.rb +92 -0
  26. data/lib/nanite/packets.rb +365 -0
  27. data/lib/nanite/pid_file.rb +52 -0
  28. data/lib/nanite/reaper.rb +39 -0
  29. data/lib/nanite/security/cached_certificate_store_proxy.rb +24 -0
  30. data/lib/nanite/security/certificate.rb +55 -0
  31. data/lib/nanite/security/certificate_cache.rb +66 -0
  32. data/lib/nanite/security/distinguished_name.rb +34 -0
  33. data/lib/nanite/security/encrypted_document.rb +46 -0
  34. data/lib/nanite/security/rsa_key_pair.rb +53 -0
  35. data/lib/nanite/security/secure_serializer.rb +68 -0
  36. data/lib/nanite/security/signature.rb +46 -0
  37. data/lib/nanite/security/static_certificate_store.rb +35 -0
  38. data/lib/nanite/security_provider.rb +47 -0
  39. data/lib/nanite/serializer.rb +52 -0
  40. data/lib/nanite/state.rb +168 -0
  41. data/lib/nanite/streaming.rb +125 -0
  42. data/lib/nanite/util.rb +58 -0
  43. data/spec/actor_registry_spec.rb +60 -0
  44. data/spec/actor_spec.rb +77 -0
  45. data/spec/agent_spec.rb +240 -0
  46. data/spec/cached_certificate_store_proxy_spec.rb +34 -0
  47. data/spec/certificate_cache_spec.rb +49 -0
  48. data/spec/certificate_spec.rb +27 -0
  49. data/spec/cluster_spec.rb +622 -0
  50. data/spec/distinguished_name_spec.rb +24 -0
  51. data/spec/encrypted_document_spec.rb +21 -0
  52. data/spec/job_spec.rb +251 -0
  53. data/spec/local_state_spec.rb +130 -0
  54. data/spec/nanite_dispatcher_spec.rb +136 -0
  55. data/spec/packet_spec.rb +220 -0
  56. data/spec/rsa_key_pair_spec.rb +33 -0
  57. data/spec/secure_serializer_spec.rb +41 -0
  58. data/spec/serializer_spec.rb +107 -0
  59. data/spec/signature_spec.rb +30 -0
  60. data/spec/spec_helper.rb +33 -0
  61. data/spec/static_certificate_store_spec.rb +30 -0
  62. data/spec/util_spec.rb +63 -0
  63. metadata +129 -0
@@ -0,0 +1,30 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe Nanite::StaticCertificateStore do
4
+
5
+ include SpecHelpers
6
+
7
+ before(:all) do
8
+ @signer, key = issue_cert
9
+ @recipient, key = issue_cert
10
+ @cert, @key = issue_cert
11
+ @store = Nanite::StaticCertificateStore.new(@signer, @recipient)
12
+ end
13
+
14
+ it 'should not raise when passed nil objects' do
15
+ res = nil
16
+ lambda { res = @store.get_signer(nil) }.should_not raise_error
17
+ res.should == [ @signer ]
18
+ lambda { res = @store.get_recipients(nil) }.should_not raise_error
19
+ res.should == [ @recipient ]
20
+ end
21
+
22
+ it 'should return signer certificates' do
23
+ @store.get_signer('anything').should == [ @signer ]
24
+ end
25
+
26
+ it 'should return recipient certificates' do
27
+ @store.get_recipients('anything').should == [ @recipient ]
28
+ end
29
+
30
+ end
@@ -0,0 +1,63 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe String do
4
+
5
+ describe ".snake_case" do
6
+
7
+ it "should downcase single word" do
8
+ ["FOO", "Foo", "foo"].each do |w|
9
+ w.snake_case.should == "foo"
10
+ end
11
+ end
12
+
13
+ it "should not separate numbers from end of word" do
14
+ ["Foo1234", "foo1234"].each do |w|
15
+ w.snake_case.should == "foo1234"
16
+ end
17
+ end
18
+
19
+ it "should separate numbers from word it starts with uppercase letter" do
20
+ "1234Foo".snake_case.should == "1234_foo"
21
+ end
22
+
23
+ it "should not separate numbers from word starts with lowercase letter" do
24
+ "1234foo".snake_case.should == "1234foo"
25
+ end
26
+
27
+ it "should downcase camel-cased words and connect with underscore" do
28
+ ["FooBar", "fooBar"].each do |w|
29
+ w.snake_case.should == "foo_bar"
30
+ end
31
+ end
32
+
33
+ it "should start new word with uppercase letter before lower case letter" do
34
+ ["FooBARBaz", "fooBARBaz"].each do |w|
35
+ w.snake_case.should == "foo_bar_baz"
36
+ end
37
+ end
38
+
39
+ end
40
+
41
+ describe ".to_const_path" do
42
+
43
+ it "should snake-case the string" do
44
+ str = "hello"
45
+ str.should_receive(:snake_case).and_return("snake-cased hello")
46
+ str.to_const_path
47
+ end
48
+
49
+ it "should leave (snake-cased) string without '::' unchanged" do
50
+ "hello".to_const_path.should == "hello"
51
+ end
52
+
53
+ it "should replace single '::' with '/'" do
54
+ "hello::world".to_const_path.should == "hello/world"
55
+ end
56
+
57
+ it "should replace multiple '::' with '/'" do
58
+ "hello::nanite::world".to_const_path.should == "hello/nanite/world"
59
+ end
60
+
61
+ end
62
+
63
+ end # String
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shift-nanite
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.1.2
5
+ platform: ruby
6
+ authors:
7
+ - Ezra Zygmuntowicz
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-04 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: amqp
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.6.0
24
+ version:
25
+ description: self assembling fabric of ruby daemons
26
+ email: ezra@engineyard.com
27
+ executables:
28
+ - nanite-agent
29
+ - nanite-mapper
30
+ - nanite-admin
31
+ extensions: []
32
+
33
+ extra_rdoc_files:
34
+ - README.rdoc
35
+ - LICENSE
36
+ - TODO
37
+ files:
38
+ - LICENSE
39
+ - README.rdoc
40
+ - Rakefile
41
+ - TODO
42
+ - lib/nanite.rb
43
+ - lib/nanite/streaming.rb
44
+ - lib/nanite/serializer.rb
45
+ - lib/nanite/pid_file.rb
46
+ - lib/nanite/mapper.rb
47
+ - lib/nanite/daemonize.rb
48
+ - lib/nanite/mapper_proxy.rb
49
+ - lib/nanite/security/distinguished_name.rb
50
+ - lib/nanite/security/secure_serializer.rb
51
+ - lib/nanite/security/certificate_cache.rb
52
+ - lib/nanite/security/signature.rb
53
+ - lib/nanite/security/certificate.rb
54
+ - lib/nanite/security/encrypted_document.rb
55
+ - lib/nanite/security/rsa_key_pair.rb
56
+ - lib/nanite/security/static_certificate_store.rb
57
+ - lib/nanite/security/cached_certificate_store_proxy.rb
58
+ - lib/nanite/config.rb
59
+ - lib/nanite/util.rb
60
+ - lib/nanite/log/formatter.rb
61
+ - lib/nanite/state.rb
62
+ - lib/nanite/cluster.rb
63
+ - lib/nanite/nanite_dispatcher.rb
64
+ - lib/nanite/security_provider.rb
65
+ - lib/nanite/packets.rb
66
+ - lib/nanite/actor.rb
67
+ - lib/nanite/console.rb
68
+ - lib/nanite/admin.rb
69
+ - lib/nanite/amqp.rb
70
+ - lib/nanite/agent.rb
71
+ - lib/nanite/local_state.rb
72
+ - lib/nanite/identity.rb
73
+ - lib/nanite/actor_registry.rb
74
+ - lib/nanite/log.rb
75
+ - lib/nanite/reaper.rb
76
+ - lib/nanite/job.rb
77
+ - bin/nanite-agent
78
+ - bin/nanite-admin
79
+ - bin/nanite-mapper
80
+ - spec/util_spec.rb
81
+ - spec/encrypted_document_spec.rb
82
+ - spec/agent_spec.rb
83
+ - spec/certificate_cache_spec.rb
84
+ - spec/cached_certificate_store_proxy_spec.rb
85
+ - spec/nanite_dispatcher_spec.rb
86
+ - spec/rsa_key_pair_spec.rb
87
+ - spec/cluster_spec.rb
88
+ - spec/spec_helper.rb
89
+ - spec/actor_registry_spec.rb
90
+ - spec/actor_spec.rb
91
+ - spec/packet_spec.rb
92
+ - spec/local_state_spec.rb
93
+ - spec/static_certificate_store_spec.rb
94
+ - spec/job_spec.rb
95
+ - spec/signature_spec.rb
96
+ - spec/secure_serializer_spec.rb
97
+ - spec/serializer_spec.rb
98
+ - spec/certificate_spec.rb
99
+ - spec/distinguished_name_spec.rb
100
+ has_rdoc: true
101
+ homepage: http://github.com/shift/nanite
102
+ licenses: []
103
+
104
+ post_install_message:
105
+ rdoc_options: []
106
+
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: "0"
114
+ version:
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: "0"
120
+ version:
121
+ requirements: []
122
+
123
+ rubyforge_project:
124
+ rubygems_version: 1.3.5
125
+ signing_key:
126
+ specification_version: 3
127
+ summary: self assembling fabric of ruby daemons
128
+ test_files: []
129
+