Exemple #1
0
 def testEmergency(self):
     wrongTypeCounter = 0
     for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS:
         if regionCode == "PG":
             # The only short number for Papua New Guinea is 000, which
             # fails the test, since the national prefix is 0. This needs
             # to be fixed.
             continue
         metadata = PhoneMetadata.short_metadata_for_region(
             regionCode, None)
         desc = metadata.emergency
         if desc.example_number is not None:
             exampleNumber = desc.example_number
             if (not fullmatch(re.compile(desc.possible_number_pattern),
                               exampleNumber)
                     or not is_emergency_number(exampleNumber, regionCode)):
                 wrongTypeCounter += 1
                 print >> sys.stderr, "Emergency example number test failed for %s" % regionCode
             else:
                 emergencyNumber = phonenumberutil.parse(
                     exampleNumber, regionCode)
                 if shortnumberinfo.expected_cost(
                         emergencyNumber) != ShortNumberCost.TOLL_FREE:
                     # TODO: Reenable this when a method is available to get the expected cost for a
                     # particular region.
                     #wrongTypeCounter += 1
                     print >> sys.stderr, "Emergency example number not toll free for %s" % regionCode
     self.assertEqual(0, wrongTypeCounter)
Exemple #2
0
 def testPrintShortMetadata(self):
     # Python version extra test.  Print string representation of short metadata.
     short_metadata = PhoneMetadata.short_metadata_for_region("GB")
     result = str(short_metadata)
     self.assertTrue(
         result.startswith(
             "PhoneMetadata(id='GB', country_code=None, international_prefix=None"
         ))
 def testPrintShortMetadata(self):
     # Python version extra test.  Print string representation of short metadata.
     short_metadata = PhoneMetadata.short_metadata_for_region("GB")
     self.assertEqual(
         r"""PhoneMetadata(id='GB', country_code=None, international_prefix=None,
 general_desc=PhoneNumberDesc(national_number_pattern='[1-4679]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
 toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|[68]\\d{3})|2[123]|33|4(?:1|7\\d)|5\\d|70\\d|800\\d|9[15])|2(?:02|2(?:02|11|2)|3(?:02|45)|425)|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|650|789|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150'),
 standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 short_data=True)""", str(short_metadata))
 def testPrintShortMetadata(self):
     # Python version extra test.  Print string representation of short metadata.
     short_metadata = PhoneMetadata.short_metadata_for_region("GB")
     self.assertEqual(r"""PhoneMetadata(id='GB', country_code=None, international_prefix=None,
 general_desc=PhoneNumberDesc(national_number_pattern='[1-4679]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
 toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112'),
 short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|[68]\\d{3})|2[123]|33|4(?:1|7\\d)|5\\d|70\\d|800\\d|9[15])|2(?:02|2(?:02|11|2)|3(?:02|45)|425)|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|650|789|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150'),
 standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 short_data=True)""", str(short_metadata))
 def testPrintShortMetadata(self):
     # Python version extra test.  Print string representation of short metadata.
     short_metadata = PhoneMetadata.short_metadata_for_region("GB")
     self.assertEqual(
         r"""PhoneMetadata(id='GB', country_code=None, international_prefix=None,
 general_desc=PhoneNumberDesc(national_number_pattern='[1-467-9]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
 toll_free=PhoneNumberDesc(national_number_pattern='1(?:16\\d{3}|7[56]0|8000)|2(?:202|48)|4444', possible_number_pattern='\\d{3,6}', example_number='116000'),
 premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112'),
 short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|6(?:000|1(?:11|23))|8\\d{3})|2[123]|33|4(?:1|7\\d)|5(?:\\d|71)|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:02(?:02)?|1300|2(?:02|11|2)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|6(?:50|\\d{4})|7(?:0\\d{3}|8(?:9|\\d{3})|9\\d{3})|8\\d{4}|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150'),
 standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
 carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:571|7[56]0)|2(?:02(?:02)?|1300|3336|48)|4444|901', possible_number_pattern='\\d{3,5}', example_number='1571'),
 short_data=True)""", str(short_metadata))
 def testSmsServiceShortNumbers(self):
     wrongTagCounter = 0
     for regionCode in shortnumberinfo.SUPPORTED_SHORT_REGIONS:
         metadata = PhoneMetadata.short_metadata_for_region(regionCode, None)
         desc = metadata.sms_services
         if desc is not None and desc.example_number is not None:
             exampleNumber = desc.example_number
             smsServiceNumber = phonenumberutil.parse(exampleNumber, regionCode)
             if (not shortnumberinfo.is_possible_short_number_for_region(smsServiceNumber, regionCode) or
                 not shortnumberinfo.is_sms_service_for_region(smsServiceNumber, regionCode)):
                 wrongTagCounter += 1
                 prnt("SMS service test failed for %s" % regionCode, file=sys.stderr)
     self.assertEqual(0, wrongTagCounter)
 def testCarrierSpecificShortNumbers(self):
     wrongTagCounter = 0
     for regionCode in shortnumberinfo.SUPPORTED_SHORT_REGIONS:
         metadata = PhoneMetadata.short_metadata_for_region(regionCode, None)
         desc = metadata.carrier_specific
         if desc is not None and desc.example_number is not None:
             exampleNumber = desc.example_number
             carrierSpecificNumber = phonenumberutil.parse(exampleNumber, regionCode)
             if (not shortnumberinfo.is_possible_short_number_for_region(carrierSpecificNumber, regionCode) or
                 not shortnumberinfo.is_carrier_specific_for_region(carrierSpecificNumber, regionCode)):
                 wrongTagCounter += 1
                 prnt("Carrier-specific test failed for %s" % regionCode, file=sys.stderr)
     self.assertEqual(0, wrongTagCounter)
 def testCarrierSpecificShortNumbers(self):
     wrongTagCounter = 0
     for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS:
         # Test the carrier-specific tag.
         metadata = PhoneMetadata.short_metadata_for_region(regionCode, None)
         desc = metadata.carrier_specific
         if desc.example_number is not None:
             exampleNumber = desc.example_number
             carrierSpecificNumber = phonenumberutil.parse(exampleNumber, regionCode)
             if (not fullmatch(re.compile(desc.possible_number_pattern), exampleNumber) or
                 not shortnumberinfo.is_carrier_specific(carrierSpecificNumber)):
                 wrongTagCounter += 1
                 prnt("Carrier-specific test failed for %s" % regionCode, file=sys.stderr)
         # TODO: Test other tags here
     self.assertEqual(0, wrongTagCounter)
 def testEmergency(self):
     wrongTypeCounter = 0
     for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS:
         metadata = PhoneMetadata.short_metadata_for_region(regionCode, None)
         desc = metadata.emergency
         if desc.example_number is not None:
             exampleNumber = desc.example_number
             if (not fullmatch(re.compile(desc.possible_number_pattern), exampleNumber) or
                 not is_emergency_number(exampleNumber, regionCode)):
                 wrongTypeCounter += 1
                 prnt("Emergency example number test failed for %s" % regionCode, file=sys.stderr)
             elif shortnumberinfo.expected_cost_for_region(exampleNumber, regionCode) != ShortNumberCost.TOLL_FREE:
                 wrongTypeCounter += 1
                 prnt("Emergency example number not toll free for %s" % regionCode, file=sys.stderr)
     self.assertEqual(0, wrongTypeCounter)
 def testEmergency(self):
     wrongTypeCounter = 0
     for regionCode in shortnumberinfo.SUPPORTED_SHORT_REGIONS:
         metadata = PhoneMetadata.short_metadata_for_region(regionCode, None)
         desc = metadata.emergency
         if desc is not None and desc.example_number is not None:
             exampleNumber = desc.example_number
             phoneNumber = phonenumberutil.parse(exampleNumber, regionCode)
             if (not is_possible_short_number_for_region(phoneNumber, regionCode) or
                 not is_emergency_number(exampleNumber, regionCode)):
                 wrongTypeCounter += 1
                 prnt("Emergency example number test failed for %s" % regionCode, file=sys.stderr)
             elif shortnumberinfo.expected_cost_for_region(phoneNumber, regionCode) != ShortNumberCost.TOLL_FREE:
                 wrongTypeCounter += 1
                 prnt("Emergency example number not toll free for %s" % regionCode, file=sys.stderr)
     self.assertEqual(0, wrongTypeCounter)
 def testCarrierSpecificShortNumbers(self):
     wrongTagCounter = 0
     for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS:
         # Test the carrier-specific tag.
         metadata = PhoneMetadata.short_metadata_for_region(
             regionCode, None)
         desc = metadata.carrier_specific
         if desc.example_number is not None:
             exampleNumber = desc.example_number
             carrierSpecificNumber = phonenumberutil.parse(
                 exampleNumber, regionCode)
             if (not fullmatch(re.compile(desc.possible_number_pattern),
                               exampleNumber)
                     or not shortnumberinfo.is_carrier_specific(
                         carrierSpecificNumber)):
                 wrongTagCounter += 1
                 prnt("Carrier-specific test failed for %s" % regionCode,
                      file=sys.stderr)
         # TODO: Test other tags here
     self.assertEqual(0, wrongTagCounter)
Exemple #12
0
 def testMetadataPrint(self):
     # Python version extra test
     # Convert all metadata to strings to check the printing code doesn't blow up.
     for region_code in PhoneMetadata._short_region_available.keys():
         metadata = PhoneMetadata.short_metadata_for_region(region_code)
         str(metadata)