MOBILESDK-291: Migrate tests to StripeCore and add tests to CI (#276)

StripeCore tests:
- Migrated tests specific to classes in `StripeCore` to `StripeCoreTests`
- Created a `StripeCoreTestUtils` target to contain `MockAnalyticsClient` so the mock can be included in test targets for multiple SDKs
- Added StripeCore tests to `Fastfile` & `circleci/config.yml` so they'll run on our CI
- Updated the [Configure Tests](https://confluence.corp.stripe.com/display/~mludowise/%5BWIP%5D+iOS+SDK+Runbook%3A+Adding+a+new+module#id-[WIP]iOSSDKRunbook:Addinganewmodule-ConfigureTests) portion of our runbook for adding a new module to match the steps taken in this PR

Cleanup:
- Renamed `main_tests` and `standard-tests` to `stripeios-tests` in the Fastfile & circle yml so our test names match the module they're testing
- Added `DEFAULT_TEST_DEVICE` and `DEFAULT_TEST_VERSION` consts to our Fastfile to help ensure consistent testing platforms across our tests as we add more modules
This commit is contained in:
Mel 2021-07-08 15:03:22 -07:00 committed by GitHub
parent 8ce9d92af8
commit 5e550dd4ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 373 additions and 42 deletions

View File

@ -61,14 +61,24 @@ jobs:
paths:
- .
standard-tests:
stripeios-tests:
executor: mac-executor
steps:
- attach_workspace:
at: .
- prep_environment
- run: "bundle exec fastlane main_tests"
- run: "bundle exec fastlane stripeios_tests"
- archive_logs
stripecore-tests:
executor: mac-executor
steps:
- attach_workspace:
at: .
- prep_environment
- run: "bundle exec fastlane stripecore_tests"
- archive_logs
e2e-only:
@ -186,7 +196,10 @@ workflows:
build-and-test:
jobs:
- ci-builds
- standard-tests:
- stripeios-tests:
requires:
- ci-builds
- stripecore-tests:
requires:
- ci-builds
- ui-tests:

View File

@ -60,7 +60,6 @@
3111C552252BD00400207E32 /* NSDecimalNumber+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B3252BC79200207E32 /* NSDecimalNumber+StripeTest.swift */; };
3111C555252BD8DD00207E32 /* NSDictionary+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B0252BC79100207E32 /* NSDictionary+StripeTest.swift */; };
3111C559252BDAA800207E32 /* NSArray+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD9B25117C9900CC59EF /* NSArray+Stripe.swift */; };
3111C55C252BDAEE00207E32 /* NSMutableURLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C415252BC7A200207E32 /* NSMutableURLRequest+StripeTest.swift */; };
3111C55F252BDB0000207E32 /* NSString+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F6252BC79D00207E32 /* NSString+StripeTest.swift */; };
3111C562252BDB8500207E32 /* NSURLComponents_StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C38D252BC78C00207E32 /* NSURLComponents_StripeTest.swift */; };
3111C565252BDBCB00207E32 /* PKPayment+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3E5252BC79A00207E32 /* PKPayment+StripeTest.swift */; };
@ -524,7 +523,6 @@
B6596AC2255C474D00F68826 /* CardDetailsEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6596AC1255C474D00F68826 /* CardDetailsEditView.swift */; };
B65E749525832A290080D9B3 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B65E749425832A290080D9B3 /* LoadingViewController.swift */; };
B65E749B258829550080D9B3 /* STPAnalyticsClient+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B65E749A258829550080D9B3 /* STPAnalyticsClient+PaymentSheet.swift */; };
B65E74AC258930500080D9B3 /* STPAnalyticsClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B65E74AB258930500080D9B3 /* STPAnalyticsClientTest.swift */; };
B660B312251D344700919002 /* STPAPIClient+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDCF25117C9C00CC59EF /* STPAPIClient+ApplePay.swift */; };
B6615A192564849100994B00 /* STPApplePayContext+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6615A182564849100994B00 /* STPApplePayContext+PaymentSheet.swift */; };
B66B39B6223045EF006D1CAD /* CardPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = B66B39B5223045EF006D1CAD /* CardPaymentMethod.json */; };
@ -671,7 +669,6 @@
C1D7B5251E36C70D002181F5 /* STPSourceFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1D7B5241E36C70D002181F5 /* STPSourceFunctionalTest.m */; };
E60437F225D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60437F125D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift */; };
E60437F625D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60437F525D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift */; };
E61BEEAC265F6B5B0002FA4F /* URLEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61BEEAB265F6B5B0002FA4F /* URLEncoderTest.swift */; };
E61BEEAE265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */; };
E61BEEB0265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */; };
E620F1D8265F5FA200233581 /* PaymentAnalyticTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */; };
@ -682,7 +679,6 @@
E69552EB25D1E4F000753FDA /* STPGenericInputPickerField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69552EA25D1E4EF00753FDA /* STPGenericInputPickerField.swift */; };
E6A73629268E7919004655BF /* STPAnalyticsProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A73628268E7919004655BF /* STPAnalyticsProtocol.swift */; };
E6B0F5592686C0BA00055EAF /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6B0F5582686C0BA00055EAF /* StripeCore.framework */; };
E6B8971F25FC4FD6002428E1 /* MockAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B8971E25FC4FD6002428E1 /* MockAnalyticsClient.swift */; };
F1122A7E1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */; };
F116E94C1D83405E0026A52A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11C74B9B164043050071C2CA /* Foundation.framework */; };
F116E94D1D8340640026A52A /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A0D74F918F6106100966D7B /* Security.framework */; };
@ -841,7 +837,6 @@
3111C411252BC7A100207E32 /* NSArray+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSArray+StripeTest.swift"; sourceTree = "<group>"; };
3111C412252BC7A100207E32 /* STPThreeDSButtonCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSButtonCustomizationTest.swift; sourceTree = "<group>"; };
3111C413252BC7A200207E32 /* STPPaymentOptionsViewControllerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewControllerTest.swift; sourceTree = "<group>"; };
3111C415252BC7A200207E32 /* NSMutableURLRequest+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+StripeTest.swift"; sourceTree = "<group>"; };
3113D8C0250AA97700C495F1 /* Stripe.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Stripe.modulemap; sourceTree = "<group>"; };
3118D57626260A3100E1A3BD /* STPPaymentMethodWeChatPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPay.swift; sourceTree = "<group>"; };
3118D57726260A3100E1A3BD /* STPPaymentMethodWeChatPayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPayParams.swift; sourceTree = "<group>"; };
@ -1339,7 +1334,6 @@
B6596AC1255C474D00F68826 /* CardDetailsEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardDetailsEditView.swift; sourceTree = "<group>"; };
B65E749425832A290080D9B3 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = "<group>"; };
B65E749A258829550080D9B3 /* STPAnalyticsClient+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentSheet.swift"; sourceTree = "<group>"; };
B65E74AB258930500080D9B3 /* STPAnalyticsClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientTest.swift; sourceTree = "<group>"; };
B6615A182564849100994B00 /* STPApplePayContext+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPApplePayContext+PaymentSheet.swift"; sourceTree = "<group>"; };
B66B39B5223045EF006D1CAD /* CardPaymentMethod.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CardPaymentMethod.json; sourceTree = "<group>"; };
B66D5023222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodThreeDSecureUsageTest.m; sourceTree = "<group>"; };
@ -1439,7 +1433,6 @@
C1E4F8051EBBEB0F00E611F5 /* STPCustomerContextTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCustomerContextTest.m; sourceTree = "<group>"; };
E60437F125D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldSnapshotTests.swift; sourceTree = "<group>"; };
E60437F525D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldValidatorTest.swift; sourceTree = "<group>"; };
E61BEEAB265F6B5B0002FA4F /* URLEncoderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLEncoderTest.swift; sourceTree = "<group>"; };
E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentsTest.swift; sourceTree = "<group>"; };
E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentSheetTest.swift; sourceTree = "<group>"; };
E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentAnalyticTest.swift; sourceTree = "<group>"; };
@ -1451,7 +1444,6 @@
E69552EA25D1E4EF00753FDA /* STPGenericInputPickerField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerField.swift; sourceTree = "<group>"; };
E6A73628268E7919004655BF /* STPAnalyticsProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsProtocol.swift; sourceTree = "<group>"; };
E6B0F5582686C0BA00055EAF /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E6B8971E25FC4FD6002428E1 /* MockAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClient.swift; sourceTree = "<group>"; };
ED627D57207EA348007EFC56 /* nb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nb; path = Localizations/nb.lproj/Localizable.strings; sourceTree = "<group>"; };
F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationBar+StripeTest.m"; sourceTree = "<group>"; };
F148ABE71D5E805A0014FD92 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = Localizations/en.lproj/Localizable.strings; sourceTree = "<group>"; };
@ -1603,7 +1595,6 @@
04E01F8421AA36320061402F /* STPNetworkStubbingTestCase.m */,
C1D23FAF1D37FC90002FD83C /* STPTestUtils.h */,
C1D23FB01D37FC90002FD83C /* STPTestUtils.m */,
E6B8971E25FC4FD6002428E1 /* MockAnalyticsClient.swift */,
C18867D81E8B093300A77634 /* Unit */,
B6D98971251C07FA00C3D894 /* StripeiOS Tests-Bridging-Header.h */,
3185126B252FE67E008C0C57 /* StripeTests-Prefix.pch */,
@ -2613,7 +2604,6 @@
3111C411252BC7A100207E32 /* NSArray+StripeTest.swift */,
3111C3B3252BC79200207E32 /* NSDecimalNumber+StripeTest.swift */,
3111C3B0252BC79100207E32 /* NSDictionary+StripeTest.swift */,
3111C415252BC7A200207E32 /* NSMutableURLRequest+StripeTest.swift */,
3111C3F6252BC79D00207E32 /* NSString+StripeTest.swift */,
3111C38D252BC78C00207E32 /* NSURLComponents_StripeTest.swift */,
E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */,
@ -2624,7 +2614,6 @@
3111C3BA252BC79300207E32 /* STPAddressViewModelTest.swift */,
E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */,
E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */,
B65E74AB258930500080D9B3 /* STPAnalyticsClientTest.swift */,
3111C3A9252BC79000207E32 /* STPAPIClientTest.swift */,
3111C401252BC79F00207E32 /* STPApplePayContextTest.swift */,
8B82C5C91F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m */,
@ -2761,7 +2750,6 @@
B646C25326827EE500F4EAE5 /* TextFieldElement+IBANTest.swift */,
3111C3C7252BC79500207E32 /* UIImage+StripeTests.swift */,
F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */,
E61BEEAB265F6B5B0002FA4F /* URLEncoderTest.swift */,
B6E8A93D26580A6F00A48CC8 /* UserDefaults+StripeTest.swift */,
);
name = Unit;
@ -3112,7 +3100,6 @@
3111C60B252D224C00207E32 /* STPCardTest.swift in Sources */,
3111C598252BED0500207E32 /* STPPhoneNumberValidatorTest.swift in Sources */,
3619624E244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m in Sources */,
B65E74AC258930500080D9B3 /* STPAnalyticsClientTest.swift in Sources */,
B6D98973251C07FA00C3D894 /* APIRequestTest.swift in Sources */,
3111C5D1252BFDFC00207E32 /* STPPaymentMethodCardTest.swift in Sources */,
B68F1C792234740B0030B438 /* STPPaymentMethodCardWalletTest.m in Sources */,
@ -3149,7 +3136,6 @@
3111C64C252D41F800207E32 /* STPFormEncoderTest.swift in Sources */,
36E28407254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift in Sources */,
36ADAE232523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift in Sources */,
E61BEEAC265F6B5B0002FA4F /* URLEncoderTest.swift in Sources */,
F148ABFB1D5E88C70014FD92 /* STPTestUtils.m in Sources */,
3111C5EE252CE7B900207E32 /* STPThreeDSFooterCustomizationTest.swift in Sources */,
31C5B86E252E518E00A481A7 /* STPAddCardViewControllerTest.swift in Sources */,
@ -3174,7 +3160,6 @@
3111C42C252BC7A300207E32 /* STPTelemetryClientTest.swift in Sources */,
36AC3D0C2523F18300F252D7 /* STPIntentActionTypeTest.swift in Sources */,
E60437F225D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */,
3111C55C252BDAEE00207E32 /* NSMutableURLRequest+StripeTest.swift in Sources */,
B6B41F71223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m in Sources */,
316F813F25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m in Sources */,
3111C61B252D36A100207E32 /* STPCertTest.swift in Sources */,
@ -3229,7 +3214,6 @@
368E1F6D254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift in Sources */,
F3E73D4A2683B78300438FD6 /* STPIntentWithPreferencesTest.swift in Sources */,
B3302F462006FBA7005DDBE9 /* STPConnectAccountParamsTest.m in Sources */,
E6B8971F25FC4FD6002428E1 /* MockAnalyticsClient.swift in Sources */,
448895AF245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m in Sources */,
B613DD3C22C54AA800C7603F /* STPSetupIntentTest.m in Sources */,
3111C555252BD8DD00207E32 /* NSDictionary+StripeTest.swift in Sources */,

View File

@ -28,6 +28,11 @@
E69D642926855B9B0090B43D /* StripeiOS-Release.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */; };
E6E38EE8268BE48300233B24 /* StripeAPIConfiguration+Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E38EE7268BE48300233B24 /* StripeAPIConfiguration+Version.swift */; };
E6E38EEA268BE69F00233B24 /* PublishableKeyProviderSPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E38EE9268BE69F00233B24 /* PublishableKeyProviderSPI.swift */; };
E6FB9BAB268EA7E1000FDB4F /* MockAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */; };
E6FB9BAF268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */; };
E6FB9BB2268EA911000FDB4F /* STPAnalyticsClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */; };
E6FB9BBC268EA95F000FDB4F /* StripeCoreTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
E6FB9BC5268EAEF3000FDB4F /* URLEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -38,6 +43,20 @@
remoteGlobalIDString = E69D63FA26855B250090B43D;
remoteInfo = StripeCore;
};
E6FB9BC0268EAA0B000FDB4F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = E69D63F226855B250090B43D /* Project object */;
proxyType = 1;
remoteGlobalIDString = E6FB9BB7268EA95F000FDB4F;
remoteInfo = StripeCoreTestUtils;
};
E6FB9BC2268EAA21000FDB4F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = E69D63F226855B250090B43D /* Project object */;
proxyType = 1;
remoteGlobalIDString = E69D63FA26855B250090B43D;
remoteInfo = StripeCore;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -65,6 +84,13 @@
E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = "<group>"; };
E6E38EE7268BE48300233B24 /* StripeAPIConfiguration+Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeAPIConfiguration+Version.swift"; sourceTree = "<group>"; };
E6E38EE9268BE69F00233B24 /* PublishableKeyProviderSPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublishableKeyProviderSPI.swift; sourceTree = "<group>"; };
E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClient.swift; sourceTree = "<group>"; };
E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+StripeTest.swift"; sourceTree = "<group>"; };
E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientTest.swift; sourceTree = "<group>"; };
E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCoreTestUtils.h; sourceTree = "<group>"; };
E6FB9BBB268EA95F000FDB4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLEncoderTest.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -83,6 +109,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E6FB9BB5268EA95F000FDB4F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@ -129,6 +162,7 @@
E69D641526855B9B0090B43D /* BuildConfigurations */,
E69D63FD26855B250090B43D /* StripeCore */,
E69D640826855B260090B43D /* StripeCoreTests */,
E6FB9BB9268EA95F000FDB4F /* StripeCoreTestUtils */,
E69D63FC26855B250090B43D /* Products */,
);
sourceTree = "<group>";
@ -138,6 +172,7 @@
children = (
E69D63FB26855B250090B43D /* StripeCore.framework */,
E69D640426855B260090B43D /* StripeCoreTests.xctest */,
E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */,
);
name = Products;
sourceTree = "<group>";
@ -155,6 +190,9 @@
E69D640826855B260090B43D /* StripeCoreTests */ = {
isa = PBXGroup;
children = (
E6FB9BC8268EAF87000FDB4F /* Analytics */,
E6FB9BC9268EAF90000FDB4F /* Categories */,
E6FB9BC7268EAF80000FDB4F /* Helpers */,
E69D640B26855B260090B43D /* Info.plist */,
);
path = StripeCoreTests;
@ -189,6 +227,48 @@
path = Source;
sourceTree = "<group>";
};
E6FB9BA9268EA7BD000FDB4F /* Mocks */ = {
isa = PBXGroup;
children = (
E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */,
);
path = Mocks;
sourceTree = "<group>";
};
E6FB9BB9268EA95F000FDB4F /* StripeCoreTestUtils */ = {
isa = PBXGroup;
children = (
E6FB9BA9268EA7BD000FDB4F /* Mocks */,
E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */,
E6FB9BBB268EA95F000FDB4F /* Info.plist */,
);
path = StripeCoreTestUtils;
sourceTree = "<group>";
};
E6FB9BC7268EAF80000FDB4F /* Helpers */ = {
isa = PBXGroup;
children = (
E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */,
);
path = Helpers;
sourceTree = "<group>";
};
E6FB9BC8268EAF87000FDB4F /* Analytics */ = {
isa = PBXGroup;
children = (
E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */,
);
path = Analytics;
sourceTree = "<group>";
};
E6FB9BC9268EAF90000FDB4F /* Categories */ = {
isa = PBXGroup;
children = (
E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */,
);
path = Categories;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@ -200,6 +280,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E6FB9BB3268EA95F000FDB4F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
E6FB9BBC268EA95F000FDB4F /* StripeCoreTestUtils.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@ -233,12 +321,32 @@
);
dependencies = (
E69D640726855B260090B43D /* PBXTargetDependency */,
E6FB9BC1268EAA0B000FDB4F /* PBXTargetDependency */,
);
name = StripeCoreTests;
productName = StripeCoreTests;
productReference = E69D640426855B260090B43D /* StripeCoreTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
E6FB9BB7268EA95F000FDB4F /* StripeCoreTestUtils */ = {
isa = PBXNativeTarget;
buildConfigurationList = E6FB9BBD268EA95F000FDB4F /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */;
buildPhases = (
E6FB9BB3268EA95F000FDB4F /* Headers */,
E6FB9BB4268EA95F000FDB4F /* Sources */,
E6FB9BB5268EA95F000FDB4F /* Frameworks */,
E6FB9BB6268EA95F000FDB4F /* Resources */,
);
buildRules = (
);
dependencies = (
E6FB9BC3268EAA21000FDB4F /* PBXTargetDependency */,
);
name = StripeCoreTestUtils;
productName = StripeCoreTestUtils;
productReference = E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@ -255,6 +363,9 @@
E69D640326855B260090B43D = {
CreatedOnToolsVersion = 12.5;
};
E6FB9BB7268EA95F000FDB4F = {
CreatedOnToolsVersion = 12.5;
};
};
};
buildConfigurationList = E69D63F526855B250090B43D /* Build configuration list for PBXProject "StripeCore" */;
@ -271,6 +382,7 @@
projectRoot = "";
targets = (
E69D63FA26855B250090B43D /* StripeCore */,
E6FB9BB7268EA95F000FDB4F /* StripeCoreTestUtils */,
E69D640326855B260090B43D /* StripeCoreTests */,
);
};
@ -301,6 +413,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E6FB9BB6268EA95F000FDB4F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -321,6 +440,17 @@
runOnlyForDeploymentPostprocessing = 0;
};
E69D640026855B260090B43D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E6FB9BAF268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift in Sources */,
E6FB9BB2268EA911000FDB4F /* STPAnalyticsClientTest.swift in Sources */,
E6FB9BC5268EAEF3000FDB4F /* URLEncoderTest.swift in Sources */,
E6FB9BAB268EA7E1000FDB4F /* MockAnalyticsClient.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E6FB9BB4268EA95F000FDB4F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@ -335,6 +465,16 @@
target = E69D63FA26855B250090B43D /* StripeCore */;
targetProxy = E69D640626855B260090B43D /* PBXContainerItemProxy */;
};
E6FB9BC1268EAA0B000FDB4F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E6FB9BB7268EA95F000FDB4F /* StripeCoreTestUtils */;
targetProxy = E6FB9BC0268EAA0B000FDB4F /* PBXContainerItemProxy */;
};
E6FB9BC3268EAA21000FDB4F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E69D63FA26855B250090B43D /* StripeCore */;
targetProxy = E6FB9BC2268EAA21000FDB4F /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
@ -451,6 +591,144 @@
};
name = Release;
};
E6FB9BBE268EA95F000FDB4F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = Y28TH9SHX7;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = StripeCoreTestUtils/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.5;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTestUtils;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
E6FB9BBF268EA95F000FDB4F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = Y28TH9SHX7;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = StripeCoreTestUtils/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.5;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTestUtils;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@ -481,6 +759,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
E6FB9BBD268EA95F000FDB4F /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E6FB9BBE268EA95F000FDB4F /* Debug */,
E6FB9BBF268EA95F000FDB4F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = E69D63F226855B250090B43D /* Project object */;

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

View File

@ -1,30 +1,28 @@
//
// MockAnalyticsClient.swift
// StripeiOS Tests
// StripeCoreTestUtils
//
// Created by Mel Ludowise on 3/12/21.
// Copyright © 2021 Stripe, Inc. All rights reserved.
//
@_spi(STP) import StripeCore
@testable import Stripe
// TODO(mludowise|MOBILESDK-291): Migrate to StripeCore
final class MockAnalyticsClient: STPAnalyticsClientProtocol {
@_spi(STP) public final class MockAnalyticsClient: STPAnalyticsClientProtocol {
private(set) var productUsage: Set<String> = []
private(set) var loggedAnalytics: [Analytic] = []
func addClass<T>(toProductUsageIfNecessary klass: T.Type) where T : STPAnalyticsProtocolSPI {
public func addClass<T>(toProductUsageIfNecessary klass: T.Type) where T : STPAnalyticsProtocolSPI {
productUsage.insert(klass.stp_analyticsIdentifierSPI)
}
func log(analytic: Analytic) {
public func log(analytic: Analytic) {
loggedAnalytics.append(analytic)
}
/// Clears `loggedAnalytics` and `productUsage`.
func reset() {
public func reset() {
productUsage = []
loggedAnalytics = []
}

View File

@ -0,0 +1,18 @@
//
// StripeCoreTestUtils.h
// StripeCoreTestUtils
//
// Created by Mel Ludowise on 7/1/21.
//
#import <Foundation/Foundation.h>
//! Project version number for StripeCoreTestUtils.
FOUNDATION_EXPORT double StripeCoreTestUtilsVersionNumber;
//! Project version string for StripeCoreTestUtils.
FOUNDATION_EXPORT const unsigned char StripeCoreTestUtilsVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <StripeCoreTestUtils/PublicHeader.h>

View File

@ -1,6 +1,6 @@
//
// STPAnalyticsTest.swift
// StripeiOS Tests
// StripeCoreTests
//
// Created by Yuki Tokuhiro on 12/15/20.
// Copyright © 2020 Stripe, Inc. All rights reserved.
@ -10,9 +10,7 @@ import Foundation
import XCTest
@testable @_spi(STP) import StripeCore
@testable import Stripe
// TODO(mludowise|MOBILESDK-291): Migrate to StripeCore
class STPAnalyticsClientTest: XCTestCase {
func testShouldCollectAnalytics_alwaysFalseInTest() {

View File

@ -1,14 +1,14 @@
// NSMutableURLRequest+StripeTest.swift
// Stripe
// StripeCoreTests
//
// Created by Ben Guo on 4/22/16.
// Copyright © 2016 Stripe, Inc. All rights reserved.
//
@_spi(STP) import StripeCore
@testable import Stripe
import XCTest
@_spi(STP) import StripeCore
// TODO(mludowise|MOBILESDK-291): Migrate to StripeCore
class NSMutableURLRequest_StripeTest: XCTestCase {
func testAddParametersToURL_noQuery() {
var request: NSMutableURLRequest?

View File

@ -1,6 +1,6 @@
//
// URLEncoderTest.swift
// StripeiOS Tests
// StripeCoreTests
//
// Created by Mel Ludowise on 5/26/21.
// Copyright © 2021 Stripe, Inc. All rights reserved.
@ -9,9 +9,7 @@
import XCTest
@_spi(STP) import StripeCore
@testable import Stripe
// TODO(mludowise|MOBILESDK-291): Migrate to StripeCore
final class URLEncoderTest: XCTestCase {
func testStringByReplacingSnakeCaseWithCamelCase() {
let camelCase = URLEncoder.stringByReplacingSnakeCase(withCamelCase: "test_1_2_34_test")

View File

@ -45,6 +45,10 @@ APPS = {
# }
}
# TODO(mludowise|RUN_MOBILESDK-120): Update tests for iOS 14.5 & use
# `DEFAULT_TEST_VERSION` for all applicable tests
DEFAULT_TEST_DEVICE = "iPhone 8"
DEFAULT_TEST_VERSION = "13.7"
platform :ios do
use_cache = false
@ -104,9 +108,15 @@ platform :ios do
end
end
lane :main_tests do
lane :stripeios_tests do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme StripeiOS --device 'iPhone 8' --version 13.7")
sh("./ci_scripts/test.rb --scheme StripeiOS --device '#{DEFAULT_TEST_DEVICE}' --version #{DEFAULT_TEST_VERSION}")
end
end
lane :stripecore_tests do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme StripeCore --device '#{DEFAULT_TEST_DEVICE}' --version #{DEFAULT_TEST_VERSION}")
end
end
@ -118,38 +128,40 @@ platform :ios do
lane :basic_integration_tests do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'Basic Integration' --device 'iPhone 11' --version 13.7")
sh("./ci_scripts/test.rb --scheme 'Basic Integration' --device 'iPhone 11' --version #{DEFAULT_TEST_VERSION}")
end
end
lane :integration_all do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'IntegrationTester' --device 'iPhone 12 Pro Max' --version 14.5")
sh("./ci_scripts/test.rb --scheme 'IntegrationTester' --device 'iPhone 8' --version 14.5")
sh("./ci_scripts/test.rb --scheme 'IntegrationTester' --device '#{DEFAULT_TEST_DEVICE}' --version 14.5")
end
end
lane :ui_tests do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'LocalizationTester' --device 'iPhone 8' --version 13.7")
sh("./ci_scripts/test.rb --scheme 'LocalizationTester' --device '#{DEFAULT_TEST_DEVICE}' --version #{DEFAULT_TEST_VERSION}")
end
end
lane :legacy_tests_11 do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'StripeiOS' --device 'iPhone 6' --version 11.4 --skip-snapshot-tests")
sh("./ci_scripts/test.rb --scheme 'StripeCore' --device 'iPhone 6' --version 11.4 --skip-snapshot-tests")
end
end
lane :legacy_tests_12 do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'StripeiOS' --device 'iPhone 6' --version 12.4 --skip-snapshot-tests")
sh("./ci_scripts/test.rb --scheme 'StripeCore' --device 'iPhone 6' --version 12.4 --skip-snapshot-tests")
end
end
lane :e2e_only do
Dir.chdir("..") do
sh("./ci_scripts/test.rb --scheme 'StripeiOS' --device 'iPhone 8' --version 13.7 --only-test 'StripeiOS Tests/STPE2ETest'")
sh("./ci_scripts/test.rb --scheme 'StripeiOS' --device '#{DEFAULT_TEST_DEVICE}' --version #{DEFAULT_TEST_VERSION} --only-test 'StripeiOS Tests/STPE2ETest'")
end
end
@ -202,6 +214,7 @@ platform :ios do
end
lane :tests do
# TODO: what this?
run_tests(scheme: "StripeiOS",
devices: ["iPhone 8"])
end