コード例 #1
0
	def test_assign_list_of_named_addresses(self):
		addresses = [('Test User 1', '*****@*****.**'), ('Test User 2', '*****@*****.**')]
		self.addresses = addresses
		
		string_addresses = [unicode(Address(*value)) for value in addresses]
		assert ', '.join(string_addresses) == unicode(self.addresses)
		assert string_addresses == self.addresses
コード例 #2
0
	def test_validation_accepts_uncommon_local_parts(self):
		Address('*****@*****.**')
		# This address caused 100% CPU load for 50s in Python's (2.5.2) re 
		# module on Fedora Linux 10 (AMD x2 4200).
		Address('*****@*****.**')
		Address('customer/[email protected]')
		Address('[email protected] ')
		Address('!def!xyz%[email protected] ')
		Address('*****@*****.**')
		Address('!$&*-=^`|~#%\'+/?_{}@example.com')
コード例 #3
0
	def test_initialization_with_tuple(self):
		name = 'Foo'
		emailaddress = '*****@*****.**'
		address = Address((name, emailaddress))
		assert '%s <%s>' % (name, emailaddress) == unicode(address)
コード例 #4
0
 def test_compare_bytestring(self):
     addr = Address('*****@*****.**')
     eq_(addr, b'*****@*****.**')
コード例 #5
0
	def test_address_from_addresslist_limit_2(self):
		email = '*****@*****.**'
		
		with pytest.raises(ValueError):
			Address(AddressList([Address(email), Address(email)]))
コード例 #6
0
	def test_compare_othertype(self):
		addr = Address('*****@*****.**')
		with pytest.raises(NotImplementedError):
			addr != 123
コード例 #7
0
 def test_compare_othertype(self):
     addr = Address('*****@*****.**')
     addr != 123
コード例 #8
0
	def test_compare_address(self):
		addr1 = Address('*****@*****.**')
		addr2 = Address(' [email protected]  ')
		assert addr1 == addr2
コード例 #9
0
	def test_compare_bytestring(self):
		addr = Address('*****@*****.**')
		assert addr == b'*****@*****.**'
コード例 #10
0
	def test_validation_accepts_domain_without_tld(self):
		assert Address('user@company') == 'user@company'
コード例 #11
0
	def test_validation_rejects_local_parts_starting_or_ending_with_dot(self):
		with pytest.raises(ValueError):
			Address('*****@*****.**')
		
		with pytest.raises(ValueError):
			Address('*****@*****.**')
コード例 #12
0
	def test_validation_accepts_multilevel_domains(self):
		Address('*****@*****.**')
		Address('*****@*****.**')
		Address('*****@*****.**')
コード例 #13
0
	def test_punycode(self):
		addr = Address('Foo', 'foo@exámple.test')
		assert bytes(addr) == b'Foo <*****@*****.**>'
コード例 #14
0
	def test_revalidation(self):
		addr = Address('*****@*****.**')
		assert addr.valid == True
コード例 #15
0
 def test_repr(self):
     addr = Address('*****@*****.**')
     eq_(repr(addr), 'Address("*****@*****.**")')
コード例 #16
0
 def test_len(self):
     addr = Address('*****@*****.**')
     eq_(len(addr), len('*****@*****.**'))
コード例 #17
0
	def test_initialization_with_named_string(self):
		emailaddress = 'My Name <*****@*****.**>'
		address = Address(emailaddress)
		assert unicode(address) == emailaddress
コード例 #18
0
	def test_validation_rejects_double_dot(self):
		with pytest.raises(ValueError):
			Address('*****@*****.**')
コード例 #19
0
	def test_invalid_initialization(self):
		with pytest.raises(TypeError):
			Address(123)
コード例 #20
0
	def test_bytestring(self):
		addr = Address('Foo <foo@exámple.test>'.encode('utf-8'))
		assert bytes(addr) == b'Foo <*****@*****.**>'
コード例 #21
0
	def test_compare_unicode(self):
		addr = Address('*****@*****.**')
		assert addr == '*****@*****.**'
コード例 #22
0
	def test_repr(self):
		addr = Address('*****@*****.**')
		assert repr(addr) == 'Address("*****@*****.**")'
コード例 #23
0
	def test_compare_tuple(self):
		addr = Address('foo', '*****@*****.**')
		assert addr == ('foo', '*****@*****.**')
コード例 #24
0
	def test_validation_rejects_addresses_without_at(self):
		# TODO: This may be actually a valid input - some mail systems allow to
		# use only the local part which will be qualified by the MTA
		with pytest.raises(ValueError):
			Address('baduser.example.com')
コード例 #25
0
	def test_len(self):
		addr = Address('*****@*****.**')
		assert len(addr), len('*****@*****.**')
コード例 #26
0
 def test_compare_tuple(self):
     addr = Address('foo', '*****@*****.**')
     eq_(addr, ('foo', '*****@*****.**'))
コード例 #27
0
	def test_validation_truncates_at_second_at_character(self):
		# This is basically due to Python's parseaddr behavior.
		assert 'bad@user' == Address('bad@[email protected]')
コード例 #28
0
	def test_address_from_addresslist(self):
		email = '*****@*****.**'
		addr = Address(AddressList([Address(email)]))
		assert unicode(addr) == email
コード例 #29
0
	def test_address_from_addresslist_limit_0(self):
		with pytest.raises(ValueError):
			Address(AddressList())
コード例 #30
0
 def test_compare_unicode(self):
     addr = Address('*****@*****.**')
     eq_(addr, '*****@*****.**')