From dd90a1caa67e20d24c8d03ea68a811709a2b8fef Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Fri, 24 Sep 2021 10:50:12 -0500 Subject: [PATCH] Use proper fallback for low-level services --- src/AWS.jl | 10 +++++----- src/utilities/utilities.jl | 2 +- test/utilities.jl | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/AWS.jl b/src/AWS.jl index 481579776a..3d37aa00ab 100644 --- a/src/AWS.jl +++ b/src/AWS.jl @@ -23,7 +23,7 @@ export sign!, sign_aws2!, sign_aws4! export JSONService, RestJSONService, RestXMLService, QueryService const DEFAULT_REGION = "us-east-1" -const DEFAULT_SERVICE_FEATURES = [] +const DEFAULT_SERVICE_FEATURES = NamedTuple() include(joinpath("utilities", "utilities.jl")) @@ -212,7 +212,7 @@ function (service::RestXMLService)( request_uri::String, args::AbstractDict{String,<:Any}=Dict{String,Any}(); aws_config::AbstractAWSConfig=global_aws_config(), - features::NamedTuple=NamedTuple(), + features::NamedTuple=DEFAULT_SERVICE_FEATURES, ) return_headers = _pop!(args, "return_headers", false) @@ -265,7 +265,7 @@ function (service::QueryService)( operation::String, args::AbstractDict{String,<:Any}=Dict{String,Any}(); aws_config::AbstractAWSConfig=global_aws_config(), - features::NamedTuple=NamedTuple(), + features::NamedTuple=DEFAULT_SERVICE_FEATURES, ) POST_RESOURCE = "/" return_headers = _pop!(args, "return_headers", false) @@ -308,7 +308,7 @@ function (service::JSONService)( operation::String, args::AbstractDict{String,<:Any}=Dict{String,Any}(); aws_config::AbstractAWSConfig=global_aws_config(), - features::NamedTuple=NamedTuple(), + features::NamedTuple=DEFAULT_SERVICE_FEATURES, ) POST_RESOURCE = "/" return_headers = _pop!(args, "return_headers", false) @@ -351,7 +351,7 @@ function (service::RestJSONService)( request_uri::String, args::AbstractDict{String,<:Any}=Dict{String,String}(); aws_config::AbstractAWSConfig=global_aws_config(), - features::NamedTuple=NamedTuple(), + features::NamedTuple=DEFAULT_SERVICE_FEATURES, ) return_headers = _pop!(args, "return_headers", false) diff --git a/src/utilities/utilities.jl b/src/utilities/utilities.jl index 0cb29f9f95..3a62176c12 100644 --- a/src/utilities/utilities.jl +++ b/src/utilities/utilities.jl @@ -108,7 +108,7 @@ end # the keys are defined within `defaults`. If any key is not defined by the user then the # value from `defaults` will be used. Returns a `NamedTuple` expression. function _process_service_features(args, defaults) - feature_dict = Dict{Symbol,Any}(defaults) + feature_dict = Dict{Symbol,Any}(pairs(defaults)) for ex in args if ex isa Expr && ex.head === :(=) k, v = ex.args[1:2] diff --git a/test/utilities.jl b/test/utilities.jl index 8cb154538b..d41c494041 100644 --- a/test/utilities.jl +++ b/test/utilities.jl @@ -65,31 +65,31 @@ end @testset "_process_service_features" begin @testset "use default" begin user_feats = [] - default_feats = [:a => false] + default_feats = (; a=false) @test AWS._process_service_features(user_feats, default_feats) == :((; a=false)) end @testset "user set" begin user_feats = [:(a = true)] - default_feats = [:a => false] + default_feats = (; a=false) @test AWS._process_service_features(user_feats, default_feats) == :((; a=true)) end @testset "unknown feature" begin user_feats = [:(b = true)] - default_feats = [:a => false] + default_feats = (; a=false) @test_throws ArgumentError AWS._process_service_features(user_feats, default_feats) end @testset "unknown expression" begin user_feats = [:(true)] - default_feats = [:a => false] + default_feats = (; a=false) @test_throws ArgumentError AWS._process_service_features(user_feats, default_feats) end @testset "no defaults" begin user_feats = [] - default_feats = [] + default_feats = NamedTuple() @test AWS._process_service_features(user_feats, default_feats) == :(NamedTuple()) end end