Skip to content

Commit a21cc16

Browse files
committed
Clean up test harness
1 parent 05bbcc2 commit a21cc16

8 files changed

Lines changed: 30 additions & 35 deletions

File tree

.env.example

Lines changed: 0 additions & 5 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
/.bundle/
2-
/.yardoc
3-
/_yardoc/
4-
/coverage/
5-
/doc/
62
/pkg/
73
/spec/reports/
84
/tmp/

amazon-ads.gemspec

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
1111
spec.summary = "Amazon Ads API client for Ruby"
1212
spec.homepage = "https://github.com/lineofflight/amazon-ads-ruby"
1313
spec.license = "MIT"
14-
spec.required_ruby_version = ">= 3.3.0"
14+
spec.required_ruby_version = ">= 3.3"
1515

1616
spec.metadata["homepage_uri"] = spec.homepage
1717
spec.metadata["source_code_uri"] = spec.homepage
@@ -20,8 +20,6 @@ Gem::Specification.new do |spec|
2020

2121
spec.files = Dir["lib/amazon_ads/**/*.rb", "sig/generated/amazon_ads/**/*.rbs"]
2222
.append("lib/amazon_ads.rb", "sig/generated/amazon_ads.rbs", "LICENSE.txt", "README.md")
23-
spec.bindir = "exe"
24-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
2523
spec.require_paths = ["lib"]
2624

2725
spec.add_dependency("cgi")

test/.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
AMAZON_ADS_CLIENT_ID=CLIENT_ID
2+
AMAZON_ADS_CLIENT_SECRET=CLIENT_SECRET
3+
AMAZON_ADS_TEST_REFRESH_TOKEN=REFRESH_TOKEN
4+
AMAZON_ADS_TEST_REGION=NA
5+
AMAZON_ADS_TEST_PROFILE_ID=PROFILE_ID

test/amazon_ads/test_lwa.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
require "test_helper"
44

55
class TestLWA < Minitest::Test
6+
include Credentials
67
include Recordable
78

89
def test_request_returns_parsed_response
9-
data = AmazonAds::LWA.request(
10-
refresh_token: ENV.fetch("AMAZON_ADS_TEST_REFRESH_TOKEN"),
11-
)
10+
data = AmazonAds::LWA.request(refresh_token:)
1211

1312
assert(data.key?("access_token"))
1413
assert(data.key?("expires_in"))

test/support/credentials.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
module Credentials
4+
def region
5+
ENV.fetch("AMAZON_ADS_TEST_REGION")
6+
end
7+
8+
def profile_id
9+
ENV.fetch("AMAZON_ADS_TEST_PROFILE_ID")
10+
end
11+
12+
def refresh_token
13+
ENV.fetch("AMAZON_ADS_TEST_REFRESH_TOKEN")
14+
end
15+
end

test/support/feature_helpers.rb

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,21 @@
11
# frozen_string_literal: true
22

3+
require_relative "credentials"
34
require_relative "recordable"
45

56
module FeatureHelpers
7+
include Credentials
68
include Recordable
79

810
def setup
911
super
1012

1113
class_name = self.class.name.delete_prefix("Test")
12-
@api = AmazonAds.const_get(class_name).new(**api_options)
13-
end
14-
15-
private
16-
17-
def api_options
18-
@api_options ||= {
19-
region: ENV.fetch("AMAZON_ADS_TEST_REGION", "na"),
20-
profile_id: ENV["AMAZON_ADS_TEST_PROFILE_ID"],
21-
access_token: access_token,
22-
}
14+
@api = AmazonAds.const_get(class_name).new(region:, profile_id:, access_token:)
2315
end
2416

2517
def access_token
26-
data = AmazonAds::LWA.request(
27-
refresh_token: ENV.fetch("AMAZON_ADS_TEST_REFRESH_TOKEN", "dummy"),
28-
)
29-
18+
data = AmazonAds::LWA.request(refresh_token:)
3019
data.fetch("access_token")
3120
end
3221
end

test/test_helper.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
$LOAD_PATH.unshift(File.expand_path("../lib", __dir__))
44

5-
require "dotenv/load"
5+
require "dotenv"
66

7-
ENV["AMAZON_ADS_CLIENT_ID"] ||= "dummy"
8-
ENV["AMAZON_ADS_CLIENT_SECRET"] ||= "dummy"
9-
10-
require "amazon_ads"
7+
Dotenv.load("#{__dir__}/.env", "#{__dir__}/.env.example")
118

129
require "minitest/autorun"
10+
require "amazon_ads"
1311

1412
require_relative "support/recordable"
1513
require_relative "support/feature_helpers"

0 commit comments

Comments
 (0)