Files
purchases-ios/Tests/APITesters/AllAPITests/ReceiptParserAPITester/PurchasesReceiptParserAPI.swift
T
Andy Boedo facc6907d5 Clean up API Testers (#4141)
# API Testers cleanup

- Moves all API Testers into main RevenueCat workspace
- ensure that they all use the local build, not a hardcoded commit
- kill all the separate projects, create a single project with a
framework per test (objc api tests, swift api tests, etc, etc)
- creates a single scheme that builds all of those targets in one pass
- update relevant CI (to do)

Here's what this actually looks like: a single scheme in Xcode, which
you can test using command + U (or just build, since it effectively
works too)

<img width="515" alt="Screenshot 2024-07-31 at 6 09 33 PM"
src="https://github.com/user-attachments/assets/53882e38-f34b-4878-a11e-5d9c304e57ec">

<img width="278" alt="Screenshot 2024-07-31 at 6 09 44 PM"
src="https://github.com/user-attachments/assets/3a7a444c-36da-4c82-ab57-4aeab77adb5d">

*Note:*
Okay, I'd directly recommend _not_ reviewing the diff, since it's kind
of insane, and instead checking out the branch to see if things make
sense.
2024-08-05 11:11:49 -03:00

41 lines
1.2 KiB
Swift

//
// Copyright RevenueCat Inc. All Rights Reserved.
//
// Licensed under the MIT License (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://opensource.org/licenses/MIT
//
// PurchasesReceiptParserAPI.swift
//
// Created by Nacho Soto on 12/05/22.
import Foundation
import ReceiptParser
import StoreKit
func checkReceiptParserAPI() {
let parser: PurchasesReceiptParser = .default
do {
let _: AppleReceipt = try parser.parse(from: Data())
let _: AppleReceipt = try parser.parse(base64String: "")
let _: AppleReceipt = try parser.fetchAndParseLocalReceipt()
} catch {}
}
private func checkErrors(_ error: PurchasesReceiptParser.Error) {
switch error {
case .dataObjectIdentifierMissing: break
case let .asn1ParsingError(description): print(description)
case .receiptParsingError: break
case .inAppPurchaseParsingError: break
case .failedToDecodeBase64String: break
case .receiptNotPresent: break
case let .failedToLoadLocalReceipt(error): print(error)
case .foundEmptyLocalReceipt: break
@unknown default: break
}
}