fastly 2.5.1 → 3.0.2

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
  SHA256:
3
- metadata.gz: 62353a67eda44f30059b1cbc9a7001d1693140051ee9024f18d8b09cecb9eebe
4
- data.tar.gz: 57ed549bbcc4ada2f93ae17b1d82285a49e592618686afea2fa32cd65e334794
3
+ metadata.gz: 7a8a72b52675780f42dfcb7638e5992d1cbda77b4e1b826d73c2230404efbad8
4
+ data.tar.gz: '0878ef856b74957ea849a2337234e107d81bca5f7865e7ad5ce7d4e325b671f8'
5
5
  SHA512:
6
- metadata.gz: 3f67f5f3419d2fe002d7ef354deaf84e79caca0cb7cb6473feb35199fbd78bca383fbbe3356f3f7e00f0236f8ef853ba7d19fa0b0e4c8826b8d3f2ffef63051c
7
- data.tar.gz: '09387848c4cee5c2066596dd7a908db84e7a08e0c16c6394ffca91fa68597a1336f19c82be326350061c4541135e21a0a221ed37a1d2dc2378c7db9352561253'
6
+ metadata.gz: c1d289d047370ea5933e0d3dbd510f7253395e4c2b0bbb047972d9dd12323c0c73efbc221351ad7681815e98c4353ce2892d9bb9e9f04a2d9fc3a1dbe007cc07
7
+ data.tar.gz: 4c2493a600ad80631d598bee61ef773550149b14d8f1685ea55925ef997ef96669990748c5e935d61983d73267cef19ae78176c857b046faf9794db007dae859
data/.env.example ADDED
@@ -0,0 +1,3 @@
1
+ FASTLY_TEST_USER=
2
+ FASTLY_TEST_PASSWORD=
3
+ FASTLY_TEST_API_KEY=
data/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
1
1
  # Change Log
2
2
 
3
+ ## [v3.0.2](https://github.com/fastly/fastly-ruby/tree/v3.0.2) (2021-06-30)
4
+
5
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v3.0.1...v3.0.2)
6
+
7
+ **Merged pull requests:**
8
+
9
+ - Fix SumoLogic Logging [\#180](https://github.com/fastly/fastly-ruby/pull/180) ([integralist](https://github.com/integralist))
10
+
11
+ ## [v3.0.1](https://github.com/fastly/fastly-ruby/tree/v3.0.1) (2021-02-03)
12
+
13
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v3.0.0...v3.0.1)
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Remove deprecation warning [\#174](https://github.com/fastly/fastly-ruby/pull/174) ([conniechu929](https://github.com/conniechu929))
18
+
19
+ ## [v3.0.0](https://github.com/fastly/fastly-ruby/tree/v3.0.0) (2021-02-03)
20
+
21
+ [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v2.5.3...v3.0.0)
22
+
23
+ **Merged pull requests:**
24
+
25
+ - Removes session authentication [\#170](https://github.com/fastly/fastly-ruby/pull/170) ([conniechu929](https://github.com/conniechu929))
26
+
3
27
  ## [v2.5.0](https://github.com/fastly/fastly-ruby/tree/v2.5.0) (2020-01-16)
28
+
4
29
  [Full Changelog](https://github.com/fastly/fastly-ruby/compare/v2.4.0...v2.5.0)
5
30
 
6
31
  **Merged pull requests:**
data/Gemfile CHANGED
@@ -4,10 +4,15 @@ gemspec
4
4
 
5
5
  group :development, :test do
6
6
  gem 'appraisal', '~> 2.1'
7
- gem 'rake', '~> 10.3.2'
7
+ gem 'byebug'
8
+ gem 'rake', '>= 12.3.3'
8
9
  gem 'rdoc', '~> 4.1.1'
9
10
  gem 'minitest', '~> 5.3.4'
10
11
  gem 'pry'
11
12
  gem 'rubocop', '~> 0.57.2', require: false
12
13
  gem 'webmock'
13
14
  end
15
+
16
+ group :test do
17
+ gem 'dotenv'
18
+ end
data/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Client library for interacting with the Fastly web acceleration service [API](http://docs.fastly.com/api)
4
4
 
5
+ ### A Note About Authentication
6
+
7
+ Authenticating with a username/password is deprecated and will no longer be available starting September 2020.
8
+
9
+ Authenticating with an API Token is shown in the example section below. For more information on API Tokens, please see [Fastly's API Token documentation](https://developer.fastly.com/reference/api/auth/). For more information about authenticating to our API, please see our [Authentication section](https://developer.fastly.com/reference/api/#authentication).
10
+
5
11
  ## Examples
6
12
 
7
13
  Add fastly to your Gemfile:
@@ -13,7 +19,8 @@ Create a fastly client:
13
19
 
14
20
  ```ruby
15
21
  # some_file.rb
16
- # use {api_key: 'your-key'} or {user: 'username', password: 'password'} as login options
22
+ # username/password authentication is deprecated and will not be available
23
+ # starting September 2020; use {api_key: 'your-key'} as the login option
17
24
  fastly = Fastly.new(login_opts)
18
25
 
19
26
  current_user = fastly.current_user
@@ -202,19 +209,23 @@ This option should not be used in a production setting as all HTTP headers, requ
202
209
 
203
210
  ### Notes for testing
204
211
 
205
- The test suite requires the following `ENV` variables to be set:
212
+ The test suite tests create and delete three services in sequence, so you may want to create an account just for these tests.
213
+
214
+ To run the test suite:
215
+
216
+ 1. Generate a personal token for these tests: https://manage.fastly.com/account/personal/tokens
217
+
218
+ 2. Copy `.env.example` to `.env` and add the values for the variables:
206
219
 
207
- * `FASTLY_TEST_USER` - Your user email
208
- * `FASTLY_TEST_PASSWORD` - Your account password
209
- * `FASTLY_TEST_API_KEY` - Your API key (found at https://app.fastly.com/#account)
220
+ * `FASTLY_TEST_USER` - Your user email
221
+ * `FASTLY_TEST_PASSWORD` - Your account password
222
+ * `FASTLY_TEST_API_KEY` - Your personal token
210
223
 
211
- While the test suite is safe to be run on all accounts and isn't harmful to your
212
- data, the tests will create and delete 3 services in sequence so you may want
213
- to create an account just for tests.
224
+ 3. Run the tests via `bundle exec rake test:unit`
214
225
 
215
226
  ## Copyright
216
227
 
217
- Copyright 2011-2014 - Fastly Inc
228
+ Copyright 2011-2020 - Fastly, Inc.
218
229
 
219
230
  ## Redistribution
220
231
 
data/RELEASE.md ADDED
@@ -0,0 +1,15 @@
1
+ **Release Process**
2
+
3
+ 1. Sign up for an account on Ruby Gems (https://rubygems.org/sign_up)
4
+ 2. Go to the `#app-eng-backends` channel and get added to the ruby gem (https://rubygems.org/gems/fastly)
5
+ 3. Merge PR after CI passes
6
+ 4. Open new PR to update `CHANGELOG.md`
7
+ 5. Merge `CHANGELOG.md` PR
8
+ 6. Rebase latest remote master branch locally (`git pull --rebase origin master`).
9
+ 7. Tag a new release (`git tag vX.Y.Z && git push origin vX.Y.Z`)
10
+ 8. Copy and paste `CHANGELOG.md` into the draft release
11
+ 9. Publish draft release
12
+ 10. Publish the gem to RubyGems.org (you will need your username and password on Ruby Gems)
13
+
14
+ - generate a new gem spec file with the new version `gem build fastly.gemspec`
15
+ - update RubyGems.org `gem push fastly-{VERSION}.gem`
data/lib/fastly.rb CHANGED
@@ -55,8 +55,8 @@ class Fastly
55
55
  #
56
56
  # Some methods require full username and password rather than just auth token.
57
57
  def initialize(opts)
58
- if opts[:api_key].nil? && (opts[:password].nil? || opts[:user].nil?)
59
- raise ArgumentError, "Required options missing. Please pass either ':api_key' or both ':user' and ':password'."
58
+ if opts[:api_key].nil?
59
+ raise ArgumentError, "Required option missing. Please pass ':api_key'."
60
60
  end
61
61
 
62
62
  client(opts)
@@ -152,7 +152,34 @@ class Fastly
152
152
  client.get_stats('/stats/regions')
153
153
  end
154
154
 
155
- [ACL, ACLEntry, User, Customer, Backend, CacheSetting, Condition, Dictionary, DictionaryItem, Director, Domain, Header, Healthcheck, Gzip, Match, PapertrailLogging, RequestSetting, ResponseObject, Service, Snippet, S3Logging, Syslog, Token, VCL, Version].each do |klass|
155
+ [
156
+ ACL,
157
+ ACLEntry,
158
+ Backend,
159
+ CacheSetting,
160
+ Condition,
161
+ Customer,
162
+ Dictionary,
163
+ DictionaryItem,
164
+ Director,
165
+ Domain,
166
+ Gzip,
167
+ Header,
168
+ Healthcheck,
169
+ Match,
170
+ PapertrailLogging,
171
+ RequestSetting,
172
+ ResponseObject,
173
+ S3Logging,
174
+ Service,
175
+ Snippet,
176
+ SumologicLogging,
177
+ Syslog,
178
+ Token,
179
+ User,
180
+ VCL,
181
+ Version,
182
+ ].each do |klass|
156
183
  type = Util.class_to_path(klass)
157
184
 
158
185
  if klass.respond_to?(:pluralize)
@@ -16,9 +16,9 @@ class Fastly
16
16
  end
17
17
 
18
18
  # Get the number of the Version this belongs to
19
- def version_number # rubocop:disable all
20
- @version
21
- end # rubocop:enable all
19
+ def version_number
20
+ @version ||= nil
21
+ end
22
22
 
23
23
  # :nodoc:
24
24
  def as_hash
data/lib/fastly/client.rb CHANGED
@@ -11,7 +11,7 @@ class Fastly
11
11
 
12
12
  DEFAULT_URL = 'https://api.fastly.com'.freeze
13
13
 
14
- attr_accessor :api_key, :base_url, :debug, :user, :password, :cookie, :customer
14
+ attr_accessor :api_key, :base_url, :debug, :user, :password, :customer
15
15
 
16
16
  def initialize(opts)
17
17
  @api_key = opts.fetch(:api_key, nil)
@@ -25,18 +25,8 @@ class Fastly
25
25
  Concurrent::ThreadLocalVar.new { build_http_client }
26
26
  end
27
27
 
28
- return self unless fully_authed?
29
-
30
- # If full auth creds (user/pass) then log in and set a cookie
31
- resp = http.post(
32
- '/login',
33
- make_params(user: user, password: password),
34
- {'Content-Type' => 'application/x-www-form-urlencoded'}
35
- )
36
- if resp.kind_of?(Net::HTTPSuccess)
37
- @cookie = resp['Set-Cookie']
38
- else
39
- fail Unauthorized, "Invalid auth credentials. Check username/password."
28
+ if api_key.nil?
29
+ fail Unauthorized, "Invalid auth credentials. Check api_key."
40
30
  end
41
31
 
42
32
  self
@@ -146,9 +136,7 @@ class Fastly
146
136
 
147
137
  def headers(extras={}, include_auth=true)
148
138
  headers = {}
149
- # Some endpoints (POST /tokens) break if any auth headers including cookies are sent
150
139
  if include_auth
151
- headers['Cookie'] = cookie if fully_authed?
152
140
  headers['Fastly-Key'] = api_key if api_key
153
141
  end
154
142
  headers.merge('Content-Accept' => 'application/json', 'User-Agent' => "fastly-ruby-v#{Fastly::VERSION}").merge(extras.keep_if {|k,v| !v.nil? })
@@ -1,4 +1,4 @@
1
1
  # The current version of the library
2
2
  class Fastly
3
- VERSION = "2.5.1"
3
+ VERSION = "3.0.2"
4
4
  end
@@ -2,7 +2,8 @@
2
2
  class Fastly
3
3
  # Represents something you want to serve - this can be, for example, a whole web site, a Wordpress site, or just your image servers
4
4
  class Service < Base
5
- attr_accessor :id, :customer_id, :name, :comment, :versions
5
+ attr_accessor :id, :customer_id, :name, :comment
6
+ attr_writer :versions
6
7
 
7
8
  @versions = []
8
9
 
data/lib/fastly/token.rb CHANGED
@@ -21,12 +21,16 @@ class Fastly
21
21
  end
22
22
 
23
23
  def new_token(opts)
24
- opts[:username] = client.user
25
- opts[:password] = client.password
26
- opts[:include_auth] = false
27
-
28
- token = create(Token, opts)
29
- token.nil? ? nil : token
24
+ if client.fully_authed?
25
+ opts[:username] = client.user
26
+ opts[:password] = client.password
27
+ opts[:include_auth] = false
28
+
29
+ token = create(Token, opts)
30
+ token.nil? ? nil : token
31
+ else
32
+ raise ArgumentError, "Required options missing. Please pass :api_key, :user and :password."
33
+ end
30
34
  end
31
35
 
32
36
  def customer_tokens(opts)
data/test/api_key_test.rb CHANGED
@@ -50,7 +50,7 @@ class Fastly
50
50
  end
51
51
  end
52
52
 
53
- describe 'with cookie and api key' do
53
+ describe 'with username/password and api key' do
54
54
  before do
55
55
  @opts = login_opts(:both)
56
56
  @client = Fastly::Client.new(@opts)
@@ -75,26 +75,6 @@ class Fastly
75
75
  assert_equal 'ok', response['status']
76
76
  end
77
77
  end
78
-
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
91
-
92
- it 'does not allow purging' do
93
- assert_raises Fastly::KeyAuthRequired do
94
- @service.purge_by_key('somekey')
95
- end
96
- end
97
- end
98
78
  end
99
79
  end
100
80
  end
@@ -12,7 +12,7 @@ describe Fastly::Client do
12
12
  }
13
13
  end
14
14
 
15
- it 'does not log in if user/pass are not provided' do
15
+ it 'does not set the user/pass if they are not provided' do
16
16
  client = Fastly::Client.new(api_key: api_key)
17
17
 
18
18
  assert_equal api_key, client.api_key
@@ -20,13 +20,17 @@ describe Fastly::Client do
20
20
  assert_equal nil, client.password
21
21
  end
22
22
 
23
+ it 'raises Unauthorized if api_key is not passed in the options' do
24
+ assert_raises(Fastly::Unauthorized) { Fastly::Client.new(user: user, password: password)}
25
+ end
26
+
23
27
  it 'raises Unauthorized if user/pass provided but are invalid' do
24
28
  stub_request(:any, /api.fastly.com/).to_return(status: 400)
25
29
 
26
30
  e = assert_raises(Fastly::Unauthorized) {
27
- Fastly::Client.new(user: user, password: pass)
31
+ Fastly::Client.new(user: user, password: password)
28
32
  }
29
- assert_equal "Invalid auth credentials. Check username/password.", e.message
33
+ assert_equal "Invalid auth credentials. Check api_key.", e.message
30
34
  end
31
35
 
32
36
  it 'initializes an http client' do
@@ -38,23 +42,13 @@ describe Fastly::Client do
38
42
  assert client.http.use_ssl?
39
43
  end
40
44
 
41
- it 'sets a cookie when auth with valid user/pass' do
42
- stub_request(:any, /api.fastly.com/).
43
- to_return(body: JSON.generate(i: "dont care"), status: 200, headers: { 'Set-Cookie' => 'tasty!' })
44
-
45
- client = Fastly::Client.new(user: user, password: pass)
46
- assert_equal "tasty!", client.cookie
47
- end
48
-
49
45
  it 'raises an Error if username is used in place of user as an option' do
50
46
  stub_request(:any, /api.fastly.com/).
51
- to_return(body: JSON.generate(i: "dont care"), status: 200, headers: { 'Set-Cookie' => 'tasty!' })
47
+ to_return(body: JSON.generate(i: "dont care"), status: 200)
52
48
 
53
- assert_raises(ArgumentError) { Fastly.new(username: user, password: pass) }
49
+ assert_raises(ArgumentError) { Fastly.new(username: user, password: password) }
54
50
 
55
- Fastly.new(user: user, password: pass)
56
- Fastly.new(api_key: api_key)
57
- Fastly.new(api_key: api_key, user: user, password: pass)
51
+ Fastly.new(api_key: api_key, user: user, password: password)
58
52
  end
59
53
  end
60
54
 
@@ -7,7 +7,7 @@ describe Fastly::Customer do
7
7
  let(:owner_id) { SecureRandom.hex(6) }
8
8
 
9
9
  let(:customer) do
10
- stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200, headers: { 'Set-Cookie' => 'tasty!' })
10
+ stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200)
11
11
 
12
12
  customer_body = JSON.dump(
13
13
  'id' => customer_id,
@@ -2,13 +2,13 @@ require_relative '../test_helper'
2
2
 
3
3
  describe Fastly::Dictionary do
4
4
 
5
- let(:client) { Fastly.new(user: 'test@example.com', password: 'password') }
5
+ let(:client) { Fastly.new(api_key: 'notasecrettestkey') }
6
6
  let(:service_id) { SecureRandom.hex(6) }
7
7
  let(:version) { 1 }
8
8
  let(:dictionary) { Fastly::Dictionary.new({id: SecureRandom.hex(6), service_id: service_id, version: 1}, client) }
9
9
 
10
10
  before {
11
- stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200, headers: { 'Set-Cookie' => 'tasty!' })
11
+ stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200)
12
12
  }
13
13
 
14
14
  describe '#item' do
@@ -0,0 +1,44 @@
1
+ require_relative '../test_helper'
2
+
3
+ describe Fastly::SumologicLogging do
4
+ let(:client) { Fastly.new(api_key: 'notasecrettestkey', user: 'test@example.com', password: 'password') }
5
+ let(:service_id) { SecureRandom.hex(6) }
6
+ let(:version) { 1 }
7
+ let(:sumo) { Fastly::SumologicLogging.new({ name: 'test_syslog', service_id: service_id, version: 1 }, client) }
8
+
9
+ before do
10
+ stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200)
11
+ end
12
+
13
+ describe '#list' do
14
+ it 'lists sumologic endpoints' do
15
+ response_body = JSON.dump(
16
+ [
17
+ {
18
+ 'created_at' => '2020-07-15T19:34:48Z',
19
+ 'format_version' => '2',
20
+ 'message_type' => 'blank',
21
+ 'placement' => 'none',
22
+ 'response_condition' => '',
23
+ 'deleted_at' => nil,
24
+ 'version' => '74',
25
+ 'url' => 'https://endpoint1.collection.us2.sumologic.com/stuff',
26
+ 'updated_at' => '2021-06-15T21:56:35Z',
27
+ 'format' => 'fake',
28
+ 'name' => 'Sumo Logic',
29
+ 'service_id' => service_id
30
+ }
31
+ ]
32
+ )
33
+
34
+ list_url = "#{Fastly::Client::DEFAULT_URL}/service/#{service_id}/version/#{version}/#{Fastly::SumologicLogging.path}"
35
+ stub_request(:get, list_url).to_return(body: response_body, status: 200)
36
+
37
+ get_service_url = "#{Fastly::Client::DEFAULT_URL}/service/#{service_id}/version/#{version}"
38
+ stub_request(:get, get_service_url).to_return(status: 200, body: '{}', headers: {})
39
+
40
+ sumos = client.list_sumologic_loggings(service_id: service_id, version: version)
41
+ assert_equal sumos.map {|s| [s.name, s.format]}, [['Sumo Logic', 'fake']]
42
+ end
43
+ end
44
+ end
@@ -2,13 +2,13 @@ require_relative '../test_helper'
2
2
 
3
3
  describe Fastly::Syslog do
4
4
 
5
- let(:client) { Fastly.new(user: 'test@example.com', password: 'password') }
5
+ let(:client) { Fastly.new(api_key: 'notasecrettestkey', user: 'test@example.com', password: 'password') }
6
6
  let(:service_id) { SecureRandom.hex(6) }
7
7
  let(:version) { 1 }
8
8
  let(:syslog) { Fastly::Syslog.new({ name: 'test_syslog', service_id: service_id, version: 1 }, client) }
9
9
 
10
10
  before {
11
- stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200, headers: { 'Set-Cookie' => 'tasty!' })
11
+ stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200)
12
12
  }
13
13
 
14
14
  describe '#item' do
@@ -1,17 +1,14 @@
1
1
  require_relative '../test_helper'
2
2
 
3
3
  describe Fastly::Token do
4
-
5
- let(:elevated_fastly) { Fastly.new(user: 'test@example.com', password: 'password') }
6
- let(:fastly) { Fastly.new(api_key:'my_api_key') }
4
+ let(:fastly) { Fastly.new(api_key:'my_api_key', user: 'test@example.com', password: 'password') }
7
5
 
8
6
  before {
9
- stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200, headers: { 'Set-Cookie' => 'tasty!' })
7
+ stub_request(:post, "#{Fastly::Client::DEFAULT_URL}/login").to_return(body: '{}', status: 200)
10
8
  }
11
9
 
12
10
  describe '#fastly' do
13
-
14
- it 'cannot create itself because POST /tokens must have no auth headers)' do
11
+ it 'cannot create itself because POST /tokens must have no auth headers' do
15
12
  stub_request(:post, "https://api.fastly.com/tokens").
16
13
  with(
17
14
  body: {"name"=>"name_of_token", "scope"=>"token_scope such_as purge_all purge_select", "services"=>"service_id_that_token_can_access"},
@@ -20,13 +17,12 @@ describe Fastly::Token do
20
17
  'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
21
18
  'Content-Accept'=>'application/json',
22
19
  'Content-Type'=>'application/x-www-form-urlencoded',
23
- 'Cookie'=>'tasty!',
24
20
  'User-Agent'=> /fastly-ruby/
25
21
  }).
26
22
  to_return(status: 403, body: '{"msg":"You must POST /sudo to access this endpoint"}', headers: {})
27
23
 
28
24
  assert_raises(Fastly::Error,'{"msg":"You must POST /sudo to access this endpoint"}') do
29
- elevated_fastly.create_token(
25
+ fastly.create_token(
30
26
  name: 'name_of_token',
31
27
  services: 'service_id_that_token_can_access',
32
28
  scope: 'token_scope such_as purge_all purge_select'
@@ -63,7 +59,7 @@ describe Fastly::Token do
63
59
  }).
64
60
  to_return(status: 200, body: response_body, headers: {})
65
61
 
66
- token = elevated_fastly.new_token(
62
+ token = fastly.new_token(
67
63
  name: 'name_of_token',
68
64
  services: 'service_id_that_token_can_access',
69
65
  scope: 'optional token_scope such_as purge_all purge_select'
@@ -3,7 +3,7 @@ require 'helper'
3
3
  # Test username/password login access to user and customer objects
4
4
  class Fastly
5
5
  describe 'FullLoginTest' do
6
- let(:opts) { login_opts(:full) }
6
+ let(:opts) { login_opts(:both) }
7
7
  let(:client) { Client.new(opts) }
8
8
  let(:fastly) { Fastly.new(opts) }
9
9
  let(:current_user) { fastly.current_user }
data/test/helper.rb CHANGED
@@ -2,6 +2,7 @@ require 'common'
2
2
  require 'fastly'
3
3
  require 'minitest/autorun'
4
4
  require 'pry'
5
+ require 'dotenv/load'
5
6
 
6
7
  class Fastly
7
8
  class TestCase < Minitest::Test; end
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: 2.5.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fastly
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-10 00:00:00.000000000 Z
11
+ date: 2021-06-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Client library for the Fastly acceleration system
14
14
  email:
@@ -21,6 +21,7 @@ executables:
21
21
  extensions: []
22
22
  extra_rdoc_files: []
23
23
  files:
24
+ - ".env.example"
24
25
  - ".gitignore"
25
26
  - ".rubocop.yml"
26
27
  - ".travis.yml"
@@ -30,6 +31,7 @@ files:
30
31
  - HISTORY.md
31
32
  - LICENSE
32
33
  - README.md
34
+ - RELEASE.md
33
35
  - Rakefile
34
36
  - bin/fastly_create_domain
35
37
  - bin/fastly_upload_vcl
@@ -81,6 +83,7 @@ files:
81
83
  - test/fastly/client_test.rb
82
84
  - test/fastly/customer_test.rb
83
85
  - test/fastly/dictionary_test.rb
86
+ - test/fastly/sumologic_logging_test.rb
84
87
  - test/fastly/syslog_test.rb
85
88
  - test/fastly/token_test.rb
86
89
  - test/fastly/util_test.rb
@@ -94,7 +97,7 @@ homepage: http://github.com/fastly/fastly-ruby
94
97
  licenses:
95
98
  - MIT
96
99
  metadata: {}
97
- post_install_message:
100
+ post_install_message:
98
101
  rdoc_options: []
99
102
  require_paths:
100
103
  - lib
@@ -109,9 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
112
  - !ruby/object:Gem::Version
110
113
  version: '0'
111
114
  requirements: []
112
- rubyforge_project:
113
- rubygems_version: 2.7.6.2
114
- signing_key:
115
+ rubygems_version: 3.0.8
116
+ signing_key:
115
117
  specification_version: 4
116
118
  summary: Client library for the Fastly acceleration system
117
119
  test_files:
@@ -123,6 +125,7 @@ test_files:
123
125
  - test/fastly/client_test.rb
124
126
  - test/fastly/customer_test.rb
125
127
  - test/fastly/dictionary_test.rb
128
+ - test/fastly/sumologic_logging_test.rb
126
129
  - test/fastly/syslog_test.rb
127
130
  - test/fastly/token_test.rb
128
131
  - test/fastly/util_test.rb