diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3185b246..b1483304 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,15 +1,20 @@
name: CI
on: [push]
-concurrency:
+concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
name: Python ${{ matrix.python }} tests
strategy:
matrix:
- python: [2.7, 3.6, 3.7, 3.8, 3.9]
+ python: [2.7, 3.7, 3.8, 3.9]
+ os: [ubuntu-latest]
+ include:
+ # Python 3.6 is not included in ubuntu latest (currently 22)
+ - python: 3.6
+ os: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup python
diff --git a/recurly/__init__.py b/recurly/__init__.py
index 87bc979b..a0db3da2 100644
--- a/recurly/__init__.py
+++ b/recurly/__init__.py
@@ -191,6 +191,7 @@ class Account(Resource):
'has_paused_subscription',
'has_past_due_invoice',
'preferred_locale',
+ 'preferred_time_zone',
'custom_fields',
'transaction_type',
'dunning_campaign_id',
diff --git a/tests/fixtures/account/child-accounts.xml b/tests/fixtures/account/child-accounts.xml
index 4b947f9c..73d6a883 100644
--- a/tests/fixtures/account/child-accounts.xml
+++ b/tests/fixtures/account/child-accounts.xml
@@ -30,6 +30,7 @@ Content-Type: application/xml; charset=utf-8
+
diff --git a/tests/fixtures/account/created-with-parent.xml b/tests/fixtures/account/created-with-parent.xml
index 25c6388f..02888233 100644
--- a/tests/fixtures/account/created-with-parent.xml
+++ b/tests/fixtures/account/created-with-parent.xml
@@ -44,4 +44,5 @@ Location: https://api.recurly.com/v2/accounts/testmock
en-US
+
diff --git a/tests/fixtures/account/created.xml b/tests/fixtures/account/created.xml
index f3dfaef9..f9a46e51 100644
--- a/tests/fixtures/account/created.xml
+++ b/tests/fixtures/account/created.xml
@@ -9,6 +9,7 @@ Content-Type: application/xml; charset=utf-8
testmock
en-US
+ America/Los_Angeles
444444-UK
@@ -43,4 +44,5 @@ Location: https://api.recurly.com/v2/accounts/testmock
true
en-US
+ America/Los_Angeles
diff --git a/tests/fixtures/billing-info/account-becs-created.xml b/tests/fixtures/billing-info/account-becs-created.xml
index 4341e055..32407d5d 100644
--- a/tests/fixtures/billing-info/account-becs-created.xml
+++ b/tests/fixtures/billing-info/account-becs-created.xml
@@ -47,6 +47,7 @@ Location: https://api.recurly.com/v2/accounts/binfo-mock-5
+
diff --git a/tests/test_resources.py b/tests/test_resources.py
index 2b4fea90..c022b00f 100644
--- a/tests/test_resources.py
+++ b/tests/test_resources.py
@@ -303,6 +303,7 @@ def test_account(self):
account = Account(account_code=account_code)
account.vat_number = '444444-UK'
account.preferred_locale = 'en-US'
+ account.preferred_time_zone = 'America/Los_Angeles'
with self.mock_request('account/created.xml'):
account.save()
self.assertEqual(account._url, urljoin(recurly.base_uri(), 'accounts/%s' % account_code))
@@ -1286,7 +1287,7 @@ def test_account_entitlements(self):
'https://api.recurly.com/v2/subscriptions/rhind9aehvrt',
'https://api.recurly.com/v2/external_subscriptions/rlhjggnogtc5'
])
-
+
def test_invoice_templates(self):
with self.mock_request('invoice_templates/list.xml'):
template = InvoiceTemplate.all()[0]
@@ -2795,7 +2796,7 @@ def test_list_external_subscriptions(self):
with self.mock_request('external-subscription/list.xml'):
external_subscriptions = ExternalSubscription.all(per_page = 200)
-
+
self.assertEqual(len(external_subscriptions), 2)
self.assertEqual(external_subscriptions[0].external_resource.external_object_reference, 'teste')
@@ -2824,7 +2825,7 @@ def test_get_external_subscription(self):
with self.mock_request('external-subscription/get.xml'):
external_subscription = ExternalSubscription.get('ru2208s6hmf0')
-
+
self.assertEqual(external_subscription.external_resource.external_object_reference, 'teste')
self.assertEqual(external_subscription.external_product_reference, None)
self.assertEqual(external_subscription.last_purchased, None)
@@ -2899,7 +2900,7 @@ def test_get_external_product(self):
with self.mock_request('external-product/get.xml'):
external_product = ExternalProduct.get('ru1u1gms4msk')
-
+
self.assertEqual(external_product.plan.plan_code, '5_abril')
self.assertEqual(external_product.plan.name, '5 de abril')
self.assertEqual(external_product.name, 'product_name_teste')