Skip to content

Commit

Permalink
Added support for running tests in Github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
Kilo59 authored and Shariq Torres committed Dec 29, 2021
1 parent 8d6e987 commit 8362519
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 51 deletions.
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[run]
source=lob
[report]
exclude_lines =
# Have to re-enable the standard pragma
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Pipenv Coveralls Test

on: ["push", "pull_request"]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ '3.10', '3.9', '3.8', '3.7', '3.6' ]
name: Python ${{ matrix.python-version }} sample
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
cache: 'pipenv'
- run: pip install pipenv
- run: pipenv sync --dev
- run: pipenv run tests
env:
LOB_API_KEY: ${{ secrets.LOB_API_KEY }}
20 changes: 0 additions & 20 deletions .travis.yml

This file was deleted.

11 changes: 6 additions & 5 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ requests = "*"

[dev-packages]
"flake8" = "*"
coverage = "*"
coveralls = "*"
coverage = ">=5.5"
coveralls = ">=2.2.0"
bumpversion = "*"
setuptools = "*"
twine = "*"
pytest = "*"
pytest-cov = "*"
pytest = ">=6.2.1"
pytest-cov = ">=2.11.1"

[scripts]
# these commands can be invoked with `pipenv run <script_name>`
tests = "pytest --cov=lob"
tests = "pytest --cov"
coveralls = "coveralls --service=github.com"
48 changes: 30 additions & 18 deletions tests/test_address.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
import unittest
import os
import lob
import pytest


class TestAddressFunctions(unittest.TestCase):
def setUp(self):
lob.api_key = os.environ.get('LOB_API_KEY')


def test_create_address(self):
address = lob.Address.create(
name='Lob',
address_line1='185 Berry Street',
address_line2='Suite 1510',
address_city='San Francisco',
address_zip='94017',
address_state='CA',
address_country='US'
)

self.assertTrue(isinstance(address, lob.Address))
self.assertEqual(address.name, 'LOB')

def test_list_addresses(self):
addresses = lob.Address.list()
self.assertTrue(isinstance(addresses.data[0], lob.Address))
Expand All @@ -24,21 +40,8 @@ def test_list_addresses_limit(self):
self.assertEqual(len(addresses.data), 2)

def test_list_address_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.Address.list, limit=1000)

def test_create_address(self):
address = lob.Address.create(
name='Lob',
address_line1='185 Berry Street',
address_line2='Suite 1510',
address_city='San Francisco',
address_zip='94017',
address_state='CA',
address_country='US'
)

self.assertTrue(isinstance(address, lob.Address))
self.assertEqual(address.name, 'LOB')
with pytest.raises(lob.error.InvalidRequestError):
lob.Address.list(foobar=1000)

def test_create_addresss_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.Address.create)
Expand All @@ -51,6 +54,15 @@ def test_retrieve_address_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.Address.retrieve, id='test')

def test_delete_address(self):
addr = lob.Address.list().data[0].id
delAddr = lob.Address.delete(id=addr)
self.assertEqual(addr, delAddr.id)
address = lob.Address.create(
name='Lob',
address_line1='185 Berry Street',
address_line2='Suite 1510',
address_city='San Francisco',
address_zip='94017',
address_state='CA',
address_country='US'
)

delAddr = lob.Address.delete(id=address.id)
self.assertEqual(address.id, delAddr.id)
5 changes: 4 additions & 1 deletion tests/test_bankaccount.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import unittest
import os
import lob
import pytest


class BankAccountFunctions(unittest.TestCase):
Expand All @@ -19,7 +20,9 @@ def test_list_bankAccounts_limit(self):
self.assertEqual(len(bankAccounts.data), 2)

def test_list_bankAccounts_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.BankAccount.list, limit=1000)
with pytest.raises(lob.error.InvalidRequestError):
lob.BankAccount.list(foobar=1000)
# self.assertRaises(lob.error.InvalidRequestError, lob.BankAccount.list, limit=1000)

def test_create_bankAccount_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.BankAccount.create)
Expand Down
5 changes: 3 additions & 2 deletions tests/test_check.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import lob
import os
import unittest

import pytest

class CheckFunctions(unittest.TestCase):
def setUp(self):
Expand All @@ -26,7 +26,8 @@ def test_list_checks_limit(self):
self.assertEqual(len(checks.data), 2)

def test_list_checks_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.Check.list, limit=1000)
with pytest.raises(lob.error.InvalidRequestError):
lob.Check.list(foobar=1000)

def test_create_check(self):
check = lob.Check.create(
Expand Down
17 changes: 14 additions & 3 deletions tests/test_postcard.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unittest
import os
import lob

import pytest

class PostcardFunctions(unittest.TestCase):
def setUp(self):
Expand All @@ -19,12 +19,23 @@ def test_list_postcards_limit(self):
self.assertEqual(len(postcards.data), 2)

def test_list_postcards_metadata(self):
postcard = lob.Postcard.create(
to_address=self.addr.id,
from_address=self.addr.id,
front='<h1>{{front_name}}</h1>',
back='<h1>{{back_name}}</h1>',
merge_variables={
'front_name': 'Peter',
'back_name': 'Otto'
},
metadata={'campagin': 'LOB2015'}
)
postcards = lob.Postcard.list(metadata={'campagin': 'LOB2015'})
self.assertTrue(isinstance(postcards.data[0], lob.Postcard))
self.assertEqual(len(postcards.data), 1)

def test_list_postcards_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.Postcard.list, limit=1000)
with pytest.raises(lob.error.InvalidRequestError):
lob.Postcard.list(foobar=1000)

def test_create_postcard(self):
postcard = lob.Postcard.create(
Expand Down
5 changes: 3 additions & 2 deletions tests/test_self_mailer.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unittest
import os
import lob

import pytest

class SelfMailerFunctions(unittest.TestCase):
def setUp(self):
Expand All @@ -24,7 +24,8 @@ def test_list_self_mailers_metadata(self):
self.assertTrue(len(self_mailers.data) > 0)

def test_list_self_mailers_fail(self):
self.assertRaises(lob.error.InvalidRequestError, lob.SelfMailer.list, limit=1000)
with pytest.raises(lob.error.InvalidRequestError):
lob.SelfMailer.list(foobar=333)

def test_create_self_mailer(self):
self_mailer = lob.SelfMailer.create(
Expand Down

0 comments on commit 8362519

Please sign in to comment.