fog / fog-google

Fog for Google Cloud Platform
MIT License
99 stars 146 forks source link

Bucket names with dashes in them cause errors in mocks #598

Open mateomurphy opened 1 year ago

mateomurphy commented 1 year ago

I'm running into an issue when trying to mock google storage:

storage = Fog::Storage::Google.new({
  :google_storage_access_key_id => "id",
  :google_storage_secret_access_key => "key"
})

bucket = storage.directories.create(key: "name")

pp bucket.files.all # returns []

bucket = storage.directories.create(key: "name-with-dashes")

pp bucket.files.all # raises Excon::Error::BadRequest

This happens because this line of code rejects names that have non word characters in them: https://github.com/fog/fog-google/blob/master/lib/fog/storage/google_xml/requests/get_bucket.rb#L52

However according to google's documentation, dashes, underscores and dots are legal: https://cloud.google.com/storage/docs/buckets#naming

mateomurphy commented 1 year ago

BTW I forked and modified this, and can submit a PR if that would be helpful

Temikus commented 10 months ago

@mateomurphy very! Please do 🙏