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
|