class FacebookAds::Test::Base
Attributes
cleanup_queue[RW]
config[RW]
Public Instance Methods
after_teardown()
click to toggle source
# File lib/facebook_ads/test/base.rb, line 65 def after_teardown # Collect failures for custom exit code FacebookAds::Test.failures.concat(self.failures) end
before_setup()
click to toggle source
# File lib/facebook_ads/test/base.rb, line 36 def before_setup load_config! end
generate(type, *args)
click to toggle source
# File lib/facebook_ads/test/base.rb, line 40 def generate(type, *args) method = "create_#{type}".to_sym if respond_to?(method) send(method, *args) do |generated_obj| cleanup_later(generated_obj) end.tap do |obj| cleanup_later(obj) end else raise TestRuntimeError, "#{type} is not a supported generator" end end
teardown()
click to toggle source
# File lib/facebook_ads/test/base.rb, line 53 def teardown return unless cleanup_queue cleanup_queue.reverse.each do |obj_or_id| if obj_or_id.is_a?(FacebookAds::AdObject) obj_or_id.destroy elsif obj_or_id.is_a?(String) || obj_or_id.is_a?(Numeric) FacebookAds::AdObject.get(obj_or_id).destroy end end end
Private Instance Methods
cleanup_later(obj)
click to toggle source
# File lib/facebook_ads/test/base.rb, line 71 def cleanup_later(obj) @cleanup_queue ||= [] @cleanup_queue << obj end
load_config!()
click to toggle source
# File lib/facebook_ads/test/base.rb, line 76 def load_config! @config = FacebookAds::Test::Config.new.override_from! # load overrides from test_config.json FacebookAds.configure do |cf| log_level = case ENV['LOG_LEVEL'] when 'debug' ::Logger::DEBUG when 'info' ::Logger::INFO when 'fatal' ::Logger::FATAL when 'error' ::Logger::ERROR else # default to warn ::Logger::WARN end cf.logger = ::Logger.new(STDOUT).tap { |d| d.level = log_level } cf.access_token = config.access_token end end