Skip to content

Commit 90a7d93

Browse files
committed
chore(auth): Integration tests fail fast on failed assertions
1 parent ff661de commit 90a7d93

File tree

5 files changed

+79
-34
lines changed

5 files changed

+79
-34
lines changed

AmplifyPlugins/Auth/AWSCognitoAuthPluginIntegrationTests/AuthDeleteUserTests/AuthDeleteUserTests.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ import AmplifyTestCommon
1515
class AuthDeleteUserTests: AWSAuthBaseTest {
1616

1717
override func setUpWithError() throws {
18+
continueAfterFailure = false
1819
try initializeAmplify()
1920
}
2021

2122
override func tearDownWithError() throws {
23+
_ = Amplify.Auth.signOut()
2224
Amplify.reset()
2325
sleep(2)
2426
}
@@ -50,10 +52,10 @@ class AuthDeleteUserTests: AWSAuthBaseTest {
5052
defer {
5153
authSignedInSessionExpectation.fulfill()
5254
}
53-
do {
54-
let session = try result.get()
55+
switch result {
56+
case .success(let session):
5557
XCTAssertTrue(session.isSignedIn, "Auth session should be signedIn")
56-
} catch {
58+
case .failure(let error):
5759
XCTFail("Fetch auth session failed with error - \(error)")
5860
}
5961
}
@@ -66,7 +68,7 @@ class AuthDeleteUserTests: AWSAuthBaseTest {
6668
}
6769
switch result {
6870
case .success:
69-
print("Success deleteUser")
71+
break
7072
case .failure(let error):
7173
XCTFail("deleteUser should not fail - \(error)")
7274
}
@@ -98,10 +100,10 @@ class AuthDeleteUserTests: AWSAuthBaseTest {
98100
defer {
99101
authSignedOutSessionExpectation.fulfill()
100102
}
101-
do {
102-
let session = try result.get()
103+
switch result {
104+
case .success(let session):
103105
XCTAssertFalse(session.isSignedIn, "Auth session should NOT be signedIn")
104-
} catch {
106+
case .failure(let error):
105107
XCTFail("Fetch auth session failed with error - \(error)")
106108
}
107109
}

AmplifyPlugins/Auth/AWSCognitoAuthPluginIntegrationTests/AuthDeviceTests/AuthDeviceOperationTests.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import AWSMobileClientXCF
1818
class AuthDeviceOperationTests: AWSAuthBaseTest {
1919

2020
override func setUpWithError() throws {
21+
continueAfterFailure = false
2122
try initializeAmplify()
2223
}
2324

@@ -37,7 +38,9 @@ class AuthDeviceOperationTests: AWSAuthBaseTest {
3738
func testForgetDeviceWithSignedOutUser() {
3839
let forgetDeviceExpectation = expectation(description: "Received event result from forgetDevice")
3940
_ = Amplify.Auth.forgetDevice { result in
40-
forgetDeviceExpectation.fulfill()
41+
defer {
42+
forgetDeviceExpectation.fulfill()
43+
}
4144
switch result {
4245
case .success:
4346
XCTFail("Forget device with signed out user should not return success")
@@ -66,17 +69,24 @@ class AuthDeviceOperationTests: AWSAuthBaseTest {
6669
let signInExpectation = expectation(description: "SignIn operation should complete")
6770
AuthSignInHelper.registerAndSignInUser(username: username, password: password,
6871
email: email) { didSucceed, error in
69-
signInExpectation.fulfill()
72+
defer {
73+
signInExpectation.fulfill()
74+
}
7075
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
7176
}
7277
wait(for: [signInExpectation], timeout: networkTimeout)
78+
defer {
79+
_ = Amplify.Auth.signOut()
80+
}
7381

7482
let user = Amplify.Auth.getCurrentUser()
7583
XCTAssertNotNil(user)
7684

7785
let forgetDeviceExpectation = expectation(description: "Received event result from forgetDevice")
7886
_ = Amplify.Auth.forgetDevice { result in
79-
forgetDeviceExpectation.fulfill()
87+
defer {
88+
forgetDeviceExpectation.fulfill()
89+
}
8090
switch result {
8191
case .success:
8292
XCTFail("Forget device with untracked device should not return result")
@@ -86,7 +96,6 @@ class AuthDeviceOperationTests: AWSAuthBaseTest {
8696
XCTFail("Should return deviceNotTracked")
8797
return
8898
}
89-
9099
}
91100
}
92101
wait(for: [forgetDeviceExpectation], timeout: networkTimeout)

AmplifyPlugins/Auth/AWSCognitoAuthPluginIntegrationTests/AuthSignInTests/AuthUsernamePasswordSignInTests.swift

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import AmplifyTestCommon
1313
class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
1414

1515
override func setUpWithError() throws {
16+
continueAfterFailure = false
1617
try initializeAmplify()
1718
}
1819

@@ -37,7 +38,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
3738
let signUpExpectation = expectation(description: "SignUp operation should complete")
3839
AuthSignInHelper.signUpUser(username: username, password: password,
3940
email: email) { didSucceed, error in
40-
signUpExpectation.fulfill()
41+
defer {
42+
signUpExpectation.fulfill()
43+
}
4144
XCTAssertTrue(didSucceed, "Signup operation failed - \(String(describing: error))")
4245
}
4346
wait(for: [signUpExpectation], timeout: networkTimeout)
@@ -74,7 +77,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
7477
let signUpExpectation = expectation(description: "SignUp operation should complete")
7578
AuthSignInHelper.signUpUser(username: username, password: password,
7679
email: email) { didSucceed, error in
77-
signUpExpectation.fulfill()
80+
defer {
81+
signUpExpectation.fulfill()
82+
}
7883
XCTAssertTrue(didSucceed, "Signup operation failed - \(String(describing: error))")
7984
}
8085
wait(for: [signUpExpectation], timeout: networkTimeout)
@@ -114,7 +119,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
114119
let signUpExpectation = expectation(description: "SignUp operation should complete")
115120
AuthSignInHelper.signUpUser(username: username, password: password,
116121
email: email) { didSucceed, error in
117-
signUpExpectation.fulfill()
122+
defer {
123+
signUpExpectation.fulfill()
124+
}
118125
XCTAssertTrue(didSucceed, "Signup operation failed - \(String(describing: error))")
119126
}
120127
wait(for: [signUpExpectation], timeout: networkTimeout)
@@ -157,7 +164,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
157164
let signUpExpectation = expectation(description: "SignUp operation should complete")
158165
AuthSignInHelper.signUpUser(username: username, password: password,
159166
email: email) { didSucceed, error in
160-
signUpExpectation.fulfill()
167+
defer {
168+
signUpExpectation.fulfill()
169+
}
161170
XCTAssertTrue(didSucceed, "Signup operation failed - \(String(describing: error))")
162171
}
163172
wait(for: [signUpExpectation], timeout: networkTimeout)
@@ -230,7 +239,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
230239
let signUpExpectation = expectation(description: "SignUp operation should complete")
231240
AuthSignInHelper.signUpUser(username: username, password: password,
232241
email: email) { didSucceed, error in
233-
signUpExpectation.fulfill()
242+
defer {
243+
signUpExpectation.fulfill()
244+
}
234245
XCTAssertTrue(didSucceed, "Signup operation failed - \(String(describing: error))")
235246
}
236247
wait(for: [signUpExpectation], timeout: networkTimeout)
@@ -297,7 +308,9 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
297308
let firstSignInExpectation = expectation(description: "SignIn operation should complete")
298309
AuthSignInHelper.registerAndSignInUser(username: username, password: password,
299310
email: email) { didSucceed, error in
300-
firstSignInExpectation.fulfill()
311+
defer {
312+
firstSignInExpectation.fulfill()
313+
}
301314
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
302315
}
303316
wait(for: [firstSignInExpectation], timeout: networkTimeout)
@@ -359,8 +372,10 @@ class AuthUsernamePasswordSignInTests: AWSAuthBaseTest {
359372
let operationExpectation = expectation(description: "Operation should not complete")
360373
operationExpectation.isInverted = true
361374
let operation = Amplify.Auth.signIn(username: username, password: password) { result in
375+
defer {
376+
operationExpectation.fulfill()
377+
}
362378
XCTFail("Received result \(result)")
363-
operationExpectation.fulfill()
364379
}
365380
XCTAssertNotNil(operation, "signIn operations should not be nil")
366381
operation.cancel()

AmplifyPlugins/Auth/AWSCognitoAuthPluginIntegrationTests/AuthSignOutTests/AuthSignOutTests.swift

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import AmplifyTestCommon
1515
class AuthSignedOutTests: AWSAuthBaseTest {
1616

1717
override func setUpWithError() throws {
18+
continueAfterFailure = false
1819
try initializeAmplify()
1920
}
2021

@@ -39,7 +40,7 @@ class AuthSignedOutTests: AWSAuthBaseTest {
3940
}
4041
switch result {
4142
case .success:
42-
print("Success signout")
43+
break
4344
case .failure(let error):
4445
XCTFail("SignOut should not fail - \(error)")
4546
}
@@ -65,7 +66,9 @@ class AuthSignedOutTests: AWSAuthBaseTest {
6566
AuthSignInHelper.registerAndSignInUser(username: username,
6667
password: password,
6768
email: email) { didSucceed, error in
68-
signInExpectation.fulfill()
69+
defer {
70+
signInExpectation.fulfill()
71+
}
6972
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
7073
}
7174
wait(for: [signInExpectation], timeout: networkTimeout)
@@ -76,10 +79,10 @@ class AuthSignedOutTests: AWSAuthBaseTest {
7679
defer {
7780
authSignedInSessionExpectation.fulfill()
7881
}
79-
do {
80-
let session = try result.get()
82+
switch result {
83+
case .success(let session):
8184
XCTAssertTrue(session.isSignedIn, "Auth session should be signedin")
82-
} catch {
85+
case .failure(let error):
8386
XCTFail("Fetch auth session failed with error - \(error)")
8487
}
8588
}
@@ -92,7 +95,7 @@ class AuthSignedOutTests: AWSAuthBaseTest {
9295
}
9396
switch result {
9497
case .success:
95-
print("Success signout")
98+
break
9699
case .failure(let error):
97100
XCTFail("SignOut should not fail - \(error)")
98101
}
@@ -133,7 +136,9 @@ class AuthSignedOutTests: AWSAuthBaseTest {
133136
AuthSignInHelper.registerAndSignInUser(username: username,
134137
password: password,
135138
email: email) { didSucceed, error in
136-
signInExpectation.fulfill()
139+
defer {
140+
signInExpectation.fulfill()
141+
}
137142
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
138143
}
139144
wait(for: [signInExpectation], timeout: networkTimeout)
@@ -145,10 +150,10 @@ class AuthSignedOutTests: AWSAuthBaseTest {
145150
defer {
146151
authSignedInSessionExpectation.fulfill()
147152
}
148-
do {
149-
let session = try result.get()
153+
switch result {
154+
case .success(let session):
150155
XCTAssertTrue(session.isSignedIn, "Auth session should be signedin")
151-
} catch {
156+
case .failure(let error):
152157
XCTFail("Fetch auth session failed with error - \(error)")
153158
}
154159
}
@@ -161,7 +166,7 @@ class AuthSignedOutTests: AWSAuthBaseTest {
161166
}
162167
switch result {
163168
case .success:
164-
print("Success signout")
169+
break
165170
case .failure(let error):
166171
XCTFail("SignOut should not fail - \(error)")
167172
}

AmplifyPlugins/Auth/AWSCognitoAuthPluginIntegrationTests/AuthUserAttributesTests/AuthUserAttributesTests.swift

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ import XCTest
1010
import AWSCognitoAuthPlugin
1111
import AmplifyTestCommon
1212

13+
// swiftlint:disable line_length
1314
class AuthUserAttributesTests: AWSAuthBaseTest {
1415

1516
override func setUpWithError() throws {
17+
continueAfterFailure = false
1618
try initializeAmplify()
1719
}
1820

@@ -41,7 +43,9 @@ class AuthUserAttributesTests: AWSAuthBaseTest {
4143
AuthSignInHelper.registerAndSignInUser(username: username,
4244
password: password,
4345
email: email) { didSucceed, error in
44-
signInExpectation.fulfill()
46+
defer {
47+
signInExpectation.fulfill()
48+
}
4549
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
4650
}
4751
wait(for: [signInExpectation], timeout: networkTimeout)
@@ -50,9 +54,12 @@ class AuthUserAttributesTests: AWSAuthBaseTest {
5054
let pluginOptions = AWSUpdateUserAttributeOptions(metadata: ["mydata": "myvalue"])
5155
let options = AuthUpdateUserAttributeRequest.Options(pluginOptions: pluginOptions)
5256
_ = Amplify.Auth.update(userAttribute: AuthUserAttribute(.email, value: email), options: options) { result in
57+
defer {
58+
updateExpectation.fulfill()
59+
}
5360
switch result {
5461
case .success:
55-
updateExpectation.fulfill()
62+
break
5663
case .failure(let error):
5764
XCTFail("Failed to update user attribute with \(error)")
5865
}
@@ -80,17 +87,22 @@ class AuthUserAttributesTests: AWSAuthBaseTest {
8087
AuthSignInHelper.registerAndSignInUser(username: username,
8188
password: password,
8289
email: email) { didSucceed, error in
83-
signInExpectation.fulfill()
90+
defer {
91+
signInExpectation.fulfill()
92+
}
8493
XCTAssertTrue(didSucceed, "SignIn operation failed - \(String(describing: error))")
8594
}
8695
wait(for: [signInExpectation], timeout: networkTimeout)
8796

8897
let updateExpectation = expectation(description: "Update operation should complete")
8998

9099
_ = Amplify.Auth.update(userAttribute: AuthUserAttribute(.email, value: email2)) { result in
100+
defer {
101+
updateExpectation.fulfill()
102+
}
91103
switch result {
92104
case .success:
93-
updateExpectation.fulfill()
105+
break
94106
case .failure(let error):
95107
XCTFail("Failed to update user attribute with \(error)")
96108
}
@@ -102,10 +114,12 @@ class AuthUserAttributesTests: AWSAuthBaseTest {
102114
let pluginOptions = AWSAttributeResendConfirmationCodeOptions(metadata: ["mydata": "myvalue"])
103115
let options = AuthAttributeResendConfirmationCodeRequest.Options(pluginOptions: pluginOptions)
104116
_ = Amplify.Auth.resendConfirmationCode(for: .email, options: options) { result in
117+
defer {
118+
resendExpectation.fulfill()
119+
}
105120
switch result {
106121
case .success(let deliveryDetails):
107122
print("Resend code send to - \(deliveryDetails)")
108-
resendExpectation.fulfill()
109123
case .failure(let error):
110124
print("Resend code failed with error \(error)")
111125
}

0 commit comments

Comments
 (0)