Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/composite_actions/run_xcodebuild/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ runs:
fi

xcodebuild -version
xcodebuild build -scheme $SCHEME -sdk '${{ inputs.sdk }}' -destination '${{ inputs.destination }}' $otherFlags | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]}
xcodebuild build -scheme $SCHEME -destination '${{ inputs.destination }}' -skipPackagePluginValidation $otherFlags | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]}
shell: bash
2 changes: 1 addition & 1 deletion .github/composite_actions/run_xcodebuild_test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ runs:

xcode-select -p
xcodebuild -version
xcodebuild $action -scheme $SCHEME -sdk '${{ inputs.sdk }}' -destination '${{ inputs.destination }}' ${{ inputs.other_flags }} $clonedSourcePackagesPath $derivedDataPath $coverageFlags | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]}
xcodebuild $action -scheme $SCHEME -destination '${{ inputs.destination }}' -skipPackagePluginValidation ${{ inputs.other_flags }} $clonedSourcePackagesPath $derivedDataPath $coverageFlags | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]}
shell: bash

- name: Generate Coverage report
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,13 @@
objects = {

/* Begin PBXBuildFile section */
EA3C8E912F5070AC003FF786 /* AmplifyKinesisClient in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8E902F5070AC003FF786 /* AmplifyKinesisClient */; };
EA3C8E932F5070AC003FF786 /* AWSPluginsCore in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8E922F5070AC003FF786 /* AWSPluginsCore */; };
EA3C8E952F5070AC003FF786 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8E942F5070AC003FF786 /* Amplify */; };
EA3C8E972F5070AC003FF786 /* AmplifyFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8E962F5070AC003FF786 /* AmplifyFoundation */; };
EA3C8E992F5070AC003FF786 /* AmplifyFoundationBridge in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8E982F5070AC003FF786 /* AmplifyFoundationBridge */; };
EA3C8EA22F50809E003FF786 /* AmplifyKinesisClient in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EA12F50809E003FF786 /* AmplifyKinesisClient */; };
EA3C8EA42F50809E003FF786 /* AWSPluginsCore in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EA32F50809E003FF786 /* AWSPluginsCore */; };
EA3C8EA62F50809E003FF786 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EA52F50809E003FF786 /* Amplify */; };
EA3C8EA82F50809E003FF786 /* AmplifyFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EA72F50809E003FF786 /* AmplifyFoundation */; };
EA3C8EAA2F50809E003FF786 /* AmplifyFoundationBridge in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EA92F50809E003FF786 /* AmplifyFoundationBridge */; };
EA3C8EAE2F5080EA003FF786 /* AmplifyFirehoseClient in Frameworks */ = {isa = PBXBuildFile; productRef = EA3C8EAD2F5080EA003FF786 /* AmplifyFirehoseClient */; };
EA67FA502F7E893400D4A710 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA4F2F7E893400D4A710 /* AWSCognitoAuthPlugin */; };
EA67FA522F7E893400D4A710 /* AWSPluginsCore in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA512F7E893400D4A710 /* AWSPluginsCore */; };
EA67FA542F7E893400D4A710 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA532F7E893400D4A710 /* Amplify */; };
EA67FA562F7E893400D4A710 /* AmplifyFirehoseClient in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA552F7E893400D4A710 /* AmplifyFirehoseClient */; };
EA67FA582F7E893400D4A710 /* AmplifyFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA572F7E893400D4A710 /* AmplifyFoundation */; };
EA67FA5A2F7E893400D4A710 /* AmplifyFoundationBridge in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA592F7E893400D4A710 /* AmplifyFoundationBridge */; };
EA67FA5C2F7E893400D4A710 /* AmplifyKinesisClient in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA5B2F7E893400D4A710 /* AmplifyKinesisClient */; };
EA67FA5E2F7E897100D4A710 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = EA67FA5D2F7E897100D4A710 /* AWSCognitoAuthPlugin */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -115,18 +103,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EA3C8EA22F50809E003FF786 /* AmplifyKinesisClient in Frameworks */,
EA3C8EA62F50809E003FF786 /* Amplify in Frameworks */,
EA3C8EA82F50809E003FF786 /* AmplifyFoundation in Frameworks */,
EA3C8EAA2F50809E003FF786 /* AmplifyFoundationBridge in Frameworks */,
EA3C8EA42F50809E003FF786 /* AWSPluginsCore in Frameworks */,
EA3C8E952F5070AC003FF786 /* Amplify in Frameworks */,
EA3C8E932F5070AC003FF786 /* AWSPluginsCore in Frameworks */,
EA3C8E972F5070AC003FF786 /* AmplifyFoundation in Frameworks */,
EA3C8E992F5070AC003FF786 /* AmplifyFoundationBridge in Frameworks */,
EA3C8EAE2F5080EA003FF786 /* AmplifyFirehoseClient in Frameworks */,
EA3C8E912F5070AC003FF786 /* AmplifyKinesisClient in Frameworks */,
EA67FA5E2F7E897100D4A710 /* AWSCognitoAuthPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -260,18 +236,6 @@
);
name = AmplifyKinesisClientIntegrationTests;
packageProductDependencies = (
EA3C8E902F5070AC003FF786 /* AmplifyKinesisClient */,
EA3C8E922F5070AC003FF786 /* AWSPluginsCore */,
EA3C8E942F5070AC003FF786 /* Amplify */,
EA3C8E962F5070AC003FF786 /* AmplifyFoundation */,
EA3C8E982F5070AC003FF786 /* AmplifyFoundationBridge */,
EA3C8EA12F50809E003FF786 /* AmplifyKinesisClient */,
EA3C8EA32F50809E003FF786 /* AWSPluginsCore */,
EA3C8EA52F50809E003FF786 /* Amplify */,
EA3C8EA72F50809E003FF786 /* AmplifyFoundation */,
EA3C8EA92F50809E003FF786 /* AmplifyFoundationBridge */,
EA3C8EAD2F5080EA003FF786 /* AmplifyFirehoseClient */,
EA67FA5D2F7E897100D4A710 /* AWSCognitoAuthPlugin */,
);
productName = AmplifyKinesisClientIntegrationTests;
productReference = EA6AF6972F506E3500D372FB /* AmplifyKinesisClientIntegrationTests.xctest */;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@
68DBE9592A3B6EAE002B73E3 /* XCTestCase+AsyncTesting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9737697229519DEC0074B63A /* XCTestCase+AsyncTesting.swift */; };
68DBE95A2A3B6EAE002B73E3 /* AWSPinpointAnalyticsPluginIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6857647828AE95ED000CE2E9 /* AWSPinpointAnalyticsPluginIntegrationTests.swift */; };
68DBE95B2A3B6EAE002B73E3 /* TestConfigHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6857648828AE9951000CE2E9 /* TestConfigHelper.swift */; };
68DBE9662A3B6F2A002B73E3 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = 68DBE9652A3B6F2A002B73E3 /* Amplify */; };
68DBE9682A3B6F2A002B73E3 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 68DBE9672A3B6F2A002B73E3 /* AWSCognitoAuthPlugin */; };
68DBE96A2A3B6F2A002B73E3 /* AWSPinpointAnalyticsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 68DBE9692A3B6F2A002B73E3 /* AWSPinpointAnalyticsPlugin */; };
9737697629519E050074B63A /* AsyncTesting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9737697029519DEC0074B63A /* AsyncTesting.swift */; };
9737697729519E050074B63A /* AsyncExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9737697129519DEC0074B63A /* AsyncExpectation.swift */; };
9737697829519E050074B63A /* XCTestCase+AsyncTesting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9737697229519DEC0074B63A /* XCTestCase+AsyncTesting.swift */; };
Expand Down Expand Up @@ -135,9 +132,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
68DBE9662A3B6F2A002B73E3 /* Amplify in Frameworks */,
68DBE96A2A3B6F2A002B73E3 /* AWSPinpointAnalyticsPlugin in Frameworks */,
68DBE9682A3B6F2A002B73E3 /* AWSCognitoAuthPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -334,9 +328,6 @@
);
name = AWSPinpointAnalyticsPluginIntegrationTestsWatch;
packageProductDependencies = (
68DBE9652A3B6F2A002B73E3 /* Amplify */,
68DBE9672A3B6F2A002B73E3 /* AWSCognitoAuthPlugin */,
68DBE9692A3B6F2A002B73E3 /* AWSPinpointAnalyticsPlugin */,
);
productName = AWSPinpointAnalyticsPluginIntegrationTests;
productReference = 68DBE9622A3B6EAE002B73E3 /* AWSPinpointAnalyticsPluginIntegrationTestsWatch.xctest */;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public extension AmplifyBigInt {
let sum = AmplifyBigInt()
let result = amplify_mp_add(&lhs.value, &rhs.value, &sum.value)
if result != AMPLIFY_MP_OKAY {
fatalError("Error occured during + operation: \(result)")
fatalError("Error occurred during + operation: \(result)")
}
return sum
}
Expand All @@ -42,7 +42,7 @@ public extension AmplifyBigInt {
let difference = AmplifyBigInt()
let result = amplify_mp_sub(&lhs.value, &rhs.value, &difference.value)
if result != AMPLIFY_MP_OKAY {
fatalError("Error occured during - operation: \(result)")
fatalError("Error occurred during - operation: \(result)")
}
return difference
}
Expand All @@ -65,7 +65,7 @@ public extension AmplifyBigInt {
let product = AmplifyBigInt()
let result = amplify_mp_mul(&lhs.value, &rhs.value, &product.value)
if result != AMPLIFY_MP_OKAY {
fatalError("Error occured during * operation: \(result)")
fatalError("Error occurred during * operation: \(result)")
}
return product
}
Expand Down Expand Up @@ -103,7 +103,7 @@ public extension AmplifyBigInt {
let result = amplify_mp_div(&lhs.value, &rhs.value, &quotient.value, &remainder.value)

if result != AMPLIFY_MP_OKAY {
fatalError("Error occured during % operation: \(result)")
fatalError("Error occurred during % operation: \(result)")
}
return remainder
}
Expand All @@ -125,7 +125,7 @@ public extension AmplifyBigInt {
let exponentialModulus = AmplifyBigInt()
let result = amplify_mp_exptmod(&value, &power.value, &modulus.value, &exponentialModulus.value)
guard result == AMPLIFY_MP_OKAY else {
fatalError("Error occured during pow(:modulus:) operation: \(result)")
fatalError("Error occurred during pow(:modulus:) operation: \(result)")
}
return exponentialModulus
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,6 @@
buildRules = (
);
dependencies = (
21F762A02BD6B1AA0048845A /* PBXTargetDependency */,
21F762A22BD6B1AA0048845A /* PBXTargetDependency */,
);
name = AuthGen2IntegrationTests;
Expand Down Expand Up @@ -614,7 +613,6 @@
buildRules = (
);
dependencies = (
681B76982A3CBA8C004B59D9 /* PBXTargetDependency */,
485CB5A427B61E04006CCEC7 /* PBXTargetDependency */,
);
name = AuthIntegrationTests;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import SmithyHTTPAPI

@_spi(FoundationClientEngine)
public struct FoundationClientEngine: HTTPClient {
let urlSession: URLSession

public func send(request: SmithyHTTPAPI.HTTPRequest) async throws -> SmithyHTTPAPI.HTTPResponse {
let urlRequest = try await URLRequest(from: request)

let (data, response) = try await URLSession.shared.data(for: urlRequest)
let (data, response) = try await urlSession.data(for: urlRequest)
guard let httpURLResponse = response as? HTTPURLResponse else {
// This shouldn't be necessary because we're only making HTTP requests.
// `URLResponse` should always be a `HTTPURLResponse`.
Expand All @@ -30,7 +32,16 @@ public struct FoundationClientEngine: HTTPClient {
return httpResponse
}

public init() {}
public init() {
// These requests carry Cognito tokens and AWS credentials. Disable URL
// caching so that responses are never persisted to disk (e.g. Cache.db),
// where they could be recovered by inspecting the app container. This
// mirrors the cache-disabling behavior used for the Hosted UI session.
let configuration = URLSessionConfiguration.default
configuration.urlCache = nil
configuration.requestCachePolicy = .reloadIgnoringLocalCacheData
self.urlSession = URLSession(configuration: configuration)
}

/// no-op
func close() async {}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//
// Copyright Amazon.com Inc. or its affiliates.
// All Rights Reserved.
//
// SPDX-License-Identifier: Apache-2.0
//

@_spi(FoundationClientEngine)
@testable import InternalAmplifyCredentials
import XCTest

class FoundationClientEngineTests: XCTestCase {

/// Given: A `FoundationClientEngine`.
/// When: The engine is initialized.
/// Then: Its `URLSession` has URL caching disabled so that responses
/// carrying Cognito tokens / AWS credentials are never persisted
/// to disk (e.g. Cache.db).
func test_urlSession_disablesCaching() {
let engine = FoundationClientEngine()
let configuration = engine.urlSession.configuration

XCTAssertNil(
configuration.urlCache,
"URLSession must not have a URLCache, otherwise credential responses are persisted to disk."
)
XCTAssertEqual(
configuration.requestCachePolicy,
.reloadIgnoringLocalCacheData
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,6 @@
90542370291425630000D108 /* testImageCeleb.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 90542363291425630000D108 /* testImageCeleb.jpg */; };
90542371291425630000D108 /* testImageTextForms.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 90542364291425630000D108 /* testImageTextForms.jpg */; };
90542372291425630000D108 /* audio.wav in Resources */ = {isa = PBXBuildFile; fileRef = 90542365291425630000D108 /* audio.wav */; };
90CF304A2AD47A71006B6FF3 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30492AD47A71006B6FF3 /* Amplify */; };
90CF304C2AD47A74006B6FF3 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF304B2AD47A74006B6FF3 /* Amplify */; };
90CF304E2AD47A78006B6FF3 /* Amplify in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF304D2AD47A78006B6FF3 /* Amplify */; };
90CF30502AD47B0E006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF304F2AD47B0E006B6FF3 /* AWSCognitoAuthPlugin */; };
90CF30522AD47B0E006B6FF3 /* AWSPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30512AD47B0E006B6FF3 /* AWSPredictionsPlugin */; };
90CF30542AD47B0E006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30532AD47B0E006B6FF3 /* CoreMLPredictionsPlugin */; };
90CF30562AD47B19006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30552AD47B19006B6FF3 /* AWSCognitoAuthPlugin */; };
90CF30582AD47B19006B6FF3 /* AWSPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30572AD47B19006B6FF3 /* AWSPredictionsPlugin */; };
90CF305A2AD47B19006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF30592AD47B19006B6FF3 /* CoreMLPredictionsPlugin */; };
90CF305C2AD47B24006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF305B2AD47B24006B6FF3 /* AWSCognitoAuthPlugin */; };
90CF305E2AD47B24006B6FF3 /* AWSPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF305D2AD47B24006B6FF3 /* AWSPredictionsPlugin */; };
90CF30602AD47B24006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 90CF305F2AD47B24006B6FF3 /* CoreMLPredictionsPlugin */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -139,10 +127,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
90CF30602AD47B24006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */,
90CF304E2AD47A78006B6FF3 /* Amplify in Frameworks */,
90CF305E2AD47B24006B6FF3 /* AWSPredictionsPlugin in Frameworks */,
90CF305C2AD47B24006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -161,21 +145,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
90CF30542AD47B0E006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */,
90CF304A2AD47A71006B6FF3 /* Amplify in Frameworks */,
90CF30522AD47B0E006B6FF3 /* AWSPredictionsPlugin in Frameworks */,
90CF30502AD47B0E006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
903555F529141355004B83C2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
90CF305A2AD47B19006B6FF3 /* CoreMLPredictionsPlugin in Frameworks */,
90CF304C2AD47A74006B6FF3 /* Amplify in Frameworks */,
90CF30582AD47B19006B6FF3 /* AWSPredictionsPlugin in Frameworks */,
90CF30562AD47B19006B6FF3 /* AWSCognitoAuthPlugin in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -339,10 +315,6 @@
);
name = AWSPredictionsPluginIntegrationTestsWatch;
packageProductDependencies = (
90CF304D2AD47A78006B6FF3 /* Amplify */,
90CF305B2AD47B24006B6FF3 /* AWSCognitoAuthPlugin */,
90CF305D2AD47B24006B6FF3 /* AWSPredictionsPlugin */,
90CF305F2AD47B24006B6FF3 /* CoreMLPredictionsPlugin */,
);
productName = AWSPredictionsPluginIntegrationTests;
productReference = 6875F9242A3CCCB7001C9AAF /* AWSPredictionsPluginIntegrationTestsWatch.xctest */;
Expand Down Expand Up @@ -387,10 +359,6 @@
);
name = CoreMLPredictionsPluginIntegrationTests;
packageProductDependencies = (
90CF30492AD47A71006B6FF3 /* Amplify */,
90CF304F2AD47B0E006B6FF3 /* AWSCognitoAuthPlugin */,
90CF30512AD47B0E006B6FF3 /* AWSPredictionsPlugin */,
90CF30532AD47B0E006B6FF3 /* CoreMLPredictionsPlugin */,
);
productName = CoreMLPredictionsPluginIntegrationTests;
productReference = 90283033291402D500897087 /* CoreMLPredictionsPluginIntegrationTests.xctest */;
Expand All @@ -411,10 +379,6 @@
);
name = AWSPredictionsPluginIntegrationTests;
packageProductDependencies = (
90CF304B2AD47A74006B6FF3 /* Amplify */,
90CF30552AD47B19006B6FF3 /* AWSCognitoAuthPlugin */,
90CF30572AD47B19006B6FF3 /* AWSPredictionsPlugin */,
90CF30592AD47B19006B6FF3 /* CoreMLPredictionsPlugin */,
);
productName = AWSPredictionsPluginIntegrationTests;
productReference = 903555F829141355004B83C2 /* AWSPredictionsPluginIntegrationTests.xctest */;
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ GEM
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
concurrent-ruby (1.3.6)
concurrent-ruby (1.3.7)
connection_pool (3.0.2)
csv (3.3.5)
declarative (0.0.20)
Expand Down
Loading
Loading