File: testmetadatatest.py

package info (click to toggle)
python-phonenumbers 8.12.57-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 39,212 kB
  • sloc: python: 332,712; xml: 46,045; makefile: 143; java: 91
file content (59 lines) | stat: -rw-r--r-- 2,318 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import unittest

from phonenumbers import PhoneMetadata
from phonenumbers import phonenumberutil

# Override library metadata with the test metadata.  First save the original
# data.
REAL_REGION_LOADERS = PhoneMetadata._region_available
REAL_COUNTRY_CODE_LOADERS = PhoneMetadata._country_code_available
REAL_REGION_METADATA = PhoneMetadata._region_metadata
REAL_COUNTRY_CODE_METADATA = PhoneMetadata._country_code_metadata
REAL_CC_TO_RC = phonenumberutil.COUNTRY_CODE_TO_REGION_CODE

# Clear the data dicts.
PhoneMetadata._region_available = {}
PhoneMetadata._country_code_available = {}
PhoneMetadata._region_metadata = {}
PhoneMetadata._country_code_metadata = {}
phonenumberutil.COUNTRY_CODE_TO_REGION_CODE = {}

# Import the test data; this will re-populate the cleared
# PhoneMetadata._region_available and PhoneMetadata._country_code_available maps
from .testdata import _COUNTRY_CODE_TO_REGION_CODE as TEST_CC_TO_RC
TEST_REGION_LOADERS = PhoneMetadata._region_available
TEST_COUNTRY_CODE_LOADERS = PhoneMetadata._country_code_available
TEST_REGION_METADATA = PhoneMetadata._region_metadata
TEST_COUNTRY_CODE_METADATA = PhoneMetadata._country_code_metadata


def reinstate_real_metadata():
    """Reinstate real phone number metadata"""
    phonenumberutil.COUNTRY_CODE_TO_REGION_CODE = REAL_CC_TO_RC
    PhoneMetadata._region_available = REAL_REGION_LOADERS
    PhoneMetadata._country_code_available = REAL_COUNTRY_CODE_LOADERS
    PhoneMetadata._region_metadata = REAL_REGION_METADATA
    PhoneMetadata._country_code_metadata = REAL_COUNTRY_CODE_METADATA
    phonenumberutil._regenerate_derived_data()


def insert_test_metadata():
    """Insert test metadata into library"""
    phonenumberutil.COUNTRY_CODE_TO_REGION_CODE = TEST_CC_TO_RC
    PhoneMetadata._region_available = TEST_REGION_LOADERS
    PhoneMetadata._country_code_available = TEST_COUNTRY_CODE_LOADERS
    PhoneMetadata._region_metadata = TEST_REGION_METADATA
    PhoneMetadata._country_code_metadata = TEST_COUNTRY_CODE_METADATA
    phonenumberutil._regenerate_derived_data()


# Reinstate the real metadata so any importers of this module are not affected
reinstate_real_metadata()


class TestMetadataTestCase(unittest.TestCase):
    def setUp(self):
        insert_test_metadata()

    def tearDown(self):
        reinstate_real_metadata()