def test_list_contacts(self, mock_get): """Assert requests.get calls""" fixtures_path = os.path.join(THIS_DIR, 'fixture_list_contacts.json') with open(fixtures_path, 'r') as f: fixtures_data = json.load(f) config = act.Config() config.API_KEY = 'VALID_API_KEY' cr = act.ContactsResource(config) json_data = cr.get() self.assertEqual(json_data, fixtures_data) json_data = cr.get(ids=None) self.assertEqual(json_data, fixtures_data) json_data = cr.get(ids='ALL') self.assertEqual(json_data, fixtures_data) json_data = cr.get(ids=['1']) self.assertEqual(json_data, fixtures_data) json_data = cr.get(ids='1') self.assertEqual(json_data, fixtures_data) with self.assertRaises(TypeError): # IDs must be passed as strings json_data = cr.get(ids=[1]) with self.assertRaises(TypeError): # IDs must be passed as strings json_data = cr.get(ids=1)
def get_contacts(): """ List all contacts """ config = act.Config() resource = act.ContactsResource(config) json_data = resource.get() click.echo(pformat(json_data))
def add_contact(email, first_name, last_name, list_id, tags): """ Add a contact. """ config = act.Config() resource = act.ContactsResource(config) data = { 'email': email, 'first_name': first_name, 'last_name': last_name, 'list_id': [list_id], 'tags': tags, } json_data = resource.create(data) click.echo(pformat(json_data))
def test_delete_contact(self, mock_get): """Assert requests.get calls""" config = act.Config() config.API_KEY = 'VALID_API_KEY' cr = act.ContactsResource(config) result = cr.delete(_id='1') expected = { 'result_code': 1, 'result_message': 'Contact deleted', 'result_output': 'json' } self.assertEqual(result, expected) result = cr.delete(_id='a') expected = { 'result_code': 1, 'result_message': 'Contact deleted', 'result_output': 'json' } self.assertEqual(result, expected)
def test_create_contacts(self, mock_post): config = act.Config() config.API_KEY = 'VALID_API_KEY' cr = act.ContactsResource(config) result = cr.create({ 'email': '*****@*****.**', 'first_name': 'Test Account', 'last_name': '2', 'phone': '+1 555-555-5555', 'ip4': '127.0.0.1', 'tags': ['fakeuser', 'testing'], 'list_id': ['1'], }) expected = { 'subscriber_id': 2, 'sendlast_should': 0, 'sendlast_did': 0, 'result_code': 1, 'result_message': 'Contact added', 'result_output': 'json' } self.assertEqual(result, expected) result = cr.create({ 'first_name': 'Test Account', 'last_name': '2', 'phone': '+1 555-555-5555', 'ip4': '127.0.0.1', 'tags': ['fakeuser', 'testing'], 'list_id': ['1'], }) expected = { 'result_code': 0, 'result_message': 'Contact Email Address is not valid.', 'result_output': 'json' } self.assertEqual(result, expected)
def test_contacts_init(): config = act.Config() config.ACCOUNT = 'test-account' config.DOMAIN = 'api-us1.com' contacts_resource = act.ContactsResource(config) assert contacts_resource.base_url == 'https://test-account.api-us1.com'