Class: HttpStub::Configurer::DSL::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/configurer/dsl/server.rb

Instance Method Summary collapse

Constructor Details

#initializeServer

Returns a new instance of Server.



13
14
15
16
17
18
19
20
# File 'lib/http_stub/configurer/dsl/server.rb', line 13

def initialize
  @configuration         = HttpStub::Configurer::Server::Configuration.new
  @server_facade         = HttpStub::Configurer::Server::Facade.new(@configuration)
  @default_stub_template = HttpStub::Configurer::DSL::StubBuilderTemplate.new
  @session_factory       = HttpStub::Configurer::DSL::SessionFactory.new(@server_facade, @default_stub_template)
  @default_session       = @session_factory.memory
  @enabled_features      = []
end

Instance Method Details

#add_scenario!(name) {|builder| ... } ⇒ Object

Yields:

  • (builder)


44
45
46
47
48
# File 'lib/http_stub/configurer/dsl/server.rb', line 44

def add_scenario!(name, &_block)
  builder = HttpStub::Configurer::DSL::ScenarioBuilder.new(name, @default_stub_template)
  yield builder
  @server_facade.define_scenario(builder.build)
end

#add_scenario_with_one_stub!(name, builder = nil, &block) ⇒ Object



50
51
52
53
54
# File 'lib/http_stub/configurer/dsl/server.rb', line 50

def add_scenario_with_one_stub!(name, builder=nil, &block)
  add_scenario!(name) do |scenario|
    scenario.add_stub!(builder) { |stub| stub.invoke(&block) }
  end
end

#clear_sessions!Object



64
65
66
# File 'lib/http_stub/configurer/dsl/server.rb', line 64

def clear_sessions!
  @server_facade.clear_sessions
end

#clear_stubs!Object



72
73
74
# File 'lib/http_stub/configurer/dsl/server.rb', line 72

def clear_stubs!
  @default_session.clear!
end

#endpoint_template(&block) ⇒ Object



56
57
58
# File 'lib/http_stub/configurer/dsl/server.rb', line 56

def endpoint_template(&block)
  HttpStub::Configurer::DSL::ServerEndpointTemplate.new(self, @default_session, &block)
end

#has_started!Object



35
36
37
38
# File 'lib/http_stub/configurer/dsl/server.rb', line 35

def has_started!
  @server_facade.server_has_started
  @default_session = @session_factory.transactional
end

#initialize!Object



30
31
32
33
# File 'lib/http_stub/configurer/dsl/server.rb', line 30

def initialize!
  @server_facade.initialize_server
  @default_session = @session_factory.transactional
end

#recall_stubs!Object



68
69
70
# File 'lib/http_stub/configurer/dsl/server.rb', line 68

def recall_stubs!
  @default_session.reset!
end

#request_defaults=(args) ⇒ Object



22
23
24
# File 'lib/http_stub/configurer/dsl/server.rb', line 22

def request_defaults=(args)
  @default_stub_template.match_requests(args)
end

#reset!Object



40
41
42
# File 'lib/http_stub/configurer/dsl/server.rb', line 40

def reset!
  @server_facade.reset
end

#response_defaults=(args) ⇒ Object



26
27
28
# File 'lib/http_stub/configurer/dsl/server.rb', line 26

def response_defaults=(args)
  @default_stub_template.respond_with(args)
end

#session(id) ⇒ Object



60
61
62
# File 'lib/http_stub/configurer/dsl/server.rb', line 60

def session(id)
  @session_factory.create(id)
end