From 470213320d06f5c9eb27fd50a2246af1c43fc40e Mon Sep 17 00:00:00 2001 From: Josh Elkins Date: Wed, 21 Jun 2023 08:20:28 -0700 Subject: [PATCH] fix: Custom endpoint config field (#1044) --- .../AWSClientConfiguration.swift | 1 + .../AWSClientConfigurationTests.swift | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 Tests/Core/AWSClientRuntimeTests/AWSClientConfigurationTests.swift diff --git a/Sources/Core/AWSClientRuntime/AWSClientConfiguration.swift b/Sources/Core/AWSClientRuntime/AWSClientConfiguration.swift index 37b39d7ae50..349645a208b 100644 --- a/Sources/Core/AWSClientRuntime/AWSClientConfiguration.swift +++ b/Sources/Core/AWSClientRuntime/AWSClientConfiguration.swift @@ -108,6 +108,7 @@ public class AWSClientConfiguration self.credentialsProvider = credentialsProvider + self.endpoint = endpoint self.serviceSpecific = try serviceSpecific ?? ServiceSpecificConfiguration(endpointResolver: nil) self.frameworkMetadata = frameworkMetadata self.region = region diff --git a/Tests/Core/AWSClientRuntimeTests/AWSClientConfigurationTests.swift b/Tests/Core/AWSClientRuntimeTests/AWSClientConfigurationTests.swift new file mode 100644 index 00000000000..ba206fc99e2 --- /dev/null +++ b/Tests/Core/AWSClientRuntimeTests/AWSClientConfigurationTests.swift @@ -0,0 +1,40 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Foundation +import XCTest +import AWSClientRuntime + +class AWSClientConfigurationTests: XCTestCase { + + func test_region_regionPropertyGetsSet() throws { + let region = "us-east-1" + let subject = try AWSClientConfiguration(region: region) + XCTAssertEqual(subject.region, region) + } + + func test_endpoint_endpointPropertyGetsSet() throws { + let endpoint = "https://my-xctest-endpoint.test.com/" + let subject = try AWSClientConfiguration(region: "us-east-1", endpoint: endpoint) + XCTAssertEqual(subject.endpoint, endpoint) + } +} + +struct TestAWSServiceSpecificConfiguration: AWSServiceSpecificConfiguration { + struct EndpointResolver {} + + typealias AWSServiceEndpointResolver = EndpointResolver + + var endpointResolver: EndpointResolver + + init(endpointResolver: EndpointResolver?) throws { + self.endpointResolver = endpointResolver ?? EndpointResolver() + } + + var serviceName: String { "TestAWSService" } + var clientName: String { "TestAWSServiceClient" } +}