Azure / Azurite

A lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies
MIT License
1.8k stars 320 forks source link

Delete Blob with blob name too long should fail #398

Open mattdurak opened 4 years ago

mattdurak commented 4 years ago

Which service(blob, file, queue, table) does this issue concern?

Blob

Which version of the Azurite was used?

3.4.0

Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)

npm

What's the Node.js version?

v11.10.0

What problem was encountered?

When deleting a blob with a name that is too long (more than 1024 characters) using delete if not exists, I expect the operation to fail due to the bad name. Instead, the call succeeds because the HTTP response is 404. This is different than the behavior for the Azure Storage Emulator.

Steps to reproduce the issue?

Using C++ API (or any language), call delete_blob_if_exists_async where the blob name is 1025 characters long. The call should fail, instead it reports that the blob did not exist.

Have you found a mitigation/solution?

Disabling the test we have in our code for now.

mattdurak commented 4 years ago

I see the same issue with checking if a blob exists when the name is longer than 1025 characters. I expect to get HTTP 400 (One of the request inputs is out of range.), which is what the emulator and the real storage service return.

XiaoningLiu commented 4 years ago

Hi @mattdurak Thanks for bringing this! Azurite currently doesn't force 1025 chars. Will update in following releases. In the mean time, welcome contribution!