aboutsummaryrefslogtreecommitdiff
path: root/test/models/backends/terraform_aws_test.rb
blob: d782f3cb0a9956acd4bb56982301ffb8be797d70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
require 'test_helper'

class Backends::TerraformAwsTest < ActiveSupport::TestCase
  setup do
    @backend = Backends::TerraformAws.new

    backend_latest_terraform_state = mock
    backend_latest_terraform_state
      .stubs(:output_value)
      .returns('example.com')

    @backend.stubs(:backend_latest_terraform_state).returns(
      backend_latest_terraform_state
    )

    @mini_environment = MiniEnvironment.new(
      id: 1,
      name: 'Test Mini Environment',
      backend: @backend,
      backend_data: {
        'build_output' => '/gnu/store/testbuildoutput'
      }
    )
  end

  test 'type_and_id' do
    @backend.type_and_id
  end

  test 'build' do
    GovukGuix::UpdateGcrootsDirectory.stubs(:add_store_path)
    GovukGuix::BuildMiniEnvironment.expects(:build)

    @backend.build(@mini_environment)
  end

  test 'start' do
    RubyTerraform.stubs(:init)
    RubyTerraform.expects(:apply)

    @backend.start(@mini_environment)
  end

  test 'destroy' do
    RubyTerraform.stubs(:init)
    RubyTerraform.expects(:destroy)

    @backend.destroy(@mini_environment)
  end

  test 'signon_url' do
    @backend.signon_url(@mini_environment)
  end

  test 'terraform_variables' do
    @backend.terraform_variables(@mini_environment)
  end
end