Class: Gitlab::QA::Component::MockServer

Inherits:
Base
  • Object
show all
Defined in:
lib/gitlab/qa/component/mock_server.rb

Overview

General purpose http mock server see: smocker.dev/

Constant Summary collapse

DOCKER_IMAGE =
"thiht/smocker"
DOCKER_IMAGE_TAG =
"0.18.2"

Constants inherited from Base

Base::CERTIFICATES_PATH

Instance Attribute Summary collapse

Attributes inherited from Base

#additional_hosts, #airgapped_network, #docker, #environment, #network, #network_aliases, #ports, #runner_network, #volumes

Instance Method Summary collapse

Methods inherited from Base

#add_network_alias, #hostname, #image, #instance, #ip_address, #prepare_airgapped_network, #prepare_docker_container, #prepare_docker_image, #prepare_network, #prepare_runner_network, #process_exec_commands, #pull, #restart, #start, #start_instance, #tag, #teardown

Methods included from Scenario::Actable

#act, included

Constructor Details

#initializeMockServer



13
14
15
16
17
18
19
20
21
22
# File 'lib/gitlab/qa/component/mock_server.rb', line 13

def initialize
  super

  @tls = false
  @name = "smocker"
  @tls_path = "/etc/smocker/tls"
  @ports = [80, 8081]
  @environment = { "SMOCKER_MOCK_SERVER_LISTEN_PORT" => 80 }
  @log_volume = {}
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



24
25
26
# File 'lib/gitlab/qa/component/mock_server.rb', line 24

def name
  @name
end

#tls=(value) ⇒ Object

Sets the attribute tls



25
26
27
# File 'lib/gitlab/qa/component/mock_server.rb', line 25

def tls=(value)
  @tls = value
end

Instance Method Details

#prepareObject



27
28
29
30
31
# File 'lib/gitlab/qa/component/mock_server.rb', line 27

def prepare
  super

  setup_tls if tls
end

#teardown!void

This method returns an undefined value.

Print smocker log output by using docker logs command because smocker only logs to stdout



36
37
38
39
40
# File 'lib/gitlab/qa/component/mock_server.rb', line 36

def teardown!
  Docker::Command.execute("logs #{name}")

  super
end