class TestEmailAddress(unittest.TestCase):
    def setUp(self):
        self.email_address = EmailAddress(Mock(), {"email": "*****@*****.**", "primary": 1})

    def test_constructor_sets_attributes_on_object(self):
        self.assertTrue(hasattr(self.email_address, "email"))
        self.assertTrue(hasattr(self.email_address, "validated"))
        self.assertTrue(hasattr(self.email_address, "primary"))

    def test_constructor_allows_email_address_in_definition(self):
        email_address = EmailAddress(Mock(), {"email_address": "*****@*****.**"})

        self.assertEqual("*****@*****.**", email_address.email)

    @patch("contextio.lib.resources.base_resource.BaseResource.post")
    def test_post_updates_primary_attribute_in_memory(self, mock_post):
        self.assertEqual(self.email_address.primary, 1)

        self.email_address.post(primary=0)

        self.assertEqual(self.email_address.primary, 0)

    @patch("contextio.lib.resources.base_resource.BaseResource.post")
    def test_post_attempts_to_convert_string_input_to_int(self, mock_post):
        self.assertEqual(self.email_address.primary, 1)

        self.email_address.post(primary="0")

        self.assertEqual(self.email_address.primary, 0)

    def test_post_throws_error_if_unable_to_parse_int(self):
        self.assertEqual(self.email_address.primary, 1)

        with self.assertRaises(ValueError):
            self.email_address.post(primary="not_integer")
Example #2
0
    def get_email_addresses(self):
        """List of email addresses used by an account.

        Documentation: http://context.io/docs/2.0/accounts/email_addresses#get

        Arguments:
            None

        Returns:
            A list of EmailAddress objects.
        """
        return [
            EmailAddress(self, obj)
            for obj in self._request_uri("email_addresses")
        ]
Example #3
0
    def post_email_address(self, **params):
        """Add a new email address as an alias for an account.

        Documentation: http://context.io/docs/2.0/accounts/email_addresses#post

        Required Arguments:
            email_address: string - An email address.

        Returns:
            An EmailAddress object.
        """

        response = super(Account, self).post(uri="email_addresses",
                                             return_bool=False,
                                             params=params,
                                             all_args=["email_address"],
                                             required_args=["email_address"])

        return EmailAddress(self, response)
class TestEmailAddress(unittest.TestCase):
    def setUp(self):
        self.email_address = EmailAddress(Mock(), {
            "email": "*****@*****.**",
            "primary": 1
        })

    def test_constructor_sets_attributes_on_object(self):
        self.assertTrue(hasattr(self.email_address, "email"))
        self.assertTrue(hasattr(self.email_address, "validated"))
        self.assertTrue(hasattr(self.email_address, "primary"))

    def test_constructor_allows_email_address_in_definition(self):
        email_address = EmailAddress(Mock(),
                                     {"email_address": "*****@*****.**"})

        self.assertEqual("*****@*****.**", email_address.email)

    @patch("contextio.lib.resources.base_resource.BaseResource.post")
    def test_post_updates_primary_attribute_in_memory(self, mock_post):
        self.assertEqual(self.email_address.primary, 1)

        self.email_address.post(primary=0)

        self.assertEqual(self.email_address.primary, 0)

    @patch("contextio.lib.resources.base_resource.BaseResource.post")
    def test_post_attempts_to_convert_string_input_to_int(self, mock_post):
        self.assertEqual(self.email_address.primary, 1)

        self.email_address.post(primary="0")

        self.assertEqual(self.email_address.primary, 0)

    def test_post_throws_error_if_unable_to_parse_int(self):
        self.assertEqual(self.email_address.primary, 1)

        with self.assertRaises(ValueError):
            self.email_address.post(primary="not_integer")
 def setUp(self):
     self.email_address = EmailAddress(Mock(), {
         "email": "*****@*****.**",
         "primary": 1
     })
    def test_constructor_allows_email_address_in_definition(self):
        email_address = EmailAddress(Mock(),
                                     {"email_address": "*****@*****.**"})

        self.assertEqual("*****@*****.**", email_address.email)
 def setUp(self):
     self.email_address = EmailAddress(Mock(), {"email": "*****@*****.**", "primary": 1})