require "helpers/integration_test_helper" # TODO: this is a port over from legacy tests. It shouldn't be scoped under Google, but under Google::Shared. class TestAuthentication < FogIntegrationTest def setup @google_key_location = Fog.credentials[:google_key_location] @google_key_string = File.open(File.expand_path(@google_key_location), "rb", &:read) @google_json_key_location = Fog.credentials[:google_json_key_location] @google_json_key_string = File.open(File.expand_path(@google_json_key_location), "rb", &:read) end def test_authenticates_with_p12_key_location c = Fog::Compute::Google.new(:google_key_location => @google_key_location, :google_key_string => nil, :google_json_key_location => nil, :google_json_key_string => nil) assert_kind_of(Fog::Compute::Google::Real, c) end def test_authenticates_with_p12_key_string c = Fog::Compute::Google.new(:google_key_location => nil, :google_key_string => @google_key_string, :google_json_key_location => nil, :google_json_key_string => nil) assert_kind_of(Fog::Compute::Google::Real, c) end def test_authenticates_with_json_key_location c = Fog::Compute::Google.new(:google_key_location => nil, :google_key_string => nil, :google_json_key_location => @google_json_key_location, :google_json_key_string => nil) assert_kind_of(Fog::Compute::Google::Real, c) end def test_authenticates_with_json_key_string c = Fog::Compute::Google.new(:google_key_location => nil, :google_key_string => nil, :google_json_key_location => nil, :google_json_key_string => @google_json_key_string) assert_kind_of(Fog::Compute::Google::Real, c) end def test_raises_argument_error_when_google_project_is_missing assert_raises(ArgumentError) { Fog::Compute::Google.new(:google_project => nil) } end def test_raises_argument_error_when_google_client_email_is_missing assert_raises(ArgumentError) do Fog::Compute::Google.new(:google_client_email => nil, :google_json_key_location => nil) end # JSON key overrides google_client_email end def test_raises_argument_error_when_google_keys_are_given assert_raises(ArgumentError) do Fog::Compute::Google.new(:google_key_location => nil, :google_key_string => nil, :google_json_key_location => nil, :google_json_key_string => nil) end end end