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)
コード例 #2
0
def get_contacts():
    """
    List all contacts
    """
    config = act.Config()
    resource = act.ContactsResource(config)
    json_data = resource.get()
    click.echo(pformat(json_data))
コード例 #3
0
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'