def test_validates_ip(self):
        for entry in self.ipv6_samples_valid:
            validation.assert_ip(entry)

        self.assertRaises(ValueError, validation.assert_ip, self.correct_email)
        self.assertRaises(ValueError, validation.assert_ip,
                          self.incorrect_email)
示例#2
0
    def query_email_and_ip_address(self, email, ip, **params):
        """Query a risk score information for the provided combination of an Email and IP address

            :param email: RFC2822-compliant Email
            :param ip: RFC791-compliant IP
            :param params: (Optional) keyword-argument form for parameters such as urid, first_name, last_name, etc.
            :return: JSON dict of the response generated by the API

            :type email: str
            :type ip: str
            :type params: kwargs

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('My account SID', 'My auth token', sandbox=True)
            >>> response_json = client.query_email_and_ip_address('*****@*****.**', '209.85.220.41')

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('My account SID', 'My auth token', sandbox=True)
            >>> response_json = client.query_email_and_ip_address('*****@*****.**', '209.85.220.41',
            ...     urid='My record ID for [email protected] and 209.85.220.41')

        """
        validation.assert_email(email)
        validation.assert_ip(ip)
        return self.query((email, ip), **params)
示例#3
0
    def query(self, query, **params):
        """ Base query method providing support for email, IP address, and optional additional parameters

            :param query: RFC2822-compliant Email, RFC791-compliant IP, or both
            :param params: keyword-argument form for parameters such as urid, first_name, last_name, etc.
            :return: JSON dict of the response generated by the API

            :type query: str | (str, str)
            :type params: kwargs

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('consumer_secret', 'consumer_token')
            >>> response_json = client.query('*****@*****.**')
            >>> # Email address only
            >>> response_json = client.query('*****@*****.**')
            >>> # IP Address only
            >>> response_json = client.query('209.85.220.41')
            >>> # For a combination. Please note the order
            >>> response_json = client.query(('*****@*****.**', '209.85.220.41'))
            >>> # Pass a User Defined Record ID (URID) as an optional parameter
            >>> response_json = client.query('*****@*****.**', urid='My record ID for [email protected]')
        """
        if type(query) is tuple:
            validation.assert_email(query[0])
            validation.assert_ip(query[1])
            query = '+'.join(query)
        params['query'] = query
        return self.request('', **params)
示例#4
0
    def query(self, query, **params):
        """ Base query method providing support for email, IP address, and optional additional parameters
        
            :param query: RFC2822-compliant Email, RFC791-compliant IP, or both
            :param params: keyword-argument form for parameters such as urid, first_name, last_name, etc.
            :return: JSON dict of the response generated by the API

            :type query: str | (str, str)
            :type params: kwargs

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('consumer_secret', 'consumer_token')
            >>> response_json = client.query('*****@*****.**')
            >>> # Email address only
            >>> response_json = client.query('*****@*****.**')
            >>> # IP Address only
            >>> response_json = client.query('209.85.220.41')
            >>> # For a combination. Please note the order
            >>> response_json = client.query(('*****@*****.**', '209.85.220.41'))
            >>> # Pass a User Defined Record ID (URID) as an optional parameter
            >>> response_json = client.query('*****@*****.**', urid='My record ID for [email protected]')
        """
        if type(query) is tuple:
            validation.assert_email(query[0])
            validation.assert_ip(query[1])
            query = '+'.join(query)
        params['query'] = query
        return self.request('', **params)
    def test_validates_valid_ipv4(self):
        failed_ips = []
        ip_data_source = self.ipv4_samples_valid
        for ipv4 in ip_data_source:
            try:
                validation.assert_ip(ipv4)
            except ValueError as exc:
                failed_ips.append(ipv4)

        self.assertListEqual([], failed_ips)
    def test_validates_valid_ipv4(self):
        failed_ips = []
        ip_data_source = self.ipv4_samples_valid
        for ipv4 in ip_data_source:
            try:
                validation.assert_ip(ipv4)
            except ValueError as exc:
                failed_ips.append(ipv4)

        self.assertListEqual([], failed_ips)
示例#7
0
 def query_ip_address(self, ip, **params):
     """Query a risk score information for the provided IP address.
     This method differs from #query in that it ensures that the string supplied is in rfc791 format.
     
     Args:
         ip (str)
         **params: keywords arguments for #query
     """
     validation.assert_ip(ip)
     return self.query(ip, **params)
示例#8
0
 def query_ip_address(self, ip, **params):
     """Query a risk score information for the provided IP address.
     This method differs from #query in that it ensures that the string supplied is in rfc791 format.
     
     Args:
         ip (str)
         **params: keywords arguments for #query
     """
     validation.assert_ip(ip)
     return self.query(ip, **params)
示例#9
0
 def query_email_and_ip_address(self, email, ip, **params):
     """Query a risk score information for the provided combination of an Email and IP address.
     This method differs from #query in that it ensures that the strings supplied are in rfc2822 and rfc791 formats.
     
     Args:
         email (str)
         ip    (str)
         **params: keywords arguments for #query
     """
     validation.assert_email(email)
     validation.assert_ip(ip)
     return self.query((email, ip), **params)
示例#10
0
 def query_email_and_ip_address(self, email, ip, **params):
     """Query a risk score information for the provided combination of an Email and IP address.
     This method differs from #query in that it ensures that the strings supplied are in rfc2822 and rfc791 formats.
     
     Args:
         email (str)
         ip    (str)
         **params: keywords arguments for #query
     """
     validation.assert_email(email)
     validation.assert_ip(ip)
     return self.query((email, ip), **params)
示例#11
0
    def query_ip_address(self, ip, **params):
        """Query a risk score information for the provided IP address.

            :param ip: RFC791-compliant IP
            :param params: (Optional) keyword-argument form for parameters such as urid, first_name, last_name, etc.
            :return: JSON dict of the response generated by the API

            :type ip: str
            :type params: kwargs

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('My account SID', 'My auth token', sandbox=True)
            >>> response_json = client.query_ip_address('209.85.220.41')
        """
        validation.assert_ip(ip)
        return self.query(ip, **params)
示例#12
0
    def query_ip_address(self, ip, **params):
        """Query a risk score information for the provided IP address.

            :param ip: RFC791-compliant IP
            :param params: (Optional) keyword-argument form for parameters such as urid, first_name, last_name, etc.
            :return: JSON dict of the response generated by the API

            :type ip: str
            :type params: kwargs

            :Example:

            >>> from emailage.client import EmailageClient
            >>> client = EmailageClient('My account SID', 'My auth token', sandbox=True)
            >>> response_json = client.query_ip_address('209.85.220.41')
        """
        validation.assert_ip(ip)
        return self.query(ip, **params)
示例#13
0
    def test_validates_ip(self):
        for entry in self.ipv6_samples_valid:
            validation.assert_ip(entry)

        self.assertRaises(ValueError, validation.assert_ip, self.correct_email)
        self.assertRaises(ValueError, validation.assert_ip, self.incorrect_email)
示例#14
0
 def test_validates_ip(self):
     validation.assert_ip(self.correct_ip)
     self.assertRaises(ValueError, validation.assert_ip, self.incorrect_ip)
     self.assertRaises(ValueError, validation.assert_ip, self.correct_email)
     self.assertRaises(ValueError, validation.assert_ip, self.incorrect_email)