puffing-billy 0.11.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +47 -15
- data/lib/billy/version.rb +1 -1
- data/puffing-billy.gemspec +3 -2
- metadata +6 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 914b7fbad3c0d0ed522fc273fcd6ba9438145a1d
|
4
|
+
data.tar.gz: 394dc862cf3b382732edcd9b185ff85df7458939
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46c3ae48538e9816e82a9922a772689e7092c418156edf1bfaddda3187cfe3862df5384406d3ac6c28363c8e6e41dbd58ade0012edc8c8fce311cb00a750745c
|
7
|
+
data.tar.gz: 3ef3d7a67c150e3e1374c19499236594bf971a63fb57373cfad70f52b550e9b0805ee7e7fe4eadf776b29bf4a0f838a8b8e07112ad6aba0d08af4356a4d67b0a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
v0.11.1, 2017-12-22
|
2
|
+
-------------------
|
3
|
+
* Prevent eventmachine from installing 1.2.x [#206](https://github.com/oesmith/puffing-billy/pull/206)
|
4
|
+
* Prevent selenium-webdriver from installing 3.8 [#209](https://github.com/oesmith/puffing-billy/pull/209)
|
5
|
+
|
1
6
|
v0.11.0, 2017-11-09
|
2
7
|
-------------------
|
3
8
|
* Improved semantic versioning of dependencies [#197](https://github.com/oesmith/puffing-billy/pull/197)
|
data/README.md
CHANGED
@@ -533,6 +533,12 @@ new store for your current session. The following examples demonstrates the
|
|
533
533
|
former variant:
|
534
534
|
|
535
535
|
```ruby
|
536
|
+
# Install the fabulous `os` gem first
|
537
|
+
# See: https://rubygems.org/gems/os
|
538
|
+
# gem install os
|
539
|
+
#
|
540
|
+
# --
|
541
|
+
|
536
542
|
# Overwrite the local home directory for chrome. We use this
|
537
543
|
# to setup a custom SSL certificate store.
|
538
544
|
ENV['HOME'] = "#{Dir.tmpdir}/chrome-home-#{Time.now.to_i}"
|
@@ -542,27 +548,53 @@ FileUtils.rm_rf(ENV['HOME'])
|
|
542
548
|
FileUtils.mkdir_p(ENV['HOME'])
|
543
549
|
|
544
550
|
# Setup a new pki certificate database for Chrome
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
curl -s -k -o "cacert-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
certutil -
|
554
|
-
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
551
|
+
if OS.linux?
|
552
|
+
system <<~SCRIPT
|
553
|
+
cd "#{ENV['HOME']}"
|
554
|
+
curl -s -k -o "cacert-root.crt" "http://www.cacert.org/certs/root.crt"
|
555
|
+
curl -s -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt"
|
556
|
+
echo > .password
|
557
|
+
mkdir -p .pki/nssdb
|
558
|
+
CERT_DIR=sql:$HOME/.pki/nssdb
|
559
|
+
certutil -N -d .pki/nssdb -f .password
|
560
|
+
certutil -d ${CERT_DIR} -A -t TC \
|
561
|
+
-n "CAcert.org" -i cacert-root.crt
|
562
|
+
certutil -d ${CERT_DIR} -A -t TC \
|
563
|
+
-n "CAcert.org Class 3" -i cacert-class3.crt
|
564
|
+
certutil -d sql:$HOME/.pki/nssdb -A \
|
565
|
+
-n puffing-billy -t "CT,C,C" -i #{Billy.certificate_authority.cert_file}
|
566
|
+
SCRIPT
|
567
|
+
end
|
568
|
+
|
569
|
+
# Setup the macOS certificate store
|
570
|
+
if OS.mac?
|
571
|
+
prompt = 'Add Puffing Billy root certificate authority ' \
|
572
|
+
'to system certificate store'
|
573
|
+
system <<~SCRIPT
|
574
|
+
sudo -p "# #{prompt}`echo $'\nPassword: '`" \
|
575
|
+
security find-certificate -a -Z -c 'Puffing Billy' \
|
576
|
+
| grep 'SHA-1 hash' | cut -d ':' -f2 | xargs -n1 \
|
577
|
+
sudo security delete-certificate -Z >/dev/null 2>&1 || true
|
578
|
+
sudo security add-trusted-cert -d -r trustRoot \
|
579
|
+
-k /Library/Keychains/System.keychain \
|
580
|
+
#{Billy.certificate_authority.cert_file}
|
581
|
+
SCRIPT
|
582
|
+
end
|
560
583
|
```
|
561
584
|
|
562
585
|
Mind the reset of the `HOME` environment variable. Fortunately Chrome takes
|
563
586
|
care of the users home, so we can setup a new temporary directory for the test
|
564
587
|
run, without messing with potential user configurations.
|
565
588
|
|
589
|
+
The macOS support requires the input of your password to manipulate the system
|
590
|
+
certificate store. If you are lazy you can turn off sudo password prompt for
|
591
|
+
the security command, but it's strongly advised against. (You know passwordless
|
592
|
+
security, is no security in this case) Further, the macOS handling here cleans
|
593
|
+
up old Puffing Billy root certificate authorities and put the current one into
|
594
|
+
the system store. So after a run of your the suite only one certificate will be
|
595
|
+
left over. If this is not enough you can handling the cleanup again with a
|
596
|
+
custom on-after hook.
|
597
|
+
|
566
598
|
## Resources
|
567
599
|
|
568
600
|
* [Bring Ruby VCR to Javascript testing with Capybara and puffing-billy](http://architects.dzone.com/articles/bring-ruby-vcr-javascript)
|
data/lib/billy/version.rb
CHANGED
data/puffing-billy.gemspec
CHANGED
@@ -19,7 +19,8 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.add_development_dependency 'thin'
|
20
20
|
gem.add_development_dependency 'faraday'
|
21
21
|
gem.add_development_dependency 'poltergeist'
|
22
|
-
|
22
|
+
# selenium-webdriver 3.8 drops support for PhantomJS
|
23
|
+
gem.add_development_dependency 'selenium-webdriver', '<= 3.7.0'
|
23
24
|
gem.add_development_dependency 'capybara'
|
24
25
|
gem.add_development_dependency 'capybara-webkit', '~> 1.0'
|
25
26
|
gem.add_development_dependency 'rack'
|
@@ -30,7 +31,7 @@ Gem::Specification.new do |gem|
|
|
30
31
|
gem.add_development_dependency 'watir-webdriver', '0.9.1'
|
31
32
|
# addressable 2.5.0 drops support for ruby 1.9.3
|
32
33
|
gem.add_runtime_dependency 'addressable', '~> 2.4', '>= 2.4.0'
|
33
|
-
gem.add_runtime_dependency 'eventmachine', '~> 1.0
|
34
|
+
gem.add_runtime_dependency 'eventmachine', '~> 1.0.4'
|
34
35
|
gem.add_runtime_dependency 'em-synchrony'
|
35
36
|
gem.add_runtime_dependency 'em-http-request', '~> 1.1', '>= 1.1.0'
|
36
37
|
gem.add_runtime_dependency 'eventmachine_httpserver'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puffing-billy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Olly Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: selenium-webdriver
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "<="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 3.7.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "<="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 3.7.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: capybara
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,9 +217,6 @@ dependencies:
|
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|
218
218
|
requirements:
|
219
219
|
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '1.0'
|
222
|
-
- - ">="
|
223
220
|
- !ruby/object:Gem::Version
|
224
221
|
version: 1.0.4
|
225
222
|
type: :runtime
|
@@ -227,9 +224,6 @@ dependencies:
|
|
227
224
|
version_requirements: !ruby/object:Gem::Requirement
|
228
225
|
requirements:
|
229
226
|
- - "~>"
|
230
|
-
- !ruby/object:Gem::Version
|
231
|
-
version: '1.0'
|
232
|
-
- - ">="
|
233
227
|
- !ruby/object:Gem::Version
|
234
228
|
version: 1.0.4
|
235
229
|
- !ruby/object:Gem::Dependency
|