Class: Gitlab::QA::Component::SAML
  
  
  
  
  
    - Inherits:
- 
      Base
      
        
          - Object
- Base
- Gitlab::QA::Component::SAML
 show all
    - Defined in:
- lib/gitlab/qa/component/saml.rb
 
  
    
      Constant Summary
      collapse
    
    
      
        - DOCKER_IMAGE =
          
        
- 'jamedjo/test-saml-idp' 
- DOCKER_IMAGE_TAG =
          
        
- 'latest' 
Constants inherited
     from Base
  Base::CERTIFICATES_PATH
  Instance Attribute Summary
  
  Attributes inherited from Base
  #additional_hosts, #airgapped_network, #docker, #environment, #logger, #network, #network_aliases, #ports, #runner_network, #secrets, #volumes
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Base
  #add_network_alias, #hostname, #image, #initialize, #ip_address, #prepare, #prepare_airgapped_network, #prepare_docker_container, #prepare_docker_image, #prepare_network, #prepare_runner_network, #process_exec_commands, #pull, #restart, #start_instance, #tag, #teardown, #teardown!
  
  
  
  
  
  
  
  
  
  #act, included
  
    Instance Method Details
    
      
  
  
    #group_name  ⇒ Object 
  
  
  
  
    | 
27
28
29 | # File 'lib/gitlab/qa/component/saml.rb', line 27
def group_name
  @group_name ||= "saml_sso_group-#{SecureRandom.hex(4)}"
end | 
 
    
      
  
  
    #instance  ⇒ Object 
  
  
  
  
    | 
31
32
33
34
35 | # File 'lib/gitlab/qa/component/saml.rb', line 31
def instance
  raise 'Please provide a block!' unless block_given?
  super
end | 
 
    
      
  
  
    #name  ⇒ Object 
  
  
  
  
    | 
23
24
25 | # File 'lib/gitlab/qa/component/saml.rb', line 23
def name
  @name ||= "saml-qa-idp"
end | 
 
    
      
  
  
    #set_assertion_consumer_service(assertion_con_service)  ⇒ Object 
  
  
  
  
    | 
19
20
21 | # File 'lib/gitlab/qa/component/saml.rb', line 19
def set_assertion_consumer_service(assertion_con_service)
  @environment['SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE'] = assertion_con_service
end | 
 
    
      
  
  
    #set_entity_id(entity_id)  ⇒ Object 
  
  
  
  
    | 
15
16
17 | # File 'lib/gitlab/qa/component/saml.rb', line 15
def set_entity_id(entity_id)
  @environment['SIMPLESAMLPHP_SP_ENTITY_ID'] = entity_id
end | 
 
    
      
  
  
    #set_sandbox_name(sandbox_name)  ⇒ Object 
  
  
  
  
    
rubocop:enable Metrics/AbcSize
   
 
  
  
    | 
62
63
64 | # File 'lib/gitlab/qa/component/saml.rb', line 62
def set_sandbox_name(sandbox_name)
  ::Gitlab::QA::Runtime::Env.gitlab_sandbox_name = sandbox_name
end | 
 
    
      
  
  
    #set_simple_saml_hostname  ⇒ Object 
  
  
  
  
    | 
66
67
68 | # File 'lib/gitlab/qa/component/saml.rb', line 66
def set_simple_saml_hostname
  ::Gitlab::QA::Runtime::Env.simple_saml_hostname = hostname
end | 
 
    
      
  
  
    #start  ⇒ Object 
  
  
  
  
    
rubocop:disable Metrics/AbcSize
   
 
  
  
    | 
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 | # File 'lib/gitlab/qa/component/saml.rb', line 38
def start
  docker.run(image: image, tag: tag) do |command|
    command << '-d '
    command << "--name #{name}"
    command << "--net #{network}"
    command << "--hostname #{hostname}"
    command << "--publish 8080:8080"
    command << "--publish 8443:8443"
    @volumes.to_h.each do |to, from|
      command.volume(to, from, 'Z')
    end
    @environment.to_h.each do |key, value|
      command.env(key, value)
    end
    @network_aliases.to_a.each do |network_alias|
      command << "--network-alias #{network_alias}"
    end
  end
end |