mobile-subscriber 0.0.1.alpha4 → 0.0.1.alpha5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mobile_subscriber/detection/from_msisdn_http_request_header.rb +1 -1
- data/lib/mobile_subscriber/detection/from_x_nokia_msisdn_http_request_header.rb +1 -1
- data/lib/mobile_subscriber/detection/from_x_up_ch_msisdn_http_request_header.rb +1 -1
- data/lib/mobile_subscriber/detection/from_x_up_subno_http_request_header.rb +1 -1
- data/lib/mobile_subscriber/version.rb +1 -1
- data/spec/detection/from_msisdn_http_request_header_spec.rb +12 -1
- data/spec/detection/from_x_up_calling_line_id_http_request_header_spec.rb +35 -0
- data/spec/factories/requests.rb +26 -13
- data/spec/shared_examples/of_msisdn_detection_from_http_request.rb +22 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f3d86284c8cd6a42a0fdab25eba82cb6c1ba05b
|
4
|
+
data.tar.gz: fbcf9b5f54072d1a6f9580da21bc6afbd4314d51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0acdb66c244b26c2360958eeaf0a392b3786d59e73946348e5abfc1f249ea47e978576711b76e3a2f4a960c60e1ad4ca546e879c085a2821be8223c8ad2317ab
|
7
|
+
data.tar.gz: d7f91b0655d285b3f9ce75993ee7702088b35e17887590c77cd54df922703fd421000a49e08ddf6d1dc45b9e6c3d630039c8b0652048d4f0a60a527e60b98a7c
|
@@ -34,7 +34,7 @@ module MobileSubscriber
|
|
34
34
|
http_request_headers: { 'Msisdn' => msisdn }
|
35
35
|
}
|
36
36
|
|
37
|
-
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]]
|
37
|
+
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]] || MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,3]]
|
38
38
|
|
39
39
|
# Determinar la procedencia del MSISDN
|
40
40
|
# TODO: Validar por IP, etc.
|
@@ -22,7 +22,7 @@ module MobileSubscriber
|
|
22
22
|
http_request_headers: { 'X-Nokia-Msisdn' => msisdn }
|
23
23
|
}
|
24
24
|
|
25
|
-
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]]
|
25
|
+
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]] || MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,3]]
|
26
26
|
|
27
27
|
# Determinar la procedencia del MSISDN
|
28
28
|
# TODO: Validar por IP, etc.
|
@@ -20,7 +20,7 @@ module MobileSubscriber
|
|
20
20
|
http_request_headers: { 'X-Up-Ch-Msisdn' => msisdn }
|
21
21
|
}
|
22
22
|
|
23
|
-
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]]
|
23
|
+
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]] || MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,3]]
|
24
24
|
|
25
25
|
# Determinar la procedencia del MSISDN
|
26
26
|
# TODO: Validar por IP, etc.
|
@@ -23,7 +23,7 @@ module MobileSubscriber
|
|
23
23
|
http_request_headers: { header_name => msisdn }
|
24
24
|
}
|
25
25
|
|
26
|
-
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]]
|
26
|
+
country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]] || MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,3]]
|
27
27
|
|
28
28
|
# Determinar la procedencia del MSISDN
|
29
29
|
# TODO: Validar por IP, etc.
|
@@ -34,7 +34,7 @@ describe MobileSubscriber::Detection::FromMsisdnHttpRequestHeader do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
context "when given a request made from Claro
|
37
|
+
context "when given a request made from Claro Colombia" do
|
38
38
|
let(:test_request) { build :mobile_request_from_claro_colombia }
|
39
39
|
|
40
40
|
include_examples "of detection of msisdn from a valid colombian mobile network http request"
|
@@ -43,6 +43,17 @@ describe MobileSubscriber::Detection::FromMsisdnHttpRequestHeader do
|
|
43
43
|
expect(subject[:mobile_network_code]).to eq '101'
|
44
44
|
end
|
45
45
|
end
|
46
|
+
|
47
|
+
context "when given a request made from Claro Ecuador" do
|
48
|
+
let(:test_request) { build :mobile_request_from_claro_ecuador }
|
49
|
+
|
50
|
+
include_examples "of detection of msisdn from a valid ecuadorian mobile network http request"
|
51
|
+
|
52
|
+
it "has a :mobile_network_code value of '01'" do
|
53
|
+
expect(subject[:mobile_network_code]).to eq '01'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
46
57
|
end
|
47
58
|
|
48
59
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe MobileSubscriber::Detection::FromXUpCallingLineIdHttpRequestHeader do
|
4
|
+
|
5
|
+
include described_class::ClassMethods
|
6
|
+
|
7
|
+
describe "the returned object of self.extract_from_msisdn_http_request_header" do
|
8
|
+
|
9
|
+
subject do
|
10
|
+
extract_from_x_up_calling_line_id_http_request_header test_request
|
11
|
+
end
|
12
|
+
|
13
|
+
context "when given a request made from Claro Perú" do
|
14
|
+
let(:test_request) { build :mobile_request_from_claro_peru }
|
15
|
+
|
16
|
+
include_examples "of detection of msisdn from a valid peruvian mobile network http request"
|
17
|
+
|
18
|
+
it "has a :mobile_network_code value of '10'" do
|
19
|
+
expect(subject[:mobile_network_code]).to eq '10'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "when given a request made from Movistar Perú" do
|
24
|
+
let(:test_request) { build :mobile_request_from_movistar_peru }
|
25
|
+
|
26
|
+
include_examples "of detection of msisdn from a valid peruvian mobile network http request"
|
27
|
+
|
28
|
+
it "has a :mobile_network_code value of '06'" do
|
29
|
+
expect(subject[:mobile_network_code]).to eq '06'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/spec/factories/requests.rb
CHANGED
@@ -21,8 +21,7 @@ FactoryGirl.define do
|
|
21
21
|
|
22
22
|
initialize_with do
|
23
23
|
new build(:common_mobile_request_env).merge(
|
24
|
-
"REMOTE_ADDR" => "201.144.162.4"
|
25
|
-
"REMOTE_HOST" => "201.144.162.4"
|
24
|
+
"REMOTE_ADDR" => "201.144.162.4"
|
26
25
|
)
|
27
26
|
end
|
28
27
|
|
@@ -30,7 +29,6 @@ FactoryGirl.define do
|
|
30
29
|
initialize_with do
|
31
30
|
new build(:common_mobile_request_env).merge(
|
32
31
|
"REMOTE_ADDR" => "201.144.162.4",
|
33
|
-
"REMOTE_HOST" => "201.144.162.4",
|
34
32
|
"HTTP_X_NOKIA_MSISDN" => "528110000000"
|
35
33
|
)
|
36
34
|
end
|
@@ -40,8 +38,7 @@ FactoryGirl.define do
|
|
40
38
|
initialize_with do
|
41
39
|
new build(:common_mobile_request_env).merge(
|
42
40
|
"REMOTE_ADDR" => "170.51.255.240",
|
43
|
-
"
|
44
|
-
"HTTP_X_NOKIA_MSISDN" => "5491141098443"
|
41
|
+
"HTTP_X_NOKIA_MSISDN" => "5491141090000"
|
45
42
|
)
|
46
43
|
end
|
47
44
|
end
|
@@ -50,7 +47,6 @@ FactoryGirl.define do
|
|
50
47
|
initialize_with do
|
51
48
|
new build(:common_mobile_request_env).merge(
|
52
49
|
"REMOTE_ADDR" => "201.23.176.202",
|
53
|
-
"REMOTE_HOST" => "201.23.176.202",
|
54
50
|
"HTTP_MSISDN" => "5500000000000"
|
55
51
|
)
|
56
52
|
end
|
@@ -61,8 +57,7 @@ FactoryGirl.define do
|
|
61
57
|
initialize_with do
|
62
58
|
new build(:common_mobile_request_env).merge(
|
63
59
|
"REMOTE_ADDR" => "191.116.39.114",
|
64
|
-
"
|
65
|
-
"HTTP_MSISDN" => "56024445202"
|
60
|
+
"HTTP_MSISDN" => "56024440000"
|
66
61
|
)
|
67
62
|
end
|
68
63
|
end
|
@@ -71,18 +66,27 @@ FactoryGirl.define do
|
|
71
66
|
initialize_with do
|
72
67
|
new build(:common_mobile_request_env).merge(
|
73
68
|
"REMOTE_ADDR" => "200.26.137.100",
|
74
|
-
"REMOTE_HOST" => "200.26.137.100",
|
75
69
|
"HTTP_MSISDN" => "57000000000"
|
76
70
|
)
|
77
71
|
end
|
78
72
|
end
|
79
73
|
|
74
|
+
# http://myip.ms/view/ip_owners/80612/Conecel.html
|
75
|
+
factory :mobile_request_from_claro_ecuador do
|
76
|
+
initialize_with do
|
77
|
+
new build(:common_mobile_request_env).merge(
|
78
|
+
"REMOTE_ADDR" => "190.63.1.10",
|
79
|
+
"HTTP_MSISDN" => "59342690000"
|
80
|
+
)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# http://myip.ms/view/ip_owners/90291/America_Movil_Peru_S_a_c.html
|
80
85
|
factory :mobile_request_from_claro_peru do
|
81
86
|
initialize_with do
|
82
87
|
new build(:common_mobile_request_env).merge(
|
83
|
-
"REMOTE_ADDR" => "
|
84
|
-
"
|
85
|
-
"HTTP_X_UP_CALLING_LINE_ID" => "5100000000000",
|
88
|
+
"REMOTE_ADDR" => "200.108.96.5",
|
89
|
+
"HTTP_X_UP_CALLING_LINE_ID" => "5116130000",
|
86
90
|
"HTTP_VIA" => "aa Comverse aaa"
|
87
91
|
)
|
88
92
|
end
|
@@ -92,12 +96,21 @@ FactoryGirl.define do
|
|
92
96
|
initialize_with do
|
93
97
|
new build(:common_mobile_request_env).merge(
|
94
98
|
"REMOTE_ADDR" => "187.26.59.4",
|
95
|
-
"REMOTE_HOST" => "187.26.59.4",
|
96
99
|
"HTTP_X_UP_CH_MSISDN" => "5500000000000"
|
97
100
|
)
|
98
101
|
end
|
99
102
|
end
|
100
103
|
|
104
|
+
# http://myip.ms/view/ip_owners/7424/Telefonica_Del_Peru_Saa.html
|
105
|
+
factory :mobile_request_from_movistar_peru do
|
106
|
+
initialize_with do
|
107
|
+
new build(:common_mobile_request_env).merge(
|
108
|
+
"REMOTE_ADDR" => "190.42.165.87",
|
109
|
+
"HTTP_X_UP_CALLING_LINE_ID" => "5112100000"
|
110
|
+
)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
101
114
|
|
102
115
|
end
|
103
116
|
end
|
@@ -82,3 +82,25 @@ shared_examples "of detection of msisdn from a valid colombian mobile network ht
|
|
82
82
|
expect(subject[:mobile_country_code]).to eq '732'
|
83
83
|
end
|
84
84
|
end
|
85
|
+
|
86
|
+
shared_examples "of detection of msisdn from a valid ecuadorian mobile network http request" do
|
87
|
+
include_examples "of detection of msisdn from a valid mobile network http request"
|
88
|
+
it "has an :id value that starts with '593'" do
|
89
|
+
expect(subject[:id]).to match /\A593/
|
90
|
+
end
|
91
|
+
|
92
|
+
it "has a :mobile_country_code value of '740'" do
|
93
|
+
expect(subject[:mobile_country_code]).to eq '740'
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
shared_examples "of detection of msisdn from a valid peruvian mobile network http request" do
|
98
|
+
include_examples "of detection of msisdn from a valid mobile network http request"
|
99
|
+
it "has an :id value that starts with '51'" do
|
100
|
+
expect(subject[:id]).to match /\A51/
|
101
|
+
end
|
102
|
+
|
103
|
+
it "has a :mobile_country_code value of '716'" do
|
104
|
+
expect(subject[:mobile_country_code]).to eq '716'
|
105
|
+
end
|
106
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mobile-subscriber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.alpha5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Quintanilla
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- mobile_subscriber.thor
|
128
128
|
- spec/detection/from_msisdn_http_request_header_spec.rb
|
129
129
|
- spec/detection/from_x_nokia_msisdn_http_request_header_spec.rb
|
130
|
+
- spec/detection/from_x_up_calling_line_id_http_request_header_spec.rb
|
130
131
|
- spec/factories/requests.rb
|
131
132
|
- spec/mobile_subscriber_spec.rb
|
132
133
|
- spec/models/isdn_spec.rb
|
@@ -161,6 +162,7 @@ summary: Mobile MSISDN detection & validation.
|
|
161
162
|
test_files:
|
162
163
|
- spec/detection/from_msisdn_http_request_header_spec.rb
|
163
164
|
- spec/detection/from_x_nokia_msisdn_http_request_header_spec.rb
|
165
|
+
- spec/detection/from_x_up_calling_line_id_http_request_header_spec.rb
|
164
166
|
- spec/factories/requests.rb
|
165
167
|
- spec/mobile_subscriber_spec.rb
|
166
168
|
- spec/models/isdn_spec.rb
|