#
|
|
#
|
|
#
|
|
|
|
from __future__ import absolute_import, division, print_function, \
|
|
unicode_literals
|
|
|
|
from unittest import TestCase
|
|
|
|
from octodns.record.geo import GeoCodes
|
|
|
|
|
|
class TestRecordGeoCodes(TestCase):
|
|
|
|
def test_validate(self):
|
|
prefix = 'xyz '
|
|
|
|
# All valid
|
|
self.assertEquals([], GeoCodes.validate('NA', prefix))
|
|
self.assertEquals([], GeoCodes.validate('NA-US', prefix))
|
|
self.assertEquals([], GeoCodes.validate('NA-US-OR', prefix))
|
|
|
|
# Just plain bad
|
|
self.assertEquals(['xyz invalid geo code "XX-YY-ZZ-AA"'],
|
|
GeoCodes.validate('XX-YY-ZZ-AA', prefix))
|
|
self.assertEquals(['xyz unknown continent code "X-Y-Z"'],
|
|
GeoCodes.validate('X-Y-Z', prefix))
|
|
self.assertEquals(['xyz unknown continent code "XXX-Y-Z"'],
|
|
GeoCodes.validate('XXX-Y-Z', prefix))
|
|
|
|
# Bad continent
|
|
self.assertEquals(['xyz unknown continent code "XX"'],
|
|
GeoCodes.validate('XX', prefix))
|
|
# Bad continent good country
|
|
self.assertEquals(['xyz unknown continent code "XX-US"'],
|
|
GeoCodes.validate('XX-US', prefix))
|
|
# Bad continent good country and province
|
|
self.assertEquals(['xyz unknown continent code "XX-US-OR"'],
|
|
GeoCodes.validate('XX-US-OR', prefix))
|
|
|
|
# Bad country, good continent
|
|
self.assertEquals(['xyz unknown country code "NA-XX"'],
|
|
GeoCodes.validate('NA-XX', prefix))
|
|
# Bad country, good continent and state
|
|
self.assertEquals(['xyz unknown country code "NA-XX-OR"'],
|
|
GeoCodes.validate('NA-XX-OR', prefix))
|
|
# Good country, good continent, but bad match
|
|
self.assertEquals(['xyz unknown country code "NA-GB"'],
|
|
GeoCodes.validate('NA-GB', prefix))
|
|
|
|
# Bad province code, good continent and country
|
|
self.assertEquals(['xyz unknown province code "NA-US-XX"'],
|
|
GeoCodes.validate('NA-US-XX', prefix))
|