select_pdf_api 0.0.2 → 0.0.3

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.
@@ -1,3 +1,13 @@
1
1
  $:.unshift File.expand_path('../../lib', __FILE__)
2
+
2
3
  require 'select_pdf_api'
3
- require 'minitest/autorun'
4
+ require 'minitest/autorun'
5
+ require 'webmock/minitest'
6
+ require 'vcr'
7
+
8
+ VCR.configure do |c|
9
+ c.filter_sensitive_data('<KEY>') { ENV['SELECT_PDF_KEY'] }
10
+
11
+ c.cassette_library_dir = "test/fixtures/vcr"
12
+ c.hook_into :webmock
13
+ end
@@ -3,11 +3,14 @@ require './test/minitest_helper'
3
3
  # API test
4
4
  describe SelectPdfApi do
5
5
  let(:fixtures) {"../test/fixtures"}
6
- let(:minimum_config) {"#{fixtures}/minimum-config.yml"}
7
- let(:maximum_config) {"#{fixtures}/all-config.yml"}
8
- let(:blank_config) {"#{fixtures}/blank-config.yml"}
6
+ let(:minimum_config) {"#{fixtures}/minimum-config"}
7
+ let(:maximum_config) {"#{fixtures}/all-config"}
8
+ let(:blank_config) {"#{fixtures}/blank-config"}
9
9
 
10
- let(:select_pdf) {SelectPdfApi.new({url: 'http://www.google.com'})}
10
+ let(:select_pdf) {SelectPdfApi.new({
11
+ url: 'http://www.google.com',
12
+ config: SelectPdfApi::YamlConfig.new(minimum_config)
13
+ })}
11
14
 
12
15
  before do
13
16
  select_pdf.config.load_config(minimum_config)
@@ -54,7 +57,17 @@ describe SelectPdfApi do
54
57
  end
55
58
 
56
59
  def test_it_fails_without_a_url
57
- -> {SelectPdfApi.new.download}.must_raise SelectPdfApi::DownloadError
60
+ VCR.use_cassette('download_no_url') do
61
+ -> {select_pdf.download}.must_raise SelectPdfApi::DownloadError
62
+ end
63
+ end
64
+
65
+ def test_downloads_a_pdf
66
+ VCR.use_cassette('download_pdf') do
67
+ select_pdf.config.options['key'] = ENV["SELECT_PDF_KEY"]
68
+ select_pdf.download
69
+ select_pdf.success?.must_equal true
70
+ end
58
71
  end
59
72
  end
60
73
  end
@@ -0,0 +1,28 @@
1
+ require './test/minitest_helper'
2
+
3
+ # Config test
4
+ describe SelectPdfApi::EnvConfig do
5
+ let(:select_pdf) {SelectPdfApi.new({
6
+ url: "http://www.google.com",
7
+ config: SelectPdfApi::EnvConfig.new
8
+ })}
9
+
10
+ def test_it_exists
11
+ select_pdf.must_be_instance_of SelectPdfApi
12
+ select_pdf.config.must_be_instance_of SelectPdfApi::EnvConfig
13
+ end
14
+
15
+ def test_key_is_loaded_from_env
16
+ env_key = ENV['SELECT_PDF_KEY']
17
+ select_pdf.config.options['key'].must_equal env_key
18
+ end
19
+
20
+ def test_options_must_be_changable
21
+ original_key = ENV['SELECT_PDF_KEY']
22
+ modified_key = "modified-key-123"
23
+
24
+ select_pdf.config.options['key'].must_equal original_key
25
+ select_pdf.config.options['key'] = modified_key
26
+ select_pdf.config.options['key'].must_equal modified_key
27
+ end
28
+ end
@@ -1,13 +1,13 @@
1
1
  require './test/minitest_helper'
2
2
 
3
3
  # Config test
4
- describe SelectPdfApi::YamlFileConfig do
4
+ describe SelectPdfApi::YamlConfig do
5
5
  let(:fixtures) {"../test/fixtures"}
6
6
 
7
- let(:blank_config) {SelectPdfApi::YamlFileConfig.new("#{fixtures}/blank-config.yml")}
8
- let(:minimum_config) {SelectPdfApi::YamlFileConfig.new("#{fixtures}/minimum-config.yml")}
9
- let(:maximum_config) {SelectPdfApi::YamlFileConfig.new("#{fixtures}/all-config.yml")}
10
- let(:invalid_config) {SelectPdfApi::YamlFileConfig.new('invalid_config')}
7
+ let(:blank_config) {SelectPdfApi::YamlConfig.new("#{fixtures}/blank-config")}
8
+ let(:minimum_config) {SelectPdfApi::YamlConfig.new("#{fixtures}/minimum-config")}
9
+ let(:maximum_config) {SelectPdfApi::YamlConfig.new("#{fixtures}/all-config")}
10
+ let(:invalid_config) {SelectPdfApi::YamlConfig.new('invalid_config')}
11
11
 
12
12
  def test_it_should_fail_with_an_invalid_config
13
13
  -> {invalid_config}.must_raise SelectPdfApi::ConfigError
@@ -31,9 +31,9 @@ describe SelectPdfApi::YamlFileConfig do
31
31
  original = {"key"=>"random-valid-api-123abc-345dbc"}
32
32
  modified = {"key"=>"valid-key-123-67ad", "page_size"=>"Letter", "page_orientation"=>"Landscape", "margin_right"=>"2pt", "margin_bottom"=>"2pt", "margin_left"=>"1.25pt", "user_password"=>"user123", "owner_password"=>"owner567"}
33
33
 
34
- config = SelectPdfApi::YamlFileConfig.new("#{fixtures}/minimum-config.yml")
34
+ config = SelectPdfApi::YamlConfig.new("#{fixtures}/minimum-config")
35
35
  config.options.must_equal original
36
- config.load_config("#{fixtures}/all-config.yml")
36
+ config.load_config("#{fixtures}/all-config")
37
37
  config.options.must_equal modified
38
38
  end
39
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: select_pdf_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arian Amador
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-15 00:00:00.000000000 Z
11
+ date: 2015-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,46 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: vcr
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.9'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.9.3
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.9'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.9.3
61
+ - !ruby/object:Gem::Dependency
62
+ name: webmock
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.20'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 1.20.4
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '1.20'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.20.4
41
81
  - !ruby/object:Gem::Dependency
42
82
  name: minitest
43
83
  requirement: !ruby/object:Gem::Requirement
@@ -85,17 +125,22 @@ files:
85
125
  - LICENSE.txt
86
126
  - README.md
87
127
  - Rakefile
128
+ - config/select-pdf-config.yml
88
129
  - lib/select_pdf_api.rb
130
+ - lib/select_pdf_api/env_config.rb
89
131
  - lib/select_pdf_api/exceptions.rb
90
132
  - lib/select_pdf_api/version.rb
91
- - lib/select_pdf_api/yaml_file_config.rb
133
+ - lib/select_pdf_api/yaml_config.rb
92
134
  - select_pdf_api.gemspec
93
135
  - test/fixtures/all-config.yml
94
136
  - test/fixtures/blank-config.yml
95
137
  - test/fixtures/minimum-config.yml
138
+ - test/fixtures/vcr/download_no_url.yml
139
+ - test/fixtures/vcr/download_pdf.yml
96
140
  - test/minitest_helper.rb
97
141
  - test/test_select_pdf_api/test_api.rb
98
- - test/test_select_pdf_api/test_yaml_file_config.rb
142
+ - test/test_select_pdf_api/test_env_config.rb
143
+ - test/test_select_pdf_api/test_yaml_config.rb
99
144
  homepage: https://www.github.com/arian-amador/select_pdf_api
100
145
  licenses:
101
146
  - MIT
@@ -124,6 +169,9 @@ test_files:
124
169
  - test/fixtures/all-config.yml
125
170
  - test/fixtures/blank-config.yml
126
171
  - test/fixtures/minimum-config.yml
172
+ - test/fixtures/vcr/download_no_url.yml
173
+ - test/fixtures/vcr/download_pdf.yml
127
174
  - test/minitest_helper.rb
128
175
  - test/test_select_pdf_api/test_api.rb
129
- - test/test_select_pdf_api/test_yaml_file_config.rb
176
+ - test/test_select_pdf_api/test_env_config.rb
177
+ - test/test_select_pdf_api/test_yaml_config.rb
@@ -1,24 +0,0 @@
1
- class SelectPdfApi
2
- class YamlFileConfig
3
-
4
- def initialize(filename)
5
- @data = {}
6
- load_config filename
7
- end
8
-
9
- def load_config(filename)
10
- config_file = File.join(File.expand_path(File.join('config')), filename)
11
-
12
- raise SelectPdfApi::ConfigError, "Config file #{config_file} does not exist." unless
13
- File.exist? config_file
14
-
15
- @data = YAML::load_file(config_file)
16
-
17
- raise SelectPdfApi::ConfigError, "Error loading values from #{config_file}" unless @data
18
- end
19
-
20
- def options
21
- @data
22
- end
23
- end
24
- end