             ]
         )
 
-        let subscriberInfo: CustomerInfo = CustomerInfo(testData: response)!
+        let subscriberInfo = try XCTUnwrap(CustomerInfo(testData: response))
         expect(subscriberInfo.entitlements.all.count).to(equal(2))
         // The default is "pro_cat"
-        verifySubscriberInfo()
-        verifyEntitlementActive()
-        verifyRenewal()
-        verifyPeriodType()
-        verifyStore()
-        verifySandbox()
-        verifyProduct()
+        try verifySubscriberInfo()
+        try verifyEntitlementActive()
+        try verifyRenewal()
+        try verifyPeriodType()
+        try verifyStore()
+        try verifySandbox()
+        try verifyProduct()
         // Check for "lifetime_cat" entitlement
-        verifyEntitlementActive(true, entitlement: "lifetime_cat")
-        verifyRenewal(false, entitlement: "lifetime_cat")
-        verifyPeriodType(PeriodType.normal, expectedEntitlement: "lifetime_cat")
-        verifyStore(Store.appStore, expectedEntitlement: "lifetime_cat")
-        verifySandbox(false, expectedEntitlement: "lifetime_cat")
-        verifyProduct(expectedIdentifier: "lifetime",
-                      expectedLatestPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
-                      expectedOriginalPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
-                      expectedExpirationDate: nil,
-                      expectedEntitlement: "lifetime_cat"
-        )
-    }
-
-    func testStringAccessor() {
+        try verifyEntitlementActive(true, entitlement: "lifetime_cat")
+        try verifyRenewal(false, entitlement: "lifetime_cat")
+        try verifyPeriodType(PeriodType.normal, expectedEntitlement: "lifetime_cat")
+        try verifyStore(Store.appStore, expectedEntitlement: "lifetime_cat")
+        try verifySandbox(false, expectedEntitlement: "lifetime_cat")
+        try verifyProduct(expectedIdentifier: "lifetime",
+                          expectedLatestPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
+                          expectedOriginalPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
+                          expectedExpirationDate: nil,
+                          expectedEntitlement: "lifetime_cat"
+        )
+    }
+
+    func testStringAccessor() throws {
         stubResponse(
             entitlements: [
                 "pro_cat": [

                ]
        )

        verifySubscriberInfo()
        verifyEntitlementActive()
        verifyRenewal(false)
        verifyPeriodType()
        verifyStore()
        verifySandbox()
        verifyProduct(expectedIdentifier: "lifetime",
                      expectedLatestPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
                      expectedOriginalPurchaseDate: formatter.date(from: "2019-07-26T23:45:40Z"),
                      expectedExpirationDate: nil)
    }

    func testSubscriptionWillRenew() {
        stubResponse(
                entitlements: [
                    "pro_cat": [

                    ]
                ])

        try verifySubscriberInfo()
        try verifyEntitlementActive()
        try verifyRenewal()
        try verifyPeriodType()
        try verifyStore()
        try verifySandbox()
        try verifyProduct()
    }

    func testCreatesEntitlementWithNonSubscriptionsAndSubscription() throws {
        stubResponse(
                entitlements: [
                    "pro_cat": [
