本文整理汇总了Python中recurly.Account.get方法的典型用法代码示例。如果您正苦于以下问题:Python Account.get方法的具体用法?Python Account.get怎么用?Python Account.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类recurly.Account
的用法示例。
在下文中一共展示了Account.get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_authentication
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_authentication(self):
recurly.API_KEY = None
account_code = 'test%s' % self.test_id
try:
Account.get(account_code)
except recurly.UnauthorizedError, exc:
pass
示例2: test_authentication
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_authentication(self):
recurly.API_KEY = None
account_code = 'test%s' % self.test_id
try:
Account.get(account_code)
except recurly.UnauthorizedError as exc:
pass
else:
self.fail("Updating account with invalid email address did not raise a ValidationError")
示例3: test_authentication
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_authentication(self):
recurly.API_KEY = None
account_code = 'test%s' % self.test_id
with self.mock_request('authentication/unauthenticated.xml'):
try:
Account.get(account_code)
except recurly.UnauthorizedError, exc:
pass
else:
示例4: test_account
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_account(self):
account_code = 'test%s' % self.test_id
with self.mock_request('account/does-not-exist.xml'):
self.assertRaises(NotFoundError, Account.get, account_code)
account = Account(account_code=account_code)
with self.mock_request('account/created.xml'):
account.save()
self.assertEqual(account._url, urljoin(recurly.BASE_URI, 'accounts/%s' % account_code))
with self.mock_request('account/list-active.xml'):
active = Account.all_active()
self.assertTrue(len(active) >= 1)
self.assertEqual(active[0].account_code, account_code)
with self.mock_request('account/exists.xml'):
same_account = Account.get(account_code)
self.assertTrue(isinstance(same_account, Account))
self.assertTrue(same_account is not account)
self.assertEqual(same_account.account_code, account_code)
self.assertTrue(same_account.first_name is None)
self.assertEqual(same_account._url, urljoin(recurly.BASE_URI, 'accounts/%s' % account_code))
account.username = 'shmohawk58'
account.email = 'larry.david'
account.first_name = u'L\xe4rry'
account.last_name = 'David'
account.company_name = 'Home Box Office'
account.accept_language = 'en-US'
with self.mock_request('account/update-bad-email.xml'):
try:
account.save()
except ValidationError, exc:
self.assertTrue(isinstance(exc.errors, collections.Mapping))
self.assertTrue('account.email' in exc.errors)
suberror = exc.errors['account.email']
self.assertEqual(suberror.symbol, 'invalid_email')
self.assertTrue(suberror.message)
self.assertEqual(suberror.message, str(suberror))
else:
示例5: booking_create_handler
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def booking_create_handler():
print "In booking create"
user = UserController().get_item(session['email']) if 'email' in session else None
if user:
form = request.form
space_id = form['space_id']
room_id = form['room_id']
date = form['date']
start = form['start']
end = form['end']
print date, start, end
controller = BookingController()
account = Account.get(user['email'])
account.billing_info = BillingInfo(token_id = form['recurly-token'])
account.save()
transaction = Transaction(
amount_in_cents=int(form['amount'])*100,
currency='INR',
account=account
)
transaction.save()
success = False
if transaction.status == 'success':
third_party_user_controller = ThirdPartyUserController()
tp_user = third_party_user_controller.get_item(user['email'], 'cobot')
from_time = datetime.datetime.strptime(date+' '+start, '%Y-%m-%d %H:%M')
to_time = datetime.datetime.strptime(date+' '+end, '%Y-%m-%d %H:%M')
print from_time, to_time
type='room'
api = CobotAPI()
result = api.create_booking(tp_user['id'], from_time, to_time, type+'_'+space_id+'_'+room_id+'_'+str(from_time)+'_'+str(to_time))
print result
#create_booking(type='room', space_id=space_id, room_id=room_id, date=date, start_time=start, end_time=end)
success = True
bookings = api.list_bookings(tp_user['id'], from_time, to_time)
print bookings
return json.dumps({'success':success})
示例6: test_coupon
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_coupon(self):
# Check that a coupon may not exist.
coupon_code = 'coupon%s' % self.test_id
with self.mock_request('coupon/does-not-exist.xml'):
self.assertRaises(NotFoundError, Coupon.get, coupon_code)
# Create a coupon?
coupon = Coupon(
coupon_code=coupon_code,
name='Nice Coupon',
discount_in_cents=Money(1000),
)
with self.mock_request('coupon/created.xml'):
coupon.save()
self.assertTrue(coupon._url)
try:
with self.mock_request('coupon/exists.xml'):
same_coupon = Coupon.get(coupon_code)
self.assertEqual(same_coupon.coupon_code, coupon_code)
self.assertEqual(same_coupon.name, 'Nice Coupon')
discount = same_coupon.discount_in_cents
self.assertEqual(discount['USD'], 1000)
self.assertTrue('USD' in discount)
account_code = 'coupon%s' % self.test_id
account = Account(account_code=account_code)
with self.mock_request('coupon/account-created.xml'):
account.save()
try:
redemption = Redemption(
account_code=account_code,
currency='USD',
)
with self.mock_request('coupon/redeemed.xml'):
real_redemption = coupon.redeem(redemption)
self.assertTrue(isinstance(real_redemption, Redemption))
self.assertEqual(real_redemption.currency, 'USD')
with self.mock_request('coupon/account-with-redemption.xml'):
account = Account.get(account_code)
with self.mock_request('coupon/redemption-exists.xml'):
same_redemption = account.redemption()
self.assertEqual(same_redemption._url, real_redemption._url)
with self.mock_request('coupon/unredeemed.xml'):
real_redemption.delete()
finally:
with self.mock_request('coupon/account-deleted.xml'):
account.delete()
plan = Plan(
plan_code='basicplan',
name='Basic Plan',
setup_fee_in_cents=Money(0),
unit_amount_in_cents=Money(1000),
)
with self.mock_request('coupon/plan-created.xml'):
plan.save()
try:
account_code_2 = 'coupon-%s-2' % self.test_id
sub = Subscription(
plan_code='basicplan',
coupon_code='coupon%s' % self.test_id,
currency='USD',
account=Account(
account_code=account_code_2,
billing_info=BillingInfo(
first_name='Verena',
last_name='Example',
number='4111 1111 1111 1111',
address1='123 Main St',
city='San Francisco',
state='CA',
zip='94105',
country='US',
verification_value='7777',
year='2015',
month='12',
),
),
)
with self.mock_request('coupon/subscribed.xml'):
sub.save()
with self.mock_request('coupon/second-account-exists.xml'):
account_2 = Account.get(account_code_2)
try:
with self.mock_request('coupon/second-account-redemption.xml'):
redemption_2 = account_2.redemption()
self.assertTrue(isinstance(redemption_2, Redemption))
self.assertEqual(redemption_2.currency, 'USD')
#.........这里部分代码省略.........
示例7: test_billing_info
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_billing_info(self):
logging.basicConfig(level=logging.DEBUG) # make sure it's init'ed
logger = logging.getLogger('recurly.http.request')
logger.setLevel(logging.DEBUG)
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
account = Account(account_code='binfo%s' % self.test_id)
with self.mock_request('billing-info/account-created.xml'):
account.save()
logger.removeHandler(log_handler)
self.assertTrue('<account' in log_content.getvalue())
try:
# Billing info link won't be present at all yet.
self.assertRaises(AttributeError, getattr, account, 'billing_info')
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
binfo = BillingInfo(
first_name='Verena',
last_name='Example',
address1='123 Main St',
city=u'San Jos\xe9',
state='CA',
zip='94105',
country='US',
type='credit_card',
number='4111 1111 1111 1111',
verification_value='7777',
year='2015',
month='12',
)
with self.mock_request('billing-info/created.xml'):
account.update_billing_info(binfo)
logger.removeHandler(log_handler)
log_content = log_content.getvalue()
self.assertTrue('<billing_info' in log_content)
# See if we redacted our sensitive fields properly.
self.assertTrue('4111' not in log_content)
self.assertTrue('7777' not in log_content)
with self.mock_request('billing-info/account-exists.xml'):
same_account = Account.get('binfo%s' % self.test_id)
with self.mock_request('billing-info/exists.xml'):
same_binfo = same_account.billing_info
self.assertEqual(same_binfo.first_name, 'Verena')
self.assertEqual(same_binfo.city, u'San Jos\xe9')
with self.mock_request('billing-info/deleted.xml'):
binfo.delete()
finally:
with self.mock_request('billing-info/account-deleted.xml'):
account.delete()
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
account = Account(account_code='binfo-%s-2' % self.test_id)
account.billing_info = BillingInfo(
first_name='Verena',
last_name='Example',
address1='123 Main St',
city=u'San Jos\xe9',
state='CA',
zip='94105',
country='US',
type='credit_card',
number='4111 1111 1111 1111',
verification_value='7777',
year='2015',
month='12',
)
with self.mock_request('billing-info/account-embed-created.xml'):
account.save()
try:
logger.removeHandler(log_handler)
log_content = log_content.getvalue()
self.assertTrue('<account' in log_content)
self.assertTrue('<billing_info' in log_content)
self.assertTrue('4111' not in log_content)
self.assertTrue('7777' not in log_content)
with self.mock_request('billing-info/account-embed-exists.xml'):
same_account = Account.get('binfo-%s-2' % self.test_id)
with self.mock_request('billing-info/embedded-exists.xml'):
binfo = same_account.billing_info
self.assertEqual(binfo.first_name, 'Verena')
finally:
with self.mock_request('billing-info/account-embed-deleted.xml'):
account.delete()
示例8: test_subscribe_add_on
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
state='CA',
zip='94105',
country='US',
type='credit_card',
number='4111 1111 1111 1111',
verification_value='7777',
year='2015',
month='12',
),
),
)
with self.mock_request('subscription/subscribe-embedded-account.xml'):
sub.save()
with self.mock_request('subscription/embedded-account-exists.xml'):
acc = Account.get(account_code_2)
self.assertEqual(acc.account_code, account_code_2)
with self.mock_request('subscription/embedded-account-deleted.xml'):
acc.delete()
finally:
with self.mock_request('subscription/plan-deleted.xml'):
plan.delete()
def test_subscribe_add_on(self):
plan = Plan(
plan_code='basicplan',
name='Basic Plan',
setup_fee_in_cents=Money(0),
unit_amount_in_cents=Money(1000),
示例9: test_subscribe
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_subscribe(self):
logging.basicConfig(level=logging.DEBUG) # make sure it's init'ed
logger = logging.getLogger('recurly.http.request')
logger.setLevel(logging.DEBUG)
plan = Plan(
plan_code='basicplan',
name='Basic Plan',
setup_fee_in_cents=Money(0),
unit_amount_in_cents=Money(1000),
)
with self.mock_request('subscription/plan-created.xml'):
plan.save()
try:
account = Account(account_code='subscribe%s' % self.test_id)
with self.mock_request('subscription/account-created.xml'):
account.save()
try:
sub = Subscription(
plan_code='basicplan',
currency='USD',
unit_amount_in_cents=1000,
bulk=True
)
with self.mock_request('subscription/error-no-billing-info.xml'):
try:
account.subscribe(sub)
except BadRequestError as exc:
error = exc
else:
self.fail("Subscribing with no billing info did not raise a BadRequestError")
self.assertEqual(error.symbol, 'billing_info_required')
binfo = BillingInfo(
first_name='Verena',
last_name='Example',
address1='123 Main St',
city=six.u('San Jos\xe9'),
state='CA',
zip='94105',
country='US',
type='credit_card',
number='4111 1111 1111 1111',
verification_value='7777',
year='2015',
month='12',
)
with self.mock_request('subscription/update-billing-info.xml'):
account.update_billing_info(binfo)
with self.mock_request('subscription/subscribed.xml'):
account.subscribe(sub)
self.assertTrue(sub._url)
manualsub = Subscription(
plan_code='basicplan',
currency='USD',
net_terms=10,
po_number='1000',
collection_method='manual'
)
with self.mock_request('subscription/subscribed-manual.xml'):
account.subscribe(manualsub)
self.assertTrue(manualsub._url)
self.assertEqual(manualsub.net_terms, 10)
self.assertEqual(manualsub.collection_method, 'manual')
self.assertEqual(manualsub.po_number, '1000')
with self.mock_request('subscription/account-subscriptions.xml'):
subs = account.subscriptions()
self.assertTrue(len(subs) > 0)
self.assertEqual(subs[0].uuid, sub.uuid)
with self.mock_request('subscription/all-subscriptions.xml'):
subs = Subscription.all()
self.assertTrue(len(subs) > 0)
self.assertEqual(subs[0].uuid, sub.uuid)
with self.mock_request('subscription/cancelled.xml'):
sub.cancel()
with self.mock_request('subscription/reactivated.xml'):
sub.reactivate()
# Try modifying the subscription.
sub.timeframe = 'renewal'
sub.unit_amount_in_cents = 800
with self.mock_request('subscription/updated-at-renewal.xml'):
sub.save()
pending_sub = sub.pending_subscription
self.assertTrue(isinstance(pending_sub, Subscription))
self.assertEqual(pending_sub.unit_amount_in_cents, 800)
self.assertEqual(sub.unit_amount_in_cents, 1000)
with self.mock_request('subscription/terminated.xml'):
sub.terminate(refund='none')
#.........这里部分代码省略.........
示例10: test_account
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_account(self):
account_code = 'test%s' % self.test_id
with self.mock_request('account/does-not-exist.xml'):
self.assertRaises(NotFoundError, Account.get, account_code)
account = Account(account_code=account_code)
account.vat_number = '444444-UK'
with self.mock_request('account/created.xml'):
account.save()
self.assertEqual(account._url, urljoin(recurly.base_uri(), 'accounts/%s' % account_code))
self.assertEqual(account.vat_number, '444444-UK')
with self.mock_request('account/list-active.xml'):
active = Account.all_active()
self.assertTrue(len(active) >= 1)
self.assertEqual(active[0].account_code, account_code)
with self.mock_request('account/exists.xml'):
same_account = Account.get(account_code)
self.assertTrue(isinstance(same_account, Account))
self.assertTrue(same_account is not account)
self.assertEqual(same_account.account_code, account_code)
self.assertTrue(same_account.first_name is None)
self.assertTrue(same_account.entity_use_code == 'I')
self.assertEqual(same_account._url, urljoin(recurly.base_uri(), 'accounts/%s' % account_code))
account.username = 'shmohawk58'
account.email = 'larry.david'
account.first_name = six.u('L\xe4rry')
account.last_name = 'David'
account.company_name = 'Home Box Office'
account.accept_language = 'en-US'
with self.mock_request('account/update-bad-email.xml'):
try:
account.save()
except ValidationError as exc:
self.assertTrue(isinstance(exc.errors, collections.Mapping))
self.assertTrue('account.email' in exc.errors)
suberror = exc.errors['account.email']
self.assertEqual(suberror.symbol, 'invalid_email')
self.assertTrue(suberror.message)
self.assertEqual(suberror.message, suberror.message)
else:
self.fail("Updating account with invalid email address did not raise a ValidationError")
account.email = '[email protected]'
with self.mock_request('account/updated.xml'):
account.save()
with self.mock_request('account/deleted.xml'):
account.delete()
with self.mock_request('account/list-closed.xml'):
closed = Account.all_closed()
self.assertTrue(len(closed) >= 1)
self.assertEqual(closed[0].account_code, account_code)
with self.mock_request('account/list-active-when-closed.xml'):
active = Account.all_active()
self.assertTrue(len(active) < 1 or active[0].account_code != account_code)
# Make sure we can reopen a closed account.
with self.mock_request('account/reopened.xml'):
account.reopen()
try:
with self.mock_request('account/list-active.xml'):
active = Account.all_active()
self.assertTrue(len(active) >= 1)
self.assertEqual(active[0].account_code, account_code)
finally:
with self.mock_request('account/deleted.xml'):
account.delete()
# Make sure numeric account codes work.
if self.test_id == 'mock':
numeric_test_id = 58
else:
numeric_test_id = int(self.test_id)
account = Account(account_code=numeric_test_id)
with self.mock_request('account/numeric-created.xml'):
account.save()
try:
self.assertEqual(account._url, urljoin(recurly.base_uri(), 'accounts/%d' % numeric_test_id))
finally:
with self.mock_request('account/numeric-deleted.xml'):
account.delete()
"""Create an account with an account level address"""
account = Account(account_code=account_code)
account.address.address1 = '123 Main St'
account.address.city = 'San Francisco'
account.address.zip = '94105'
account.address.state = 'CA'
account.address.country = 'US'
account.address.phone = '8015559876'
with self.mock_request('account/created-with-address.xml'):
account.save()
self.assertEqual(account.address.address1, '123 Main St')
self.assertEqual(account.address.city, 'San Francisco')
#.........这里部分代码省略.........
示例11: test_subscribe_add_on
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_subscribe_add_on(self):
plan = Plan(
plan_code="basicplan", name="Basic Plan", setup_fee_in_cents=Money(0), unit_amount_in_cents=Money(1000)
)
with self.mock_request("subscribe-add-on/plan-created.xml"):
plan.save()
try:
add_on = AddOn(add_on_code="mock_add_on", name="Mock Add-On", unit_amount_in_cents=Money(100))
with self.mock_request("subscribe-add-on/add-on-created.xml"):
plan.create_add_on(add_on)
second_add_on = AddOn(add_on_code="second_add_on", name="Second Add-On", unit_amount_in_cents=Money(50))
with self.mock_request("subscribe-add-on/second-add-on-created.xml"):
plan.create_add_on(second_add_on)
account_code = "sad-on-%s" % self.test_id
sub = Subscription(
plan_code="basicplan",
subscription_add_ons=[
SubscriptionAddOn(add_on_code="mock_add_on"),
SubscriptionAddOn(add_on_code="second_add_on"),
],
currency="USD",
account=Account(
account_code=account_code,
billing_info=BillingInfo(
first_name="Verena",
last_name="Example",
number="4111 1111 1111 1111",
address1="123 Main St",
city="San Francisco",
state="CA",
zip="94105",
country="US",
verification_value="7777",
year="2015",
month="12",
),
),
)
with self.mock_request("subscribe-add-on/subscribed.xml"):
sub.save()
# Subscription amounts are in one real currency, so they aren't Money instances.
sub_amount = sub.unit_amount_in_cents
self.assertTrue(not isinstance(sub_amount, Money))
self.assertEqual(sub_amount, 1000)
# Test that the add-ons' amounts aren't real Money instances either.
add_on_1, add_on_2 = sub.subscription_add_ons
self.assertIsInstance(add_on_1, SubscriptionAddOn)
amount_1 = add_on_1.unit_amount_in_cents
self.assertTrue(not isinstance(amount_1, Money))
self.assertEqual(amount_1, 100)
with self.mock_request("subscribe-add-on/account-exists.xml"):
account = Account.get(account_code)
with self.mock_request("subscribe-add-on/account-deleted.xml"):
account.delete()
finally:
with self.mock_request("subscribe-add-on/plan-deleted.xml"):
plan.delete()
示例12: test_subscribe
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_subscribe(self):
logging.basicConfig(level=logging.DEBUG) # make sure it's init'ed
logger = logging.getLogger("recurly.http.request")
logger.setLevel(logging.DEBUG)
plan = Plan(
plan_code="basicplan", name="Basic Plan", setup_fee_in_cents=Money(0), unit_amount_in_cents=Money(1000)
)
with self.mock_request("subscription/plan-created.xml"):
plan.save()
try:
account = Account(account_code="subscribe%s" % self.test_id)
with self.mock_request("subscription/account-created.xml"):
account.save()
try:
sub = Subscription(
plan_code="basicplan",
currency="USD",
unit_amount_in_cents=1000,
bulk=True,
terms_and_conditions="Some Terms and Conditions",
customer_notes="Some Customer Notes",
)
with self.mock_request("subscription/error-no-billing-info.xml"):
try:
account.subscribe(sub)
except BadRequestError as exc:
error = exc
else:
self.fail("Subscribing with no billing info did not raise a BadRequestError")
self.assertEqual(error.symbol, "billing_info_required")
binfo = BillingInfo(
first_name="Verena",
last_name="Example",
address1="123 Main St",
city=six.u("San Jos\xe9"),
state="CA",
zip="94105",
country="US",
type="credit_card",
number="4111 1111 1111 1111",
verification_value="7777",
year="2015",
month="12",
)
with self.mock_request("subscription/update-billing-info.xml"):
account.update_billing_info(binfo)
with self.mock_request("subscription/subscribed.xml"):
account.subscribe(sub)
self.assertTrue(sub._url)
manualsub = Subscription(
plan_code="basicplan", currency="USD", net_terms=10, po_number="1000", collection_method="manual"
)
with self.mock_request("subscription/subscribed-manual.xml"):
account.subscribe(manualsub)
self.assertTrue(manualsub._url)
self.assertEqual(manualsub.net_terms, 10)
self.assertEqual(manualsub.collection_method, "manual")
self.assertEqual(manualsub.po_number, "1000")
with self.mock_request("subscription/account-subscriptions.xml"):
subs = account.subscriptions()
self.assertTrue(len(subs) > 0)
self.assertEqual(subs[0].uuid, sub.uuid)
with self.mock_request("subscription/all-subscriptions.xml"):
subs = Subscription.all()
self.assertTrue(len(subs) > 0)
self.assertEqual(subs[0].uuid, sub.uuid)
with self.mock_request("subscription/cancelled.xml"):
sub.cancel()
with self.mock_request("subscription/reactivated.xml"):
sub.reactivate()
# Try modifying the subscription.
sub.timeframe = "renewal"
sub.unit_amount_in_cents = 800
with self.mock_request("subscription/updated-at-renewal.xml"):
sub.save()
pending_sub = sub.pending_subscription
self.assertTrue(isinstance(pending_sub, Subscription))
self.assertEqual(pending_sub.unit_amount_in_cents, 800)
self.assertEqual(sub.unit_amount_in_cents, 1000)
with self.mock_request("subscription/terminated.xml"):
sub.terminate(refund="none")
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
sub = Subscription(
#.........这里部分代码省略.........
示例13: test_account
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_account(self):
account_code = "test%s" % self.test_id
with self.mock_request("account/does-not-exist.xml"):
self.assertRaises(NotFoundError, Account.get, account_code)
account = Account(account_code=account_code)
account.vat_number = "444444-UK"
with self.mock_request("account/created.xml"):
account.save()
self.assertEqual(account._url, urljoin(recurly.base_uri(), "accounts/%s" % account_code))
self.assertEqual(account.vat_number, "444444-UK")
self.assertEqual(account.vat_location_enabled, True)
with self.mock_request("account/list-active.xml"):
active = Account.all_active()
self.assertTrue(len(active) >= 1)
self.assertEqual(active[0].account_code, account_code)
with self.mock_request("account/exists.xml"):
same_account = Account.get(account_code)
self.assertTrue(isinstance(same_account, Account))
self.assertTrue(same_account is not account)
self.assertEqual(same_account.account_code, account_code)
self.assertTrue(same_account.first_name is None)
self.assertTrue(same_account.entity_use_code == "I")
self.assertEqual(same_account._url, urljoin(recurly.base_uri(), "accounts/%s" % account_code))
account.username = "shmohawk58"
account.email = "larry.david"
account.first_name = six.u("L\xe4rry")
account.last_name = "David"
account.company_name = "Home Box Office"
account.accept_language = "en-US"
with self.mock_request("account/update-bad-email.xml"):
try:
account.save()
except ValidationError as exc:
self.assertTrue(isinstance(exc.errors, collections.Mapping))
self.assertTrue("account.email" in exc.errors)
suberror = exc.errors["account.email"]
self.assertEqual(suberror.symbol, "invalid_email")
self.assertTrue(suberror.message)
self.assertEqual(suberror.message, suberror.message)
else:
self.fail("Updating account with invalid email address did not raise a ValidationError")
account.email = "[email protected]"
with self.mock_request("account/updated.xml"):
account.save()
with self.mock_request("account/deleted.xml"):
account.delete()
with self.mock_request("account/list-closed.xml"):
closed = Account.all_closed()
self.assertTrue(len(closed) >= 1)
self.assertEqual(closed[0].account_code, account_code)
with self.mock_request("account/list-active-when-closed.xml"):
active = Account.all_active()
self.assertTrue(len(active) < 1 or active[0].account_code != account_code)
# Make sure we can reopen a closed account.
with self.mock_request("account/reopened.xml"):
account.reopen()
try:
with self.mock_request("account/list-active.xml"):
active = Account.all_active()
self.assertTrue(len(active) >= 1)
self.assertEqual(active[0].account_code, account_code)
finally:
with self.mock_request("account/deleted.xml"):
account.delete()
# Make sure numeric account codes work.
if self.test_id == "mock":
numeric_test_id = 58
else:
numeric_test_id = int(self.test_id)
account = Account(account_code=numeric_test_id)
with self.mock_request("account/numeric-created.xml"):
account.save()
try:
self.assertEqual(account._url, urljoin(recurly.base_uri(), "accounts/%d" % numeric_test_id))
finally:
with self.mock_request("account/numeric-deleted.xml"):
account.delete()
"""Create an account with an account level address"""
account = Account(account_code=account_code)
account.address.address1 = "123 Main St"
account.address.city = "San Francisco"
account.address.zip = "94105"
account.address.state = "CA"
account.address.country = "US"
account.address.phone = "8015559876"
with self.mock_request("account/created-with-address.xml"):
account.save()
self.assertEqual(account.address.address1, "123 Main St")
#.........这里部分代码省略.........
示例14: test_coupon
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_coupon(self):
# Check that a coupon may not exist.
coupon_code = "coupon%s" % self.test_id
with self.mock_request("coupon/does-not-exist.xml"):
self.assertRaises(NotFoundError, Coupon.get, coupon_code)
# Create a coupon?
coupon = Coupon(
coupon_code=coupon_code,
name="Nice Coupon",
discount_in_cents=Money(1000),
hosted_description="Nice Description",
invoice_description="Invoice description",
)
with self.mock_request("coupon/created.xml"):
coupon.save()
self.assertTrue(coupon._url)
try:
with self.mock_request("coupon/exists.xml"):
same_coupon = Coupon.get(coupon_code)
self.assertEqual(same_coupon.coupon_code, coupon_code)
self.assertEqual(same_coupon.name, "Nice Coupon")
self.assertEqual(same_coupon.invoice_description, "Invoice description")
discount = same_coupon.discount_in_cents
self.assertEqual(discount["USD"], 1000)
self.assertTrue("USD" in discount)
self.assertIsNotNone(same_coupon.hosted_description)
account_code = "coupon%s" % self.test_id
account = Account(account_code=account_code)
with self.mock_request("coupon/account-created.xml"):
account.save()
try:
redemption = Redemption(account_code=account_code, currency="USD")
with self.mock_request("coupon/redeemed.xml"):
real_redemption = coupon.redeem(redemption)
self.assertTrue(isinstance(real_redemption, Redemption))
self.assertEqual(real_redemption.currency, "USD")
with self.mock_request("coupon/account-with-redemption.xml"):
account = Account.get(account_code)
with self.mock_request("coupon/redemption-exists.xml"):
same_redemption = account.redemption()
self.assertEqual(same_redemption._url, real_redemption._url)
with self.mock_request("coupon/unredeemed.xml"):
real_redemption.delete()
finally:
with self.mock_request("coupon/account-deleted.xml"):
account.delete()
plan = Plan(
plan_code="basicplan", name="Basic Plan", setup_fee_in_cents=Money(0), unit_amount_in_cents=Money(1000)
)
with self.mock_request("coupon/plan-created.xml"):
plan.save()
try:
account_code_2 = "coupon-%s-2" % self.test_id
sub = Subscription(
plan_code="basicplan",
coupon_code="coupon%s" % self.test_id,
currency="USD",
account=Account(
account_code=account_code_2,
billing_info=BillingInfo(
first_name="Verena",
last_name="Example",
number="4111 1111 1111 1111",
address1="123 Main St",
city="San Francisco",
state="CA",
zip="94105",
country="US",
verification_value="7777",
year="2015",
month="12",
),
),
)
with self.mock_request("coupon/subscribed.xml"):
sub.save()
with self.mock_request("coupon/second-account-exists.xml"):
account_2 = Account.get(account_code_2)
try:
with self.mock_request("coupon/second-account-redemption.xml"):
redemption_2 = account_2.redemption()
self.assertTrue(isinstance(redemption_2, Redemption))
self.assertEqual(redemption_2.currency, "USD")
with self.mock_request("coupon/exists.xml"):
same_coupon = redemption_2.coupon()
#.........这里部分代码省略.........
示例15: test_billing_info
# 需要导入模块: from recurly import Account [as 别名]
# 或者: from recurly.Account import get [as 别名]
def test_billing_info(self):
logging.basicConfig(level=logging.DEBUG) # make sure it's init'ed
logger = logging.getLogger("recurly.http.request")
logger.setLevel(logging.DEBUG)
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
account = Account(account_code="binfo%s" % self.test_id)
with self.mock_request("billing-info/account-created.xml"):
account.save()
logger.removeHandler(log_handler)
self.assertTrue("<account" in log_content.getvalue())
try:
# Billing info link won't be present at all yet.
self.assertRaises(AttributeError, getattr, account, "billing_info")
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
binfo = BillingInfo(
first_name="Verena",
last_name="Example",
address1="123 Main St",
city=six.u("San Jos\xe9"),
state="CA",
zip="94105",
country="US",
type="credit_card",
number="4111 1111 1111 1111",
verification_value="7777",
year="2015",
month="12",
)
with self.mock_request("billing-info/created.xml"):
account.update_billing_info(binfo)
logger.removeHandler(log_handler)
log_content = log_content.getvalue()
self.assertTrue("<billing_info" in log_content)
# See if we redacted our sensitive fields properly.
self.assertTrue("4111" not in log_content)
self.assertTrue("7777" not in log_content)
with self.mock_request("billing-info/account-exists.xml"):
same_account = Account.get("binfo%s" % self.test_id)
with self.mock_request("billing-info/exists.xml"):
same_binfo = same_account.billing_info
self.assertEqual(same_binfo.first_name, "Verena")
self.assertEqual(same_binfo.city, six.u("San Jos\xe9"))
with self.mock_request("billing-info/deleted.xml"):
binfo.delete()
finally:
with self.mock_request("billing-info/account-deleted.xml"):
account.delete()
# Credit Card
log_content = StringIO()
log_handler = logging.StreamHandler(log_content)
logger.addHandler(log_handler)
account = Account(account_code="binfo-%s-2" % self.test_id)
account.billing_info = BillingInfo(
first_name="Verena",
last_name="Example",
address1="123 Main St",
city=six.u("San Jos\xe9"),
state="CA",
zip="94105",
country="US",
type="credit_card",
number="4111 1111 1111 1111",
verification_value="7777",
year="2015",
month="12",
)
with self.mock_request("billing-info/account-embed-created.xml"):
account.save()
try:
logger.removeHandler(log_handler)
log_content = log_content.getvalue()
self.assertTrue("<account" in log_content)
self.assertTrue("<billing_info" in log_content)
self.assertTrue("4111" not in log_content)
self.assertTrue("7777" not in log_content)
with self.mock_request("billing-info/account-embed-exists.xml"):
same_account = Account.get("binfo-%s-2" % self.test_id)
with self.mock_request("billing-info/embedded-exists.xml"):
binfo = same_account.billing_info
self.assertEqual(binfo.first_name, "Verena")
finally:
with self.mock_request("billing-info/account-embed-deleted.xml"):
#.........这里部分代码省略.........