File: test_certs.rb

package info (click to toggle)
ruby-fog-google 1.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,568 kB
  • sloc: ruby: 16,775; makefile: 3
file content (50 lines) | stat: -rw-r--r-- 1,616 bytes parent folder | download | duplicates (3)
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
require "helpers/integration_test_helper"
require "integration/factories/sql_certs_factory"

class TestSQLCerts < FogIntegrationTest
  # This test doesn't include TestCollection as certs are not an independent resource.

  def setup
    @subject = Fog::Google[:sql].ssl_certs
    @factory = SqlCertsFactory.new(namespaced_name)
    @client  = Fog::Google::SQL.new
  end

  def teardown
    @factory.cleanup
  end

  def test_ssl_certs
    # Create an instance and an SSL cert
    ssl_cert = @factory.create
    instance_name = ssl_cert.instance

    # Create a second cert and attach to the same instance
    ssl_cert2 = @subject.new(:common_name => "#{ssl_cert.common_name}-2",
                             :instance => instance_name)
    ssl_cert2.save

    # Verify it can be retrieved
    @subject.get(instance_name, ssl_cert2.sha1_fingerprint).tap do |result|
      assert_equal(ssl_cert2.common_name, result.common_name)
      assert_equal("sql#sslCert", result.kind)
    end

    # Verify instance returns 2 certs
    list_result = @subject.all(instance_name)
    assert_equal(2, list_result.size,
                 "expected 2 SSL certs")

    # Delete one cert
    ssl_cert2.destroy(:async => false)
    list_result = @subject.all(instance_name)
    assert_equal(1, list_result.size,
                 "expected one less SSL cert after deletion")

    # Test if SSL config is reset correctly
    instance = @client.instances.get(instance_name)
    instance.reset_ssl_config(:async => false)
    assert_equal(0, @subject.all(instance_name).size,
                 "expected no SSL certs after reset")
  end
end