tinify 1.2.0 → 1.5.1

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/test/tinify_test.rb CHANGED
@@ -34,6 +34,22 @@ describe Tinify do
34
34
  end
35
35
  end
36
36
 
37
+ describe "proxy" do
38
+ before do
39
+ stub_request(:get, "https://api:abcde@api.tinify.com").to_return(status: 200)
40
+ end
41
+
42
+ it "should reset client with new proxy" do
43
+ Tinify.key = "abcde"
44
+ Tinify.proxy = "http://localhost"
45
+ Tinify.client
46
+ Tinify.proxy = "http://user:pass@localhost:8080"
47
+ Tinify.client.request(:get, "/")
48
+ assert_requested :get, "https://api:abcde@api.tinify.com",
49
+ headers: { "Proxy-Authorization" => "Basic dXNlcjpwYXNz" }
50
+ end
51
+ end
52
+
37
53
  describe "client" do
38
54
  describe "with key" do
39
55
  it "should return client" do
@@ -49,6 +65,16 @@ describe Tinify do
49
65
  end
50
66
  end
51
67
  end
68
+
69
+ describe "with invalid proxy" do
70
+ it "should raise error" do
71
+ assert_raises Tinify::ConnectionError do
72
+ Tinify.key = "abcde"
73
+ Tinify.proxy = "http-bad-url"
74
+ Tinify.client
75
+ end
76
+ end
77
+ end
52
78
  end
53
79
 
54
80
  describe "validate" do
@@ -58,7 +84,22 @@ describe Tinify do
58
84
 
59
85
  stub_request(:post, "https://api:valid@api.tinify.com/shrink").to_return(
60
86
  status: 400,
61
- body: '{"error":"InputMissing","message":"No input"}'
87
+ body: '{"error":"Input missing","message":"No input"}'
88
+ )
89
+ end
90
+
91
+ it "should return true" do
92
+ assert_equal true, Tinify.validate!
93
+ end
94
+ end
95
+
96
+ describe "with limited key" do
97
+ before do
98
+ Tinify.key = "valid"
99
+
100
+ stub_request(:post, "https://api:valid@api.tinify.com/shrink").to_return(
101
+ status: 429,
102
+ body: '{"error":"Too many requests","message":"Your monthly limit has been exceeded"}'
62
103
  )
63
104
  end
64
105
 
data/update-cacert.sh ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ dir=lib/data
3
+
4
+ cert=0
5
+ curl --silent --fail https://curl.se/ca/cacert.pem | while read -r line; do
6
+ if [ "-----BEGIN CERTIFICATE-----" == "$line" ]; then
7
+ cert=1
8
+ echo "$line"
9
+ elif [ "-----END CERTIFICATE-----" == "$line" ]; then
10
+ cert=0
11
+ echo "$line"
12
+ else
13
+ if [ $cert == 1 ]; then
14
+ echo "$line"
15
+ fi
16
+ fi
17
+ done > "$dir/cacert.pem"
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tinify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rolf Timmermans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-29 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.7'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '5.5'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '5.5'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.20'
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
82
  version: '1.20'
83
83
  description: Ruby client for the Tinify API. Tinify compresses your images intelligently.
@@ -88,7 +88,8 @@ executables: []
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
- - .travis.yml
91
+ - ".travis.yml"
92
+ - CHANGES.md
92
93
  - Gemfile
93
94
  - Gemfile.lock
94
95
  - LICENSE
@@ -112,6 +113,7 @@ files:
112
113
  - test/tinify_source_test.rb
113
114
  - test/tinify_test.rb
114
115
  - tinify.gemspec
116
+ - update-cacert.sh
115
117
  homepage: https://tinify.com/developers
116
118
  licenses:
117
119
  - MIT
@@ -122,17 +124,16 @@ require_paths:
122
124
  - lib
123
125
  required_ruby_version: !ruby/object:Gem::Requirement
124
126
  requirements:
125
- - - ! '>='
127
+ - - ">="
126
128
  - !ruby/object:Gem::Version
127
129
  version: '0'
128
130
  required_rubygems_version: !ruby/object:Gem::Requirement
129
131
  requirements:
130
- - - ! '>='
132
+ - - ">="
131
133
  - !ruby/object:Gem::Version
132
134
  version: '0'
133
135
  requirements: []
134
- rubyforge_project:
135
- rubygems_version: 2.4.5
136
+ rubygems_version: 3.0.8
136
137
  signing_key:
137
138
  specification_version: 4
138
139
  summary: Ruby client for the Tinify API.