Skip to content

Commit

Permalink
fix: Fixes iOS package linking (#131)
Browse files Browse the repository at this point in the history
Update Changelog (#133)

OKTA-406162
<<<Jenkins Check-In of Tested SHA: 3941fe7 for [email protected]>>>
Artifact: okta-react-native
Files changed count: 15
PR Link: "#146"
  • Loading branch information
oleggnidets-okta authored and eng-prod-CI-bot-okta committed Jun 22, 2021
1 parent 5540962 commit ac1953e
Show file tree
Hide file tree
Showing 10 changed files with 74 additions and 37 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 1.11.1

### Bug Fix

- [#131](https://github.com/okta/okta-react-native/pull/131) Fixes iOS package linking

# 1.11.0

### Feature
Expand Down
2 changes: 1 addition & 1 deletion OktaSdkBridgeReactNative.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.swift_version = '5.0'

s.source = source
s.source_files = 'ios/**/*.{h,m,swift}', 'packages/okta-react-native/ios/**/*.{h,m,swift}'
s.source_files = 'ios/OktaSdkBridge/**/*.{h,m,swift}', 'packages/okta-react-native/ios/OktaSdkBridge/**/*.{h,m,swift}'

s.dependency 'React'
s.dependency 'OktaOidc', '3.10.2'
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,10 @@ class OktaSdkBridge: RCTEventEmitter {
return OktaOidcStateManager.readFromSecureStorage(for: config)
}

private(set) var oktaOidc: OktaOidcProtocol?
var oktaOidc: OktaOidcProtocol?

override var methodQueue: DispatchQueue { .main }

init(oidc: OktaOidcProtocol? = nil) {
self.oktaOidc = oidc
}

func presentedViewController() -> UIViewController? {
RCTPresentedViewController()
}
Expand Down
File renamed without changes.
File renamed without changes.
22 changes: 15 additions & 7 deletions ios/ReactNativeOktaSdkBridge.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,7 @@
58B511D21A9E6C8500147676 = {
isa = PBXGroup;
children = (
A99754E122C3FC5800503B21 /* OktaSdkConstant.swift */,
A99754DF22C124B400503B21 /* OktaSDKError.swift */,
A997533922BAC05800503B21 /* OktaSdkBridge.swift */,
B3E7B5891CC2AC0600A0062D /* ReactNativeOktaSdkBridge.m */,
A997533822BAC05700503B21 /* ReactNativeOktaSdkBridge-Bridging-Header.h */,
92825C82264AB55E00A31DEB /* OktaSdkBridge */,
923AF9B62625A7D000EE4CF4 /* Tests */,
134814211AA4EA7D00B7C361 /* Products */,
E23CCD718BC59153B4164FEA /* Pods */,
Expand All @@ -131,6 +127,18 @@
path = Tests;
sourceTree = "<group>";
};
92825C82264AB55E00A31DEB /* OktaSdkBridge */ = {
isa = PBXGroup;
children = (
A99754E122C3FC5800503B21 /* OktaSdkConstant.swift */,
A99754DF22C124B400503B21 /* OktaSDKError.swift */,
A997533922BAC05800503B21 /* OktaSdkBridge.swift */,
B3E7B5891CC2AC0600A0062D /* ReactNativeOktaSdkBridge.m */,
A997533822BAC05700503B21 /* ReactNativeOktaSdkBridge-Bridging-Header.h */,
);
path = OktaSdkBridge;
sourceTree = "<group>";
};
92F22C9D262872CA00EE57FD /* Mocks */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -532,7 +540,7 @@
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "ReactNativeOktaSdkBridge-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "OktaSdkBridge/ReactNativeOktaSdkBridge-Bridging-Header.h";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Expand All @@ -555,7 +563,7 @@
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "ReactNativeOktaSdkBridge-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "OktaSdkBridge/ReactNativeOktaSdkBridge-Bridging-Header.h";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
Expand Down
72 changes: 49 additions & 23 deletions ios/Tests/OktaSdkBridgeTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,17 @@ final class OktaSdkBridgeTests: XCTestCase {

func testMainQueue() {
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

XCTAssertTrue(OktaSdkBridge.requiresMainQueueSetup())
XCTAssertEqual(bridge.methodQueue, .main)
}

func testSupportedEvent() {
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

XCTAssertEqual(bridge.supportedEvents(), [
OktaSdkConstant.SIGN_IN_SUCCESS,
Expand All @@ -46,7 +48,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testCreateConfigSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

let expectation = XCTestExpectation(description: "createConfig must succeed.")

Expand All @@ -71,7 +74,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testSignInSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

// when
bridge.signIn([:])
Expand All @@ -88,7 +92,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testSignInFailed() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

// when
bridge.signIn([:])
Expand All @@ -105,13 +110,17 @@ final class OktaSdkBridgeTests: XCTestCase {
func testSignInWithNoSSO() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

// when
bridge.signIn(["noSSO": "true"])

// then
XCTAssertTrue(oidc.configuration.noSSO)
if #available(iOS 13.0, *) {
XCTAssertTrue(oidc.configuration.noSSO)
}

XCTAssertNotNil(bridge.eventsRegister[OktaSdkConstant.SIGN_IN_SUCCESS])
}

Expand All @@ -120,7 +129,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testAuthenticationWithTokenSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

let expectation = XCTestExpectation(description: "Authentication with Session Token must succeed.")

Expand All @@ -144,7 +154,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testAuthenticationWithTokenFailed() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

let expectation = XCTestExpectation(description: "Authentication with Session Token must fail.")

Expand All @@ -165,7 +176,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testSignOutSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
// before sign out we should store state manager.
testSignInSucceeded()

Expand All @@ -182,7 +194,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testSignOutFailed() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

// before sign out we should store state manager.
testSignInSucceeded()
Expand All @@ -200,7 +213,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testGetAccessTokenSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

testSignInSucceeded()

Expand All @@ -223,7 +237,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testGetIDTokenSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

testSignInSucceeded()

Expand All @@ -246,7 +261,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testGetUserSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -267,7 +283,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testIsAuthenticatedSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
stateManager.accessToken = OktaOidcStateManager.mockAccessToken
stateManager.idToken = OktaOidcStateManager.mockIdToken
Expand All @@ -292,7 +309,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testRefreshTokensSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: true)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
stateManager.accessToken = OktaOidcStateManager.mockAccessToken
stateManager.idToken = OktaOidcStateManager.mockIdToken
Expand All @@ -318,7 +336,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testClearTokensSucceeded() {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

let expectation = XCTestExpectation(description: "Clear Tokens must succeeded.")

Expand All @@ -338,7 +357,9 @@ final class OktaSdkBridgeTests: XCTestCase {
func testIntrospectIDTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc

let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -357,7 +378,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testIntrospectAccessTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -376,7 +398,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testIntrospectRefreshTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -395,7 +418,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testRevokeIDTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -416,7 +440,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testRevokeAccessTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand All @@ -437,7 +462,8 @@ final class OktaSdkBridgeTests: XCTestCase {
func testRevokeRefreshTokenSucceeded() throws {
// given
let oidc = OktaOidcMock(configuration: config, shouldFail: false)
let bridge = OktaSdkBridgeMock(oidc: oidc)
let bridge = OktaSdkBridgeMock()
bridge.oktaOidc = oidc
let stateManager = OktaOidcStateManagerMock(shouldFail: false, config: try XCTUnwrap(bridge.config))
bridge.setCustomStateManager(stateManager)

Expand Down
3 changes: 2 additions & 1 deletion scripts/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ const FILES_TO_COPY = [
'index.js',
'types/index.d.ts',
'android',
'ios',
'ios/OktaSdkBridge',
'ios/ReactNativeOktaSdkBridge.xcodeproj',
'LICENSE',
'*.md',
'package.json',
Expand Down

0 comments on commit ac1953e

Please sign in to comment.