ó
j1dc           @@ s   d  d l  m Z m Z d  d l m Z d  d l Z e j j d k rS d  d l Z	 n d  d l	 Z	 d  d l
 m Z d e	 j f d     YZ d S(   i    (   t   absolute_importt   unicode_literals(   t   serializersNi   (   t   rest_frameworkt   FieldsTestCasec           B@ sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C@ s   d t  j f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(   Nt   TestSerializerc           B@ s   e  Z e j   Z RS(    (   t   __name__t
   __module__t   fieldst   InetAddressFieldt   ip(    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR      s   u   10.0.0.t   datau   ipt   raise_exceptionu   Invalid IP address.(	   R   t
   Serializert   assertRaisest   ValidationErrort   is_validt   Truet   assertEqualt	   exceptiont   detail(   t   selfR   t   addresst
   serializert   e(    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   test_validation_inet_field   s    c         C@ s   d t  j f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(   NR   c           B@ s   e  Z e j   Z RS(    (   R   R   R   t   CidrAddressFieldt   cidr(    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR      s   u   10.0.0.R   u   cidrR   u   Invalid CIDR address.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   test_validation_cidr_field   s    c         C@ s   d t  j f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(   NR   c           B@ s   e  Z e j   Z RS(    (   R   R   R   R   R   (    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   )   s   u   10.0.0.1/24R   u   cidrR   u   Must be a network address.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt"   test_network_validation_cidr_field'   s    c         C@ sē   d t  j f d     Y} x d i d d 6f D]} } |  j d |  c | d i | d 6 } |  j t  j   } | j d	 t  Wd  QX|  j | j j	 d d
 g  Wd  QXq- Wd  S(   NR   c           B@ s   e  Z e j   Z RS(    (   R   R   R   t   MACAddressFieldt   mac(    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   5   s   u   de:u   a macu   nott   invalid_addressR   u   macR   u   Invalid MAC address.(
   R   R   t   subTestR   R   R   R   R   R   R   (   R   R   R    R   R   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   test_validation_mac_field3   s    c         C@ sē   d t  j f d     Y} x d i d d 6f D]} } |  j d |  c | d i | d 6 } |  j t  j   } | j d	 t  Wd  QX|  j | j j	 d d
 g  Wd  QXq- Wd  S(   NR   c           B@ s   e  Z e j   Z RS(    (   R   R   R   t   MACAddress8Fieldt   mac8(    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   A   s   u   de:u   a mac8u   notR    R   u   mac8R   u   Invalid MAC address 8.(
   R   R   R!   R   R   R   R   R   R   R   (   R   R   R    R   R   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   test_validation_mac8_field?   s    c         @ s   d     d t  j f   f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(	   Nc         S@ s   t  j d   d  S(   Nu   Invalid.(   R   R   (   t   value(    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   validateL   s    R   c           @ s   e  Z e j d    g  Z RS(   t
   validators(   R   R   R   R	   R
   (    (   R'   (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   O   s   u
   1.2.3.4/24R   u   ipR   u   Invalid.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (   R'   sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt*   test_inet_validation_additional_validatorsK   s    	c         @ s   d     d t  j f   f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(	   Nc         S@ s   t  j d   d  S(   Nu   Invalid.(   R   R   (   R&   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR'   Y   s    R   c           @ s   e  Z e j d    g  Z RS(   R(   (   R   R   R   R   R
   (    (   R'   (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   \   s   u
   1.2.3.0/24R   u   ipR   u   Invalid.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (   R'   sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt*   test_cidr_validation_additional_validatorsX   s    	c         @ s   d     d t  j f   f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(	   Nc         S@ s   t  j d   d  S(   Nu   Invalid.(   R   R   (   R&   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR'   f   s    R   c           @ s   e  Z e j d    g  Z RS(   R(   (   R   R   R   R   R
   (    (   R'   (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   i   s   u   01:23:45:67:89:abR   u   ipR   u   Invalid.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (   R'   sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt)   test_mac_validation_additional_validatorse   s    	c         @ s   d     d t  j f   f d     Y} d } | d i | d 6 } |  j t  j   } | j d t  Wd  QX|  j | j j d d g  d  S(	   Nc         S@ s   t  j d   d  S(   Nu   Invalid.(   R   R   (   R&   (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR'   s   s    R   c           @ s   e  Z e j d    g  Z RS(   R(   (   R   R   R   R#   R
   (    (   R'   (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR   v   s   u   01:23:45:67:89:ab:bc:dcR   u   ipR   u   Invalid.(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (   R'   sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt*   test_mac8_validation_additional_validatorsr   s    	(   R   R   R   R   R   R"   R%   R)   R*   R+   R,   (    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyR      s   								(   t
   __future__R    R   R   R   t   syst   version_infot   majort	   unittest2t   unittestt	   netfieldsR   t   TestCaseR   (    (    (    sY   /home/jfunk/projects/django-postgresql-netfields/test/tests/test_rest_framework_fields.pyt   <module>   s   