Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,15 @@ Import the library in your env file
require 'client-api'
```

## #Usage outline
## Usage outline

### Usage with RSpec
Include library in rspec configuration in the `spec_helper.rb` file:
```ruby
RSpec.configure do |config|
include ClientApi
end
```

Add this config snippet in the `spec_helper.rb` file:
```ruby
Expand Down
43 changes: 32 additions & 11 deletions lib/client-api.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,38 @@
require "client-api/version"
require "client-api/settings"
require "client-api/base"
require "client-api/request"
require "client-api/base"
require "client-api/validator"
require "client-api/loggers"

RSpec.configure do |config|
config.add_setting :base_url
config.add_setting :headers
config.add_setting :basic_auth
config.add_setting :json_output
config.add_setting :time_out
config.include ClientApi
end

include Loggers
module ClientApi
include Loggers

class Configuration
attr_accessor :base_url, :headers, :basic_auth, :json_output, :time_out

def initialize
@base_url = ''
@headers = {}
@basic_auth = {}
@json_output = {}
@time_out = 10
end


end

class << self
def configure
yield(configuration)
end

def configuration
@configuration ||= Configuration.new
end

def reset
@configuration = Configuration.new
end
end
end
8 changes: 2 additions & 6 deletions lib/client-api/base.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
require_relative 'request'

module ClientApi

class Api < ClientApi::Request

include ClientApi
class Api < Request

def initialize
((FileUtils.rm Dir.glob("./#{json_output['Dirname']}/*.json"); $roo = true)) if json_output && $roo == nil
super
end

def get(url, headers = nil)
Expand Down
14 changes: 8 additions & 6 deletions lib/client-api/request.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
module ClientApi

class Request

include ClientApi

def initialize(scenario)
@scenario = scenario
$logger.debug("Requested scenario == '#{@scenario.description}'") if $logger
attr_accessor :base_url, :basic_auth, :json_output, :time_out, :headers

def initialize(configure = ClientApi.configuration)
@base_url = configure.base_url
@headers = configure.headers
@basic_auth = configure.basic_auth
@json_output = configure.json_output
@time_out = configure.time_out
end

def get_request(url, options = {})
Expand Down
33 changes: 0 additions & 33 deletions lib/client-api/settings.rb

This file was deleted.

2 changes: 1 addition & 1 deletion lib/client-api/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module ClientApi
VERSION = "0.3.8".freeze
VERSION = "0.4.0".freeze
end
5 changes: 1 addition & 4 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
require "json"

RSpec.configure do |config|
include ClientApi
# Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status"

Expand All @@ -26,8 +27,4 @@
config.json_output = {'Dirname' => './output', 'Filename' => 'test'}
config.time_out = 10 # in secs
config.logger = {'Dirname' => './logs', 'Filename' => 'test', 'StoreFilesCount' => 2}

config.before(:each) do |scenario|
ClientApi::Request.new(scenario)
end
end