leap_web_certs 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md ADDED
@@ -0,0 +1,9 @@
1
+ LeapWebCerts
2
+ =========
3
+
4
+
5
+ Configuration
6
+ -------------
7
+
8
+
9
+ Currently LeapWebCerts falls back to handing out a cert in /config/cert if the cert pool is empty. You need to add that file in the application that includes this engine.
data/app/models/cert.rb CHANGED
@@ -11,7 +11,7 @@ class Cert < CouchRest::Model::Base
11
11
  validates :random, :presence => true,
12
12
  :numericality => {:greater_than => 0, :less_than => 1}
13
13
 
14
- validates :zipped, :presence => true
14
+ validates :zip_attachment, :presence => true
15
15
 
16
16
  design do
17
17
  view :by_random
@@ -30,6 +30,7 @@ class Cert < CouchRest::Model::Base
30
30
  retry if Cert.by_random.count > 0
31
31
  raise RECORD_NOT_FOUND
32
32
  end
33
+
33
34
  end
34
35
 
35
36
  def set_random
@@ -37,15 +38,20 @@ class Cert < CouchRest::Model::Base
37
38
  end
38
39
 
39
40
  def attach_zip
40
- self.create_attachment :file => StringIO.new("dummy cert"), :name => zipname
41
+ file = File.open(Rails.root.join("config", "cert"))
42
+ self.create_attachment :file => file, :name => zipname
41
43
  end
42
44
 
43
45
  def zipname
44
46
  'cert.zip'
45
47
  end
46
48
 
47
- def zipped
49
+ def zip_attachment
48
50
  attachments[zipname]
49
51
  end
50
52
 
53
+ def zipped
54
+ read_attachment(zipname)
55
+ end
56
+
51
57
  end
@@ -1,3 +1,3 @@
1
1
  module LeapWebCerts
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,56 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ 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
31
+ WWxi9MBzz/80IediLG6qrlU=
32
+ -----END RSA PRIVATE KEY-----
33
+ -----BEGIN CERTIFICATE-----
34
+ MIIEAzCCAlWgAwIBAgIEUFDq+zANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRU
35
+ RVNUMB4XDTEyMDkxMjIwMDUxNVoXDTEzMDkxMjIwMDUxNVowOjEPMA0GA1UEChMG
36
+ eHgub3JnMScwJQYDVQQDEx5xdXVnaGVjYWUxYmFpNW9oU2hhaDdwaGlkYWVxdXUw
37
+ ggFSMA0GCSqGSIb3DQEBAQUAA4IBPwAwggE6AoIBMQCufFN5TzZ+uFrqDgByGnMA
38
+ D3avLQ8P8VlUrlSIyxvAd8CX9cm51UfT7nUNILlfin16x+1FA0Jolj/jMRJ7XlKd
39
+ rtpH4XJSgT4tw+nMykJgfrVNTONgtAvN9rLpzDVqud3KvIQuB6FaHYqIOX9I4dDx
40
+ z3XgNALzt/e2+ZYjsXTNv0pYT1xd6mcfKvZAkPMyIu4vpQLsKEliCpgAoN8SVAd8
41
+ JpAK145QryFz65NF5NekC0PdLdesLcp4lH6M7KdOQnm0tv9XBLauaFk5aS0GEAl+
42
+ WAotdJzoLPa4kF4BE0u9MECPrqrN+8wiUE4FEJZJB+/M2WFm+pfZgp1qXx6AL0IC
43
+ 4GFRwh8TG6dVCdT7FtHHtb0aDeLzOozAMxF/3HtrgYEaabuf5hIIvLd/x96PDZkB
44
+ AgMBAAGjdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYD
45
+ VR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUU9Uc5ljBzINN4S6oj80rn+mJTLEwHwYD
46
+ VR0jBBgwFoAU/z1/F2dGNow5Kac+jx7NtyIM0BAwDQYJKoZIhvcNAQELBQADggGX
47
+ AMCxt8hxLtQlSgfY4MHxlNOE/hepArRQ1KoqW8TZ3DaDZacYuHK6TkarBuVshrAa
48
+ TkPLvTbMIeZ/DGC6snrnyspVPVun8X1NcdkqOiSWCt5Y1Li4sClXT+XUFaKES4NS
49
+ SN8LDKX0J+q2n4nRuotaOdq12qs8ZQkMsSI5ueR0soHY1XuSJCK75PFxLJKq3ydm
50
+ c/YgEkmZwOBR7ypXnT0Tcele120v+qhCRSeoZIEwtm27Dp8+My82fpx7xMKYAHn8
51
+ FhMVy/bQZgl9QAt7HNK7QoISBmkQFYey0Qq7aotloMhlIyCSN569RcKHdPhZCsCE
52
+ M6lQJXeXaD8sR9wE2nhxKnTJToebjr9mnlgavSsotnzjnm9fMt5CPGOUtG/qGNfB
53
+ VhdODq6KZ9Tk8MnYenC7SfiJ/cR0N/Yw5R8Yaa1K5qO+dyIwfXTkTr/Kg97N72jE
54
+ GB/GF1HkbZW7VnGWjgNAozftTRCsFoCTwv/ICcW+vYEDVh+hzWjJ/KLl7PruKDPS
55
+ rBlWWdV02QtVKpKYKvynML9kyEX6HeM=
56
+ -----END CERTIFICATE-----
File without changes
@@ -6,3 +6,24 @@ Processing by CertsController#show as HTML
6
6
  Rendered text template (0.0ms)
7
7
  Sent data cert_stub.zip (5.1ms)
8
8
  Completed 200 OK in 6ms (Views: 5.0ms)
9
+
10
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
11
+
12
+
13
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
14
+
15
+
16
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
17
+
18
+
19
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
20
+
21
+
22
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
23
+
24
+
25
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
26
+
27
+
28
+ ***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
29
+
@@ -12,8 +12,15 @@ class CertTest < ActiveSupport::TestCase
12
12
  assert @sample.has_attachment? "cert.zip"
13
13
  end
14
14
 
15
- test "cert.zipped returns zip attachment" do
16
- assert_equal "application/zip", @sample.zipped["content_type"]
15
+ test "cert.zip_attachment returns couchDB attachment" do
16
+ assert_equal "application/zip", @sample.zip_attachment["content_type"]
17
+ end
18
+
19
+ test "cert.zipped returns the actual data" do
20
+ @sample.save # This is required!
21
+ assert lines = @sample.zipped.split("\n")
22
+ assert_equal "-----BEGIN RSA PRIVATE KEY-----", lines.first.chomp
23
+ assert_equal "-----END CERTIFICATE-----", lines.last.chomp
17
24
  end
18
25
 
19
26
  test "cert.zipname returns name for the zip file" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leap_web_certs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Azul
@@ -15,11 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-09-11 00:00:00 Z
18
+ date: 2012-09-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
+ name: rails
21
22
  prerelease: false
22
- type: :runtime
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
@@ -31,11 +31,11 @@ dependencies:
31
31
  - 2
32
32
  - 8
33
33
  version: 3.2.8
34
- name: rails
34
+ type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
37
+ name: leap_web_core
37
38
  prerelease: false
38
- type: :runtime
39
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
@@ -47,11 +47,11 @@ dependencies:
47
47
  - 0
48
48
  - 1
49
49
  version: 0.0.1
50
- name: leap_web_core
50
+ type: :runtime
51
51
  version_requirements: *id002
52
52
  - !ruby/object:Gem::Dependency
53
+ name: mocha
53
54
  prerelease: false
54
- type: :development
55
55
  requirement: &id003 !ruby/object:Gem::Requirement
56
56
  none: false
57
57
  requirements:
@@ -61,7 +61,7 @@ dependencies:
61
61
  segments:
62
62
  - 0
63
63
  version: "0"
64
- name: mocha
64
+ type: :development
65
65
  version_requirements: *id003
66
66
  description: This plugin for the leap platform distributes certs for the EIP client. It fetches the certs from a pool in CouchDB that is filled by leap-ca.
67
67
  email:
@@ -83,7 +83,7 @@ files:
83
83
  - lib/tasks/leap_web_certs_tasks.rake
84
84
  - MIT-LICENSE
85
85
  - Rakefile
86
- - README.rdoc
86
+ - Readme.md
87
87
  - test/dummy/README.rdoc
88
88
  - test/dummy/app/helpers/application_helper.rb
89
89
  - test/dummy/app/assets/javascripts/application.js
@@ -93,6 +93,7 @@ files:
93
93
  - test/dummy/script/rails
94
94
  - test/dummy/Rakefile
95
95
  - test/dummy/config.ru
96
+ - test/dummy/log/development.log
96
97
  - test/dummy/log/test.log
97
98
  - test/dummy/public/404.html
98
99
  - test/dummy/public/422.html
@@ -100,6 +101,7 @@ files:
100
101
  - test/dummy/public/500.html
101
102
  - test/dummy/config/locales/en.yml
102
103
  - test/dummy/config/environment.rb
104
+ - test/dummy/config/cert
103
105
  - test/dummy/config/environments/development.rb
104
106
  - test/dummy/config/environments/test.rb
105
107
  - test/dummy/config/environments/production.rb
@@ -161,6 +163,7 @@ test_files:
161
163
  - test/dummy/script/rails
162
164
  - test/dummy/Rakefile
163
165
  - test/dummy/config.ru
166
+ - test/dummy/log/development.log
164
167
  - test/dummy/log/test.log
165
168
  - test/dummy/public/404.html
166
169
  - test/dummy/public/422.html
@@ -168,6 +171,7 @@ test_files:
168
171
  - test/dummy/public/500.html
169
172
  - test/dummy/config/locales/en.yml
170
173
  - test/dummy/config/environment.rb
174
+ - test/dummy/config/cert
171
175
  - test/dummy/config/environments/development.rb
172
176
  - test/dummy/config/environments/test.rb
173
177
  - test/dummy/config/environments/production.rb
data/README.rdoc DELETED
@@ -1,3 +0,0 @@
1
- = LeapWebCerts
2
-
3
- This project rocks and uses MIT-LICENSE.