Skip to content

Commit 500da44

Browse files
Merge pull request #36 from RelationalAI/ag-strip
Strips whitespace from Azure and AWS config parameters
2 parents 2ab9d54 + ab42971 commit 500da44

File tree

2 files changed

+37
-3
lines changed

2 files changed

+37
-3
lines changed

src/RustyObjectStore.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,8 @@ struct AzureConfig <: AbstractConfig
390390
params["azure_skip_signature"] = "true"
391391
end
392392

393-
cached_config = Config("az://$(container_name)/", params)
393+
map!(v -> strip(v), values(params))
394+
cached_config = Config("az://$(strip(container_name))/", params)
394395
return new(
395396
storage_account_name,
396397
container_name,
@@ -482,7 +483,8 @@ struct AWSConfig <: AbstractConfig
482483
error("Credentials should not be provided when using instance metadata")
483484
end
484485

485-
cached_config = Config("s3://$(bucket_name)/", params)
486+
map!(v -> strip(v), values(params))
487+
cached_config = Config("s3://$(strip(bucket_name))/", params)
486488
return new(
487489
region,
488490
bucket_name,

test/basic_unified_tests.jl

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using RustyObjectStore
66

77
using Test: @testset, @test, @test_throws
88

9-
export run_read_write_test_cases, run_stream_test_cases
9+
export run_read_write_test_cases, run_stream_test_cases, run_sanity_test_cases
1010

1111
function run_stream_test_cases(config::AbstractConfig)
1212
# ReadStream
@@ -516,6 +516,20 @@ function run_read_write_test_cases(read_config::AbstractConfig, write_config::Ab
516516
end
517517

518518
end
519+
520+
function run_sanity_test_cases(read_config::AbstractConfig, write_config::AbstractConfig = read_config)
521+
@testset "Round trip" begin
522+
input = "1,2,3,4,5,6,7,8,9,1\n"
523+
buffer = Vector{UInt8}(undef, length(input))
524+
525+
nbytes_written = put_object(codeunits(input), "roundtrip.csv", write_config)
526+
@test nbytes_written == length(input)
527+
528+
nbytes_read = get_object!(buffer, "roundtrip.csv", read_config)
529+
@test nbytes_read == length(input)
530+
@test String(buffer[1:nbytes_read]) == input
531+
end
532+
end
519533
end # @testsetup
520534

521535
@testitem "Basic BlobStorage usage" setup=[InitializeObjectStore, ReadWriteCases] begin
@@ -537,6 +551,15 @@ Azurite.with(; debug=true, public=false) do conf
537551

538552
run_read_write_test_cases(config)
539553
run_stream_test_cases(config)
554+
555+
config_padded = AzureConfig(;
556+
storage_account_name=_credentials.auth.account * " \n",
557+
container_name=_container.name * " \n",
558+
storage_account_key=_credentials.auth.key * " \n",
559+
host=base_url * " \n"
560+
)
561+
562+
run_sanity_test_cases(config_padded)
540563
end # Azurite.with
541564

542565
end # @testitem
@@ -588,6 +611,15 @@ Minio.with(; debug=true, public=false) do conf
588611
run_read_write_test_cases(config)
589612
run_stream_test_cases(config)
590613

614+
config_padded = AWSConfig(;
615+
region=default_region * " \n",
616+
bucket_name=_container.name * " \n",
617+
access_key_id=_credentials.access_key_id * " \n",
618+
secret_access_key=_credentials.secret_access_key * " \n",
619+
host=base_url * " \n"
620+
)
621+
622+
run_sanity_test_cases(config_padded)
591623
end # Minio.with
592624
end # @testitem
593625

0 commit comments

Comments
 (0)