def test_login(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() self.assertNotEqual(self.mock_config.context.token, None) with VeemClient(configs=self.config_yaml, useClientCredentials=True) as veem: self.assertNotEqual(veem.config.context.token, None)
def test_customers(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() customers = CustomerClient(self.mock_config).list('*****@*****.**') self.assertEqual(customers.content[0].email, '*****@*****.**') with VeemClient(yaml_file=self.config_file, useClientCredentials=True) as veem: customers = veem.customerClient.list('*****@*****.**') self.assertEqual(customers.content[0].email, '*****@*****.**')
def test_generate_rate(self): request = ExchangeRateRequest(fromAmount=500.0, fromCurrency='CAD', fromCountry='CA', toCurrency='USD', toCountry='US') AuthenticationClient(self.mock_config).getTokenFromClientCredentials() rate = ExchangeRateClient(self.mock_config).generate(request) self.assertNotEqual(rate.hashId, None) with VeemClient(yaml_file=self.config_file, useClientCredentials=True) as veem: rate = veem.exchangeRateClient.generate(request) self.assertNotEqual(rate.hashId, None)
def test_attachments(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() attachment = AttachmentClient(self.mock_config).upload( dict(path=self.attachment_path), 'invoice for shipping') self.assertTrue(bool(attachment.referenceId)) attachment = AttachmentClient(self.mock_config).download(attachment) self.assertTrue(bool(attachment)) with VeemClient(yaml_file=self.config_file, useClientCredentials=True) as veem: attachment = veem.attachmentClient.upload( dict(path=self.attachment_path), 'invoice for shipping') self.assertTrue(bool(attachment.referenceId)) attachment = veem.attachmentClient.download(attachment) self.assertTrue(bool(attachment))
def test_invoices(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() request = InvoiceRequest(payer=dict(type='Business', email='*****@*****.**', firstName='Wei', lastName='Chen', businessName='GBP Veem Wei', countryCode='GB', phoneCountryCode='44', phone='03700100222'), status='Drafted', amount=dict(number=50, currency='GBP')) invoice = InvoiceClient(self.mock_config).create(request) self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Drafted') invoice = InvoiceClient(self.mock_config).get(invoice.id) # self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Drafted') # invoice = InvoiceClient(self.mock_config).send(invoice.id) # self.assertEqual(invoice.payer.email, '*****@*****.**') # self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Sent') invoice = InvoiceClient(self.mock_config).cancel(invoice.id) self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') self.assertEqual(invoice.status, 'Cancelled') with VeemClient(yaml_file=self.config_file, useClientCredentials=True) as veem: invoice = veem.invoiceClient.create(request) self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Drafted') invoice = veem.invoiceClient.get(invoice.id) # self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Drafted') # invoice = veem.invoiceClient.send(invoice.id) # self.assertEqual(invoice.payer.email, '*****@*****.**') # self.assertEqual(invoice.amount.currency, 'GBP') # self.assertEqual(invoice.status, 'Sent') invoice = veem.invoiceClient.cancel(invoice.id) self.assertEqual(invoice.payer.email, '*****@*****.**') self.assertEqual(invoice.amount.currency, 'GBP') self.assertEqual(invoice.status, 'Cancelled')
def test_contacts(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() request = ContactRequest(email='*****@*****.**', firstName='Wei', lastName='Chen', isoCountryCode='GB', phoneNumber="370-010-0222") contact = ContactClient(self.mock_config).create(request) self.assertEqual(contact.email, '*****@*****.**') contacts = ContactClient(self.mock_config).list() self.assertEqual(contacts.content[0].email, '*****@*****.**') contact = ContactClient(self.mock_config).get(2682) self.assertEqual(contact.email, '*****@*****.**') request.batchItemId = 1 batch = ContactClient(self.mock_config).createBatch([request]) self.assertEqual(batch.status, 'InProgress') batch = ContactClient(self.mock_config).getBatch(859) self.assertEqual(batch.status, 'Completed')
def test_payments(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() request = PaymentRequest(payee=dict(type='Business', email='*****@*****.**', firstName='Wei', lastName='Chen', businessName='GBP Veem Wei', countryCode='GB', phoneCountryCode='44', phone='03700100222'), amount=dict(number=50, currency='GBP')) payment = PaymentClient(self.mock_config).create(request) self.assertEqual(payment.payee.email, '*****@*****.**') self.assertEqual(payment.amount.currency, 'GBP') self.assertEqual(payment.status, 'Drafted') payment = PaymentClient(self.mock_config).get(payment.id) self.assertEqual(payment.status, 'Drafted') payment = PaymentClient(self.mock_config).send(payment.id) self.assertEqual(payment.status, 'Sent') payment = PaymentClient(self.mock_config).cancel(payment.id) self.assertEqual(payment.status, 'Cancelled') payments = PaymentClient(self.mock_config).list() payment = payments.content[0] self.assertEqual(payment.amount.currency, 'GBP') self.assertEqual(payment.status, 'Cancelled') with VeemClient(yaml_file=self.config_file, useClientCredentials=True) as veem: payment = veem.paymentClient.create(request) self.assertEqual(payment.payee.email, '*****@*****.**') self.assertEqual(payment.amount.currency, 'GBP') self.assertEqual(payment.status, 'Drafted') payment = veem.paymentClient.get(payment.id) self.assertEqual(payment.status, 'Drafted') payment = veem.paymentClient.send(payment.id) self.assertEqual(payment.status, 'Sent') payment = veem.paymentClient.cancel(payment.id) self.assertEqual(payment.status, 'Cancelled') payments = veem.paymentClient.list() payment = payments.content[0] self.assertEqual(payment.status, 'Cancelled')
def test_contacts(self): AuthenticationClient(self.mock_config).getTokenFromClientCredentials() email_uuid = str(uuid.uuid4()) email = 'devsupport+{}@veem.com'.format(email_uuid) email2 = 'devsupport+{}[email protected]'.format(email_uuid) request = ContactRequest(email=email, firstName='Wei', lastName='Chen', isoCountryCode='GB', phoneNumber="370-010-0222") contact = ContactClient(self.mock_config).create(request) self.assertEqual(contact.email, email) contacts = ContactClient(self.mock_config).list() self.assertTrue(bool(contacts.content)) self.assertTrue([c for c in contacts.content if c.email == email]) contact = ContactClient(self.mock_config).get(contact.id) self.assertEqual(contact.email, email) request.email = email2 request.batchItemId = 1 batch = ContactClient(self.mock_config).createBatch([request]) self.assertEqual(batch.status, 'InProgress') time.sleep(5) batch = ContactClient(self.mock_config).getBatch(batch.batchId) self.assertEqual(batch.status, 'Completed')