leap_web_certs 0.0.1 → 0.0.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.
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
+ MIIFfQIBAAKCATEArnxTeU82frha6g4AchpzAA92ry0PD/FZVK5UiMsbwHfAl/XJ
3
+ udVH0+51DSC5X4p9esftRQNCaJY/4zESe15Sna7aR+FyUoE+LcPpzMpCYH61TUzj
4
+ YLQLzfay6cw1arndyryELgehWh2KiDl/SOHQ8c914DQC87f3tvmWI7F0zb9KWE9c
5
+ XepnHyr2QJDzMiLuL6UC7ChJYgqYAKDfElQHfCaQCteOUK8hc+uTReTXpAtD3S3X
6
+ rC3KeJR+jOynTkJ5tLb/VwS2rmhZOWktBhAJflgKLXSc6Cz2uJBeARNLvTBAj66q
7
+ zfvMIlBOBRCWSQfvzNlhZvqX2YKdal8egC9CAuBhUcIfExunVQnU+xbRx7W9Gg3i
8
+ 8zqMwDMRf9x7a4GBGmm7n+YSCLy3f8fejw2ZAQIDAQABAoIBMAt3bSQ8Nz3AT20x
9
+ NV307K4fgLJbY4bYhVaCIa5fAU22hkgWOscFGUl3/WY69SOuXgz7ECsoXy1bWQsi
10
+ TETM5TX/6dADz0z/uaktRkiTLtCDkyuSIXaB7oKpszFCc8I167mT25s2HNLnZ8AI
11
+ XfEusdn/mGSpq7Co3CprStlr+IaVixpe622FPCNOt0x1RMjR2yrzYkvzC9DZperp
12
+ mWLj7XF3X8FS3gd0Whhl4bS5yZuC8cd7Gq4bx8mGPIwqQzwOXb1mJXt5RPv+zU6X
13
+ J4cSX0GIUBNb1yVsUDouqo1q+saPgBSjhS4xr6sb38XALvzvgVvY/M7YGpSr0Vyv
14
+ ErAwxaGpdk+RppAjcxWBXLuMcIgtU+gSoEogdYzJkoJdwOfcyIllyqlaamcv4T84
15
+ gMWRFncCgZkAzUBt1t3GpuyGVPkD2evtQrBWwg09kx1PAyoNwLDOiarmzUr/euvC
16
+ m+FZ324xLCYXYBDXCwa3B1YsX9d54JuzXzClr+t0xoz5lZzDLgwEEdK9bttGBL0w
17
+ 4W+BfbvmH3Q1dfyQMc/+Y2/LAhvwwkp1F66KsF1xcz6q3FCDN0BGurhIH3rsS1r8
18
+ ReIl7KW/TwKDbkPxe+3yCI8CgZkA2aCJUmCtkvaCIX0Udr6g3iyu6lQYbq532/FW
19
+ MNh+KJA3NqXOvGZd9T1DfjlxOqsfGD4H92ekUdy/GdX9SAH4A0RW24gUazNY9N1d
20
+ 4Zr+GyGz96AetksM5svDVqVed9qzxqPX7/i16F3HmIJKS8lVXLj3TDBJAQTJNhSN
21
+ tdkq8OAxwswquvXC0U5WXsZVp6z1CFawjUiZbW8CgZkAvP9V5SOkN7LWY0pFJJad
22
+ i+oKiXdduqijR/uiXEuyc4v+KQ2lQM/1DEqu0hGKj+enYJtBGPMe+E9+XuZwYMWe
23
+ nsmR1/LNPcM0U3LdOvpviOXv7zNUPyri5sMhjuDFnzMHw1REhsnKqk+XtKJ7yLx9
24
+ I8hiBtKUlBUhietNWEQEnQzxxKMRELaAU+1RFJ7vEVb0JUXFCGPrmbsCgZkAyZrW
25
+ m+HD6mlClBNzaa2fCTMLtzjAiYhGsRIZbpagCKPRAmcH5bBPSmi+pahBJMBxxdtx
26
+ NdhleRCuWBjM0nBAeYZNkIG3qLegqPaJif4zeJ74QWWsDePox8Xr59C6ev23nUUb
27
+ PcuBeQmnZbkNarfQxFz1ezcf6jmszNStktDj3tFSR8srqpcRKyUPDi1eHD81n8vv
28
+ MnMW7zECgZkAwOOGuqJHyUlsVuErs5c/rLyY0NAqrGoiBp3o5fGnuINzrZSO3zvY
29
+ h1jew1zPRQaQvVZ88p0xacYJeRckbKxcIPGweVqpT9ZJAEGg4J6FFcH+fOIra/7R
30
+ TgLJs443xbTO2GM/25Anc/Pj4bnL2GWqDTurTxANAtmKenuWHTcz47Pm5WNhZP/l
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.