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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9e495bcc795342695eb34d2fe60ae1d43b44e99e
4
- data.tar.gz: 1765e2fc100394d5244f369ca130351cabacb37a
3
+ metadata.gz: 914b7fbad3c0d0ed522fc273fcd6ba9438145a1d
4
+ data.tar.gz: 394dc862cf3b382732edcd9b185ff85df7458939
5
5
  SHA512:
6
- metadata.gz: 177544dfed171ecbc43f81e8151d800d38c7f199bd627aea62935da083994fce5cafaf5e936afc1596fdc04047d1b475b3cb0b14f4ebc7514ee41f1bbaa399da
7
- data.tar.gz: 370c320802c05f34e53660f006e5d59b66e5a0ffdc5c880be5d04c803fe653d9d365b8daaed9f16f2454806302cb1cb9d35b204914bbbb8c19843d0fa119048d
6
+ metadata.gz: 46c3ae48538e9816e82a9922a772689e7092c418156edf1bfaddda3187cfe3862df5384406d3ac6c28363c8e6e41dbd58ade0012edc8c8fce311cb00a750745c
7
+ data.tar.gz: 3ef3d7a67c150e3e1374c19499236594bf971a63fb57373cfad70f52b550e9b0805ee7e7fe4eadf776b29bf4a0f838a8b8e07112ad6aba0d08af4356a4d67b0a
@@ -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
- system <<~SCRIPT
546
- cd "#{ENV['HOME']}"
547
- curl -s -k -o "cacert-root.crt" "http://www.cacert.org/certs/root.crt"
548
- curl -s -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt"
549
- echo > .password
550
- mkdir -p .pki/nssdb
551
- CERT_DIR=sql:$HOME/.pki/nssdb
552
- certutil -N -d .pki/nssdb -f .password
553
- certutil -d ${CERT_DIR} -A -t TC \
554
- -n "CAcert.org" -i cacert-root.crt
555
- certutil -d ${CERT_DIR} -A -t TC \
556
- -n "CAcert.org Class 3" -i cacert-class3.crt
557
- certutil -d sql:$HOME/.pki/nssdb -A \
558
- -n puffing-billy -t "CT,C,C" -i #{Billy.certificate_authority.cert_file}
559
- SCRIPT
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)
@@ -1,3 +1,3 @@
1
1
  module Billy
2
- VERSION = '0.11.0'
2
+ VERSION = '0.11.1'
3
3
  end
@@ -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
- gem.add_development_dependency 'selenium-webdriver'
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', '>= 1.0.4'
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.0
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-10 00:00:00.000000000 Z
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: '0'
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: '0'
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