shift-nanite 0.4.1.2

Sign up to get free protection for your applications and to get access to all the features.
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
+