-
Notifications
You must be signed in to change notification settings - Fork 439
Expand file tree
/
Copy pathtestmetadatatest.py
More file actions
59 lines (46 loc) · 2.26 KB
/
testmetadatatest.py
File metadata and controls
59 lines (46 loc) · 2.26 KB
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()