fastly 1.5.0 → 1.6.0
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.
- checksums.yaml +4 -4
- data/lib/fastly.rb +1 -24
- data/lib/fastly/client.rb +3 -1
- data/lib/fastly/gem_version.rb +1 -1
- data/test/api_key_test.rb +61 -13
- data/test/common.rb +2 -10
- data/test/helper.rb +9 -1
- metadata +2 -3
- data/lib/fastly/origin.rb +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10d1ee5f00e5a54a06df32a4dbc1e41ce8f8cdb0
|
4
|
+
data.tar.gz: 3f71dd70500900ccc6f9441f527942460e65c370
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ac1c20ca21c3105213e374d01544053cacccbb5d5f2e04bc39705b005c8f21fd1093c1534db32c043bf7ada317d1315e135be0651316260626bd84f16a66f53
|
7
|
+
data.tar.gz: 70ad854b592e01a1d068cc622c44d351269638de477652cfec6b25d955a2a535cc67c192c340953c04a0fe573a990c29d495781a19facce49edf5b7880574e53
|
data/lib/fastly.rb
CHANGED
@@ -22,7 +22,6 @@ require 'fastly/healthcheck'
|
|
22
22
|
require 'fastly/gzip'
|
23
23
|
require 'fastly/invoice'
|
24
24
|
require 'fastly/match'
|
25
|
-
require 'fastly/origin'
|
26
25
|
require 'fastly/request_setting'
|
27
26
|
require 'fastly/response_object'
|
28
27
|
require 'fastly/service'
|
@@ -143,7 +142,7 @@ class Fastly
|
|
143
142
|
client.get_stats('/stats/regions')
|
144
143
|
end
|
145
144
|
|
146
|
-
[User, Customer, Backend, CacheSetting, Condition, Dictionary, DictionaryItem, Director, Domain, Header, Healthcheck, Gzip, Match,
|
145
|
+
[User, Customer, Backend, CacheSetting, Condition, Dictionary, DictionaryItem, Director, Domain, Header, Healthcheck, Gzip, Match, RequestSetting, ResponseObject, Service, S3Logging, Syslog, VCL, Version].each do |klass|
|
147
146
|
type = Util.class_to_path(klass)
|
148
147
|
|
149
148
|
if klass.respond_to?(:pluralize)
|
@@ -203,10 +202,6 @@ class Fastly
|
|
203
202
|
# :method: create_match(opts)
|
204
203
|
# opts must contain service_id, version and name params
|
205
204
|
|
206
|
-
##
|
207
|
-
# :method: create_origin(opts)
|
208
|
-
# opts must contain service_id, version and name params
|
209
|
-
|
210
205
|
##
|
211
206
|
# :method: create_healthcheck(opts)
|
212
207
|
# opts must contain service_id, version and name params
|
@@ -291,10 +286,6 @@ class Fastly
|
|
291
286
|
# :method: get_match(service_id, number, name)
|
292
287
|
# Get a Match
|
293
288
|
|
294
|
-
##
|
295
|
-
# :method: get_origin(service_id, number, name)
|
296
|
-
# Get an Origin
|
297
|
-
|
298
289
|
##
|
299
290
|
# :method: get_s3_logging(service_id, number, name)
|
300
291
|
# Get a S3 logging
|
@@ -394,11 +385,6 @@ class Fastly
|
|
394
385
|
# You can also call
|
395
386
|
# match.save!
|
396
387
|
|
397
|
-
##
|
398
|
-
# :method: update_origin(origin)
|
399
|
-
# You can also call
|
400
|
-
# origin.save!
|
401
|
-
|
402
388
|
##
|
403
389
|
# :method: update_settings(settings)
|
404
390
|
# You can also call
|
@@ -509,11 +495,6 @@ class Fastly
|
|
509
495
|
# You can also call
|
510
496
|
# match.delete!(match)
|
511
497
|
|
512
|
-
##
|
513
|
-
# :method: delete_origin(origin)
|
514
|
-
# You can also call
|
515
|
-
# origin.delete!
|
516
|
-
|
517
498
|
##
|
518
499
|
# :method: delete_s3_logging(s3_logging)
|
519
500
|
# You can also call
|
@@ -608,10 +589,6 @@ class Fastly
|
|
608
589
|
#
|
609
590
|
# Get a list of all matches
|
610
591
|
|
611
|
-
# :method: list_origins(:service_id => service.id, :version => version.number)
|
612
|
-
#
|
613
|
-
# Get a list of all origins
|
614
|
-
|
615
592
|
# :method: list_syslogs(:service_id => service.id, :version => version.number)
|
616
593
|
#
|
617
594
|
# Get a list of all syslogs
|
data/lib/fastly/client.rb
CHANGED
@@ -119,7 +119,9 @@ class Fastly
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def headers(extras={})
|
122
|
-
headers = fully_authed? ? { 'Cookie' => cookie } : {
|
122
|
+
headers = fully_authed? ? { 'Cookie' => cookie } : {}
|
123
|
+
headers['Fastly-Key'] = api_key if api_key
|
124
|
+
|
123
125
|
headers.merge('Content-Accept' => 'application/json', 'User-Agent' => "fastly-ruby-v#{Fastly::VERSION}").merge(extras.keep_if {|k,v| !v.nil? })
|
124
126
|
end
|
125
127
|
|
data/lib/fastly/gem_version.rb
CHANGED
data/test/api_key_test.rb
CHANGED
@@ -24,28 +24,76 @@ class Fastly
|
|
24
24
|
end
|
25
25
|
|
26
26
|
describe 'purging' do
|
27
|
-
|
28
|
-
|
27
|
+
describe 'with only api key' do
|
28
|
+
before do
|
29
|
+
@opts = login_opts(:api_key)
|
29
30
|
@client = Fastly::Client.new(@opts)
|
30
31
|
@fastly = Fastly.new(@opts)
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
service_name = "fastly-test-service-#{random_string}"
|
33
|
+
@service = @fastly.create_service(:name => service_name)
|
34
|
+
end
|
35
|
+
|
36
|
+
after do
|
37
|
+
@fastly.delete_service(@service)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'allows purging' do
|
41
|
+
response = @service.purge_by_key('somekey')
|
42
|
+
|
43
|
+
assert_equal 'ok', response['status']
|
44
|
+
end
|
34
45
|
|
35
|
-
|
36
|
-
|
46
|
+
it 'allows soft purging' do
|
47
|
+
response = @service.purge_by_key('somekey', soft: true)
|
48
|
+
|
49
|
+
assert_equal 'ok', response['status']
|
50
|
+
end
|
37
51
|
end
|
38
52
|
|
39
|
-
|
40
|
-
|
53
|
+
describe 'with cookie and api key' do
|
54
|
+
before do
|
55
|
+
@opts = login_opts(:both)
|
56
|
+
@client = Fastly::Client.new(@opts)
|
57
|
+
@fastly = Fastly.new(@opts)
|
58
|
+
service_name = "fastly-test-service-#{random_string}"
|
59
|
+
@service = @fastly.create_service(:name => service_name)
|
60
|
+
end
|
61
|
+
|
62
|
+
after do
|
63
|
+
@fastly.delete_service(@service)
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'allows purging' do
|
67
|
+
response = @service.purge_by_key('somekey')
|
68
|
+
|
69
|
+
assert_equal 'ok', response['status']
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'allows soft purging' do
|
73
|
+
response = @service.purge_by_key('somekey', soft: true)
|
41
74
|
|
42
|
-
|
75
|
+
assert_equal 'ok', response['status']
|
76
|
+
end
|
43
77
|
end
|
44
78
|
|
45
|
-
|
46
|
-
|
79
|
+
describe 'with cookie only' do
|
80
|
+
before do
|
81
|
+
@opts = login_opts(:full)
|
82
|
+
@client = Fastly::Client.new(@opts)
|
83
|
+
@fastly = Fastly.new(@opts)
|
84
|
+
service_name = "fastly-test-service-#{random_string}"
|
85
|
+
@service = @fastly.create_service(:name => service_name)
|
86
|
+
end
|
87
|
+
|
88
|
+
after do
|
89
|
+
@fastly.delete_service(@service)
|
90
|
+
end
|
47
91
|
|
48
|
-
|
92
|
+
it 'does not allow purging' do
|
93
|
+
assert_raises Fastly::KeyAuthRequired do
|
94
|
+
@service.purge_by_key('somekey')
|
95
|
+
end
|
96
|
+
end
|
49
97
|
end
|
50
98
|
end
|
51
99
|
end
|
data/test/common.rb
CHANGED
@@ -101,14 +101,6 @@ module CommonTests
|
|
101
101
|
assert director.add_backend(backend)
|
102
102
|
# generated2 = version3.generated_vcl
|
103
103
|
|
104
|
-
origin_name = "fastly-test-origin-#{random_string}"
|
105
|
-
origin = @fastly.create_origin(:service_id => service.id, :version => number, :name => origin_name)
|
106
|
-
assert origin
|
107
|
-
assert_equal origin_name, origin.name
|
108
|
-
assert_equal service.id, origin.service.id
|
109
|
-
assert_equal number.to_s, origin.version_number.to_s
|
110
|
-
# assert_equal origin.version.number.to_s, number.to_s
|
111
|
-
|
112
104
|
condition_name = "fastly-test-condition-#{random_string}"
|
113
105
|
condition_statement = 'req.url ~ "^/foo"'
|
114
106
|
condition = @fastly.create_condition(:service_id => service.id, :version => number, :name => condition_name, :statement => condition_statement, :type => 'REQUEST')
|
@@ -149,7 +141,7 @@ module CommonTests
|
|
149
141
|
response_condition_name = "fastly-response-condition-#{random_string}"
|
150
142
|
response_condition = @fastly.create_condition(:service_id => service.id, :version => number, :name => response_condition_name, :statement => condition_statement, :type => 'RESPONSE')
|
151
143
|
header_name = "fastly-header-test-#{random_string}"
|
152
|
-
header = @fastly.create_header(:service_id => service.id, :version => number, :name => header_name, :response_condition => response_condition.name, :ignore_if_set => 1, :type => 'response', :dst => 'http.Cache-Control', :src => '"max-age=301"', :priority => 10, :action => 'set', :regex =>
|
144
|
+
header = @fastly.create_header(:service_id => service.id, :version => number, :name => header_name, :response_condition => response_condition.name, :ignore_if_set => 1, :type => 'response', :dst => 'http.Cache-Control', :src => '"max-age=301"', :priority => 10, :action => 'set', :regex => 'foo')
|
153
145
|
assert header
|
154
146
|
assert_equal header_name, header.name
|
155
147
|
assert_equal response_condition.name, header.response_condition
|
@@ -157,7 +149,7 @@ module CommonTests
|
|
157
149
|
assert_equal 'http.Cache-Control', header.dst
|
158
150
|
assert_equal '"max-age=301"', header.src
|
159
151
|
assert_equal 'set', header.action
|
160
|
-
assert_equal(
|
152
|
+
assert_equal('foo', header.regex)
|
161
153
|
|
162
154
|
assert version3.activate!
|
163
155
|
assert version3.deactivate!
|
data/test/helper.rb
CHANGED
@@ -14,7 +14,15 @@ def login_opts(mode = :full)
|
|
14
14
|
opts["base_#{what}".to_sym] = ENV[key] if ENV.key?(key)
|
15
15
|
end
|
16
16
|
|
17
|
-
required =
|
17
|
+
required = case mode
|
18
|
+
when :full
|
19
|
+
[:user, :password]
|
20
|
+
when :both
|
21
|
+
[:user, :password, :api_key]
|
22
|
+
else
|
23
|
+
[:api_key]
|
24
|
+
end
|
25
|
+
|
18
26
|
required.each do |what|
|
19
27
|
key = "FASTLY_TEST_#{what.to_s.upcase}"
|
20
28
|
unless ENV.key?(key)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fastly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Client library for the Fastly acceleration system
|
14
14
|
email:
|
@@ -52,7 +52,6 @@ files:
|
|
52
52
|
- lib/fastly/healthcheck.rb
|
53
53
|
- lib/fastly/invoice.rb
|
54
54
|
- lib/fastly/match.rb
|
55
|
-
- lib/fastly/origin.rb
|
56
55
|
- lib/fastly/request_setting.rb
|
57
56
|
- lib/fastly/response_object.rb
|
58
57
|
- lib/fastly/s3_logging.rb
|
data/lib/fastly/origin.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
class Fastly
|
2
|
-
# A logical group of directors - for example the asset server directors from all your DCNs
|
3
|
-
class Origin < BelongsToServiceAndVersion
|
4
|
-
attr_accessor :service_id, :name, :comment
|
5
|
-
|
6
|
-
##
|
7
|
-
# :attr: service_id
|
8
|
-
#
|
9
|
-
# The id of the service this belongs to.
|
10
|
-
#
|
11
|
-
|
12
|
-
##
|
13
|
-
# :attr: version
|
14
|
-
#
|
15
|
-
# The number of the version this belongs to.
|
16
|
-
#
|
17
|
-
|
18
|
-
##
|
19
|
-
# :attr: name
|
20
|
-
#
|
21
|
-
# The domain name of this domain
|
22
|
-
|
23
|
-
# Add a Director object to an Origin
|
24
|
-
#
|
25
|
-
# Return true on success and false on failure
|
26
|
-
def add_director(director)
|
27
|
-
hash = fetcher.client.post("#{Origin.put_path(self)}/director/#{director.name}")
|
28
|
-
!hash.nil?
|
29
|
-
end
|
30
|
-
|
31
|
-
# Delete a Director object from an Origin
|
32
|
-
#
|
33
|
-
# Return true on success and false on failure
|
34
|
-
def delete_director(director)
|
35
|
-
hash = fetcher.client.delete("#{Origin.put_path(self)}/director/#{director.name}")
|
36
|
-
!hash.nil?
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|