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: 2 additions & 0 deletions .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ jobs:
AmplifyRecordCache,
AmplifyKinesisClient,
AmplifyFirehoseClient,
AmplifyConnectClient,
AWSLocationGeoPlugin,
AWSPredictionsPlugin,
AWSPinpointAnalyticsPlugin,
Expand Down Expand Up @@ -105,6 +106,7 @@ jobs:
{ scheme: AmplifyRecordCache, flags: 'RecordCache_unit_test,unit_tests' },
{ scheme: AmplifyKinesisClient, flags: 'Kinesis_plugin_unit_test,unit_tests' },
{ scheme: AmplifyFirehoseClient, flags: 'Firehose_plugin_unit_test,unit_tests' },
{ scheme: AmplifyConnectClient, flags: 'Connect_unit_test,unit_tests' },
{ scheme: AWSLocationGeoPlugin, flags: 'Geo_plugin_unit_test,unit_tests' },
{ scheme: AWSPredictionsPlugin, flags: 'Predictions_plugin_unit_test,unit_tests' },
{ scheme: AWSPinpointAnalyticsPlugin, flags: 'Analytics_plugin_unit_test,unit_tests' },
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/unit_test_connect.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Unit Tests | Connect
on:
workflow_dispatch:
inputs:
ios:
description: '📱 iOS'
required: true
default: true
type: boolean
macos:
description: '💻 macOS'
required: true
default: true
type: boolean
tvos:
description: '📺 tvOS'
required: true
default: true
type: boolean
watchos:
description: '⌚️ watchOS'
required: true
default: true
type: boolean
visionos:
description: 'ᯅ visionOS'
required: true
default: true
type: boolean

permissions:
contents: read

jobs:
connect-unit-tests:
uses: ./.github/workflows/run_unit_tests_platforms.yml
with:
scheme: AmplifyConnectClient
92 changes: 92 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/Amplify-Package.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,48 @@
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClient"
BuildableName = "AmplifyConnectClient"
BlueprintName = "AmplifyConnectClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyFirehoseClient"
BuildableName = "AmplifyFirehoseClient"
BlueprintName = "AmplifyFirehoseClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyKinesisClient"
BuildableName = "AmplifyKinesisClient"
BlueprintName = "AmplifyKinesisClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
Expand Down Expand Up @@ -813,6 +855,56 @@
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClientTests"
BuildableName = "AmplifyConnectClientTests"
BlueprintName = "AmplifyConnectClientTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyFirehoseClientTests"
BuildableName = "AmplifyFirehoseClientTests"
BlueprintName = "AmplifyFirehoseClientTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyKinesisClientTests"
BuildableName = "AmplifyKinesisClientTests"
BlueprintName = "AmplifyKinesisClientTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyRecordCacheTests"
BuildableName = "AmplifyRecordCacheTests"
BlueprintName = "AmplifyRecordCacheTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClientIntegrationTests"
BuildableName = "AmplifyConnectClientIntegrationTests"
BlueprintName = "AmplifyConnectClientIntegrationTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "2600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClient"
BuildableName = "AmplifyConnectClient"
BlueprintName = "AmplifyConnectClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
codeCoverageEnabled = "YES"
onlyGenerateCoverageForSpecifiedTargets = "YES">
<CodeCoverageTargets>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClient"
BuildableName = "AmplifyConnectClient"
BlueprintName = "AmplifyConnectClient"
ReferencedContainer = "container:">
</BuildableReference>
</CodeCoverageTargets>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClientTests"
BuildableName = "AmplifyConnectClientTests"
BlueprintName = "AmplifyConnectClientTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AmplifyConnectClient"
BuildableName = "AmplifyConnectClient"
BlueprintName = "AmplifyConnectClient"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
21 changes: 17 additions & 4 deletions Amplify/Core/Configuration/AmplifyOutputsData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -232,12 +232,25 @@ public struct AmplifyOutputsData: Codable {
}
}

/// Outputs for the notifications category.
///
/// The fields below describe an Amazon Pinpoint backend and are optional because
/// `notifications` may be present without Pinpoint being configured — for example
/// when only Amazon Connect is provisioned, the backend emits `notifications`
/// containing just an `amazon_connect` block. Declaring these as non-optional
/// made `Amplify.configure()` fail to decode such a configuration outright,
/// preventing an app from using any category. Consumers must therefore check
/// for the values they need; see `AWSPinpointPushNotificationsPlugin+Configure`.
public struct Notifications: Codable {
public let awsRegion: String
public let amazonPinpointAppId: String
public let channels: [AmazonPinpointChannelType]
public let awsRegion: String?
public let amazonPinpointAppId: String?
public let channels: [AmazonPinpointChannelType]?
Comment on lines +245 to +247

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this change?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fields below describe an Amazon Pinpoint backend and are optional because
notifications may be present without Pinpoint being configured — for example
when only Amazon Connect is provisioned, the backend emits notifications
containing just an amazon_connect block (there's no pinpoint block). Declaring these as non-optional made Amplify.configure() fail to decode such a configuration outright,
preventing an app from using any category. Consumers must therefore check
for the values they need; see AWSPinpointPushNotificationsPlugin+Configure.


public init(awsRegion: String, amazonPinpointAppId: String, channels: [AmazonPinpointChannelType]) {
public init(
awsRegion: String? = nil,
amazonPinpointAppId: String? = nil,
channels: [AmazonPinpointChannelType]? = nil
) {
self.awsRegion = awsRegion
self.amazonPinpointAppId = amazonPinpointAppId
self.channels = channels
Expand Down
Loading
Loading