blob: ac0e2f137b50ba12123f91e3c174225cd732760e [file] [log] [blame]
Neels Hofmeyr98509462017-10-09 17:28:53 +02001
2===== test_subscr_create_update_sel_delete
3
4--- Create with valid / invalid IMSI
5
6db_subscr_create(dbc, imsi0) --> 0
7
8db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
9struct hlr_subscriber {
10 .id = 1,
11 .imsi = '123456789000000',
12}
13
14db_subscr_create(dbc, imsi1) --> 0
15
16db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
17struct hlr_subscriber {
18 .id = 2,
19 .imsi = '123456789000001',
20}
21
22db_subscr_create(dbc, imsi2) --> 0
23
24db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
25struct hlr_subscriber {
26 .id = 3,
27 .imsi = '123456789000002',
28}
29
30db_subscr_create(dbc, imsi0) --> -EIO
31DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
32DDB Error in sqlite3_reset: 2067
33DAUC IMSI='123456789000000': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
34
35db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
36struct hlr_subscriber {
37 .id = 1,
38 .imsi = '123456789000000',
39}
40
41db_subscr_create(dbc, imsi1) --> -EIO
42DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
43DDB Error in sqlite3_reset: 2067
44DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
45
46db_subscr_create(dbc, imsi1) --> -EIO
47DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
48DDB Error in sqlite3_reset: 2067
49DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
50
51db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
52struct hlr_subscriber {
53 .id = 2,
54 .imsi = '123456789000001',
55}
56
57db_subscr_create(dbc, imsi2) --> -EIO
58DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
59DDB Error in sqlite3_reset: 2067
60DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
61
62db_subscr_create(dbc, imsi2) --> -EIO
63DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
64DDB Error in sqlite3_reset: 2067
65DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
66
67db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
68struct hlr_subscriber {
69 .id = 3,
70 .imsi = '123456789000002',
71}
72
73db_subscr_create(dbc, "123456789 000003") --> -EINVAL
74DAUC Cannot create subscriber: invalid IMSI: '123456789 000003'
75
76db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOEXEC
77DAUC IMSI='123456789000003': Error executing SQL: 101
78
79db_subscr_create(dbc, "123456789000002123456") --> -EINVAL
80DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456'
81
82db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOEXEC
83DAUC IMSI='123456789000002123456': Error executing SQL: 101
84
85db_subscr_create(dbc, "foobar123") --> -EINVAL
86DAUC Cannot create subscriber: invalid IMSI: 'foobar123'
87
88db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOEXEC
89DAUC IMSI='foobar123': Error executing SQL: 101
90
91db_subscr_create(dbc, "123") --> -EINVAL
92DAUC Cannot create subscriber: invalid IMSI: '123'
93
94db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOEXEC
95DAUC IMSI='123': Error executing SQL: 101
96
97db_subscr_create(dbc, short_imsi) --> 0
98
99db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
100struct hlr_subscriber {
101 .id = 4,
102 .imsi = '123456',
103}
104
105
106--- Set valid / invalid MSISDN
107
108db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
109struct hlr_subscriber {
110 .id = 1,
111 .imsi = '123456789000000',
112}
113
114db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321") --> 0
115
116db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
117struct hlr_subscriber {
118 .id = 1,
119 .imsi = '123456789000000',
120 .msisdn = '54321',
121}
122
123db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321012345678912345678") --> -EINVAL
124DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '54321012345678912345678'
125
126db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
127struct hlr_subscriber {
128 .id = 1,
129 .imsi = '123456789000000',
130 .msisdn = '54321',
131}
132
133db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543 21") --> -EINVAL
134DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '543 21'
135
136db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
137struct hlr_subscriber {
138 .id = 1,
139 .imsi = '123456789000000',
140 .msisdn = '54321',
141}
142
143db_subscr_update_msisdn_by_imsi(dbc, imsi0, "foobar123") --> -EINVAL
144DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: 'foobar123'
145
146db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
147struct hlr_subscriber {
148 .id = 1,
149 .imsi = '123456789000000',
150 .msisdn = '54321',
151}
152
153db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5") --> 0
154
155db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
156struct hlr_subscriber {
157 .id = 1,
158 .imsi = '123456789000000',
159 .msisdn = '5',
160}
161
162db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543210123456789") --> 0
163
164db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
165struct hlr_subscriber {
166 .id = 1,
167 .imsi = '123456789000000',
168 .msisdn = '543210123456789',
169}
170
171db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5432101234567891") --> -EINVAL
172DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '5432101234567891'
173
174db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
175struct hlr_subscriber {
176 .id = 1,
177 .imsi = '123456789000000',
178 .msisdn = '543210123456789',
179}
180
181
182--- Set MSISDN on non-existent / invalid IMSI
183
184db_subscr_update_msisdn_by_imsi(dbc, unknown_imsi, "99") --> -ENOENT
185DAUC Cannot update MSISDN: no such subscriber: IMSI='999999999'
186
187db_subscr_update_msisdn_by_imsi(dbc, "foobar", "99") --> -ENOENT
188DAUC Cannot update MSISDN: no such subscriber: IMSI='foobar'
189
190
191--- Delete non-existent / invalid IDs
192
193db_subscr_delete_by_id(dbc, 999) --> -ENOENT
194DAUC Cannot delete: no such subscriber: ID=999
195
196db_subscr_delete_by_id(dbc, -10) --> -ENOENT
197DAUC Cannot delete: no such subscriber: ID=-10
198
199
200--- Delete subscribers
201
202db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
203struct hlr_subscriber {
204 .id = 1,
205 .imsi = '123456789000000',
206 .msisdn = '543210123456789',
207}
208
209db_subscr_delete_by_id(dbc, id0) --> 0
210
211db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOEXEC
212DAUC IMSI='123456789000000': Error executing SQL: 101
213
214db_subscr_delete_by_id(dbc, id0) --> -ENOENT
215DAUC Cannot delete: no such subscriber: ID=1
216
217db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
218struct hlr_subscriber {
219 .id = 2,
220 .imsi = '123456789000001',
221}
222
223db_subscr_delete_by_id(dbc, id1) --> 0
224
225db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> -ENOEXEC
226DAUC IMSI='123456789000001': Error executing SQL: 101
227
228db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
229struct hlr_subscriber {
230 .id = 3,
231 .imsi = '123456789000002',
232}
233
234db_subscr_delete_by_id(dbc, id2) --> 0
235
236db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> -ENOEXEC
237DAUC IMSI='123456789000002': Error executing SQL: 101
238
239db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
240struct hlr_subscriber {
241 .id = 4,
242 .imsi = '123456',
243}
244
245db_subscr_delete_by_id(dbc, id_short) --> 0
246
247db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> -ENOEXEC
248DAUC IMSI='123456': Error executing SQL: 101
249
250===== test_subscr_create_update_sel_delete: SUCCESS
251