mirror of
				https://github.com/github/octodns.git
				synced 2024-05-11 05:55:00 +00:00 
			
		
		
		
	Further clean up/division of labor and tests
This commit is contained in:
		@@ -934,7 +934,7 @@ class TestRecordValidation(TestCase):
 | 
			
		||||
        self.assertEquals(['missing ttl', 'missing value(s)'],
 | 
			
		||||
                          ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid ip address
 | 
			
		||||
        # invalid ipv4 address
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'A',
 | 
			
		||||
@@ -944,7 +944,7 @@ class TestRecordValidation(TestCase):
 | 
			
		||||
        self.assertEquals(['invalid IPv4 address "hello"'],
 | 
			
		||||
                          ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid ip addresses
 | 
			
		||||
        # invalid ipv4 addresses
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'A',
 | 
			
		||||
@@ -956,7 +956,7 @@ class TestRecordValidation(TestCase):
 | 
			
		||||
            'invalid IPv4 address "goodbye"'
 | 
			
		||||
        ], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid & valid ip addresses, no ttl
 | 
			
		||||
        # invalid & valid ipv4 addresses, no ttl
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'A',
 | 
			
		||||
@@ -967,6 +967,128 @@ class TestRecordValidation(TestCase):
 | 
			
		||||
            'invalid IPv4 address "hello"',
 | 
			
		||||
        ], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
    def test_AAAA_validation(self):
 | 
			
		||||
        # doesn't blow up
 | 
			
		||||
        Record.new(self.zone, '', {
 | 
			
		||||
            'type': 'AAAA',
 | 
			
		||||
            'ttl': 600,
 | 
			
		||||
            'value': '2601:644:500:e210:62f8:1dff:feb8:947a',
 | 
			
		||||
        })
 | 
			
		||||
        Record.new(self.zone, '', {
 | 
			
		||||
            'type': 'AAAA',
 | 
			
		||||
            'ttl': 600,
 | 
			
		||||
            'values': [
 | 
			
		||||
                '2601:644:500:e210:62f8:1dff:feb8:947a',
 | 
			
		||||
            ]
 | 
			
		||||
        })
 | 
			
		||||
        Record.new(self.zone, '', {
 | 
			
		||||
            'type': 'AAAA',
 | 
			
		||||
            'ttl': 600,
 | 
			
		||||
            'values': [
 | 
			
		||||
                '2601:644:500:e210:62f8:1dff:feb8:947a',
 | 
			
		||||
                '2601:642:500:e210:62f8:1dff:feb8:947a',
 | 
			
		||||
            ]
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        # missing value(s), no value or value
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing value(s)'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # missing value(s), empty values
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, 'www', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'values': []
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing value(s)'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # missing value(s), None values
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, 'www', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'values': None
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing value(s)'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # missing value(s) and empty value
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, 'www', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'values': [None, '']
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing value(s)',
 | 
			
		||||
                           'empty value'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # missing value(s), None value
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, 'www', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'value': None
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing value(s)'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # empty value, empty string value
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, 'www', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'value': ''
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['empty value'], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # missing value(s) & ttl
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['missing ttl', 'missing value(s)'],
 | 
			
		||||
                          ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid IPv6 address
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'value': 'hello'
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals(['invalid IPv6 address "hello"'],
 | 
			
		||||
                          ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid IPv6 addresses
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'ttl': 600,
 | 
			
		||||
                'values': ['hello', 'goodbye']
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals([
 | 
			
		||||
            'invalid IPv6 address "hello"',
 | 
			
		||||
            'invalid IPv6 address "goodbye"'
 | 
			
		||||
        ], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
        # invalid & valid IPv6 addresses, no ttl
 | 
			
		||||
        with self.assertRaises(ValidationError) as ctx:
 | 
			
		||||
            Record.new(self.zone, '', {
 | 
			
		||||
                'type': 'AAAA',
 | 
			
		||||
                'values': [
 | 
			
		||||
                    '2601:644:500:e210:62f8:1dff:feb8:947a',
 | 
			
		||||
                    'hello',
 | 
			
		||||
                    '2601:642:500:e210:62f8:1dff:feb8:947a'
 | 
			
		||||
                ]
 | 
			
		||||
            })
 | 
			
		||||
        self.assertEquals([
 | 
			
		||||
            'missing ttl',
 | 
			
		||||
            'invalid IPv6 address "hello"',
 | 
			
		||||
        ], ctx.exception.reasons)
 | 
			
		||||
 | 
			
		||||
    def test_geo(self):
 | 
			
		||||
        Record.new(self.zone, '', {
 | 
			
		||||
            'geo': {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user