blob: 59b9ba1aa9870447c52ec95adf4cf5a3445a8cdd [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
Neels Hofmeyr98509462017-10-09 17:28:53 +020032DAUC IMSI='123456789000000': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
33
34db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
35struct hlr_subscriber {
36 .id = 1,
37 .imsi = '123456789000000',
38}
39
40db_subscr_create(dbc, imsi1) --> -EIO
41DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
Neels Hofmeyr98509462017-10-09 17:28:53 +020042DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
43
44db_subscr_create(dbc, imsi1) --> -EIO
45DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
Neels Hofmeyr98509462017-10-09 17:28:53 +020046DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
47
48db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
49struct hlr_subscriber {
50 .id = 2,
51 .imsi = '123456789000001',
52}
53
54db_subscr_create(dbc, imsi2) --> -EIO
55DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
Neels Hofmeyr98509462017-10-09 17:28:53 +020056DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
57
58db_subscr_create(dbc, imsi2) --> -EIO
59DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
Neels Hofmeyr98509462017-10-09 17:28:53 +020060DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
61
62db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
63struct hlr_subscriber {
64 .id = 3,
65 .imsi = '123456789000002',
66}
67
68db_subscr_create(dbc, "123456789 000003") --> -EINVAL
69DAUC Cannot create subscriber: invalid IMSI: '123456789 000003'
70
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +020071db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOENT
72DAUC Cannot read subscriber from db: IMSI='123456789000003': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +020073
74db_subscr_create(dbc, "123456789000002123456") --> -EINVAL
75DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456'
76
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +020077db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOENT
78DAUC Cannot read subscriber from db: IMSI='123456789000002123456': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +020079
80db_subscr_create(dbc, "foobar123") --> -EINVAL
81DAUC Cannot create subscriber: invalid IMSI: 'foobar123'
82
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +020083db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOENT
84DAUC Cannot read subscriber from db: IMSI='foobar123': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +020085
86db_subscr_create(dbc, "123") --> -EINVAL
87DAUC Cannot create subscriber: invalid IMSI: '123'
88
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +020089db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOENT
90DAUC Cannot read subscriber from db: IMSI='123': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +020091
92db_subscr_create(dbc, short_imsi) --> 0
93
94db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
95struct hlr_subscriber {
96 .id = 4,
97 .imsi = '123456',
98}
99
100
101--- Set valid / invalid MSISDN
102
103db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
104struct hlr_subscriber {
105 .id = 1,
106 .imsi = '123456789000000',
107}
108
109db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321") --> 0
110
111db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
112struct hlr_subscriber {
113 .id = 1,
114 .imsi = '123456789000000',
115 .msisdn = '54321',
116}
117
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200118db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> 0
119struct hlr_subscriber {
120 .id = 1,
121 .imsi = '123456789000000',
122 .msisdn = '54321',
123}
124
Neels Hofmeyr98509462017-10-09 17:28:53 +0200125db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321012345678912345678") --> -EINVAL
126DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '54321012345678912345678'
127
128db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
129struct hlr_subscriber {
130 .id = 1,
131 .imsi = '123456789000000',
132 .msisdn = '54321',
133}
134
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200135db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> 0
136struct hlr_subscriber {
137 .id = 1,
138 .imsi = '123456789000000',
139 .msisdn = '54321',
140}
141
142db_subscr_get_by_msisdn(dbc, "54321012345678912345678", &g_subscr) --> -ENOENT
143DAUC Cannot read subscriber from db: MSISDN='54321012345678912345678': No such subscriber
144
Neels Hofmeyr98509462017-10-09 17:28:53 +0200145db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543 21") --> -EINVAL
146DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '543 21'
147
148db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
149struct hlr_subscriber {
150 .id = 1,
151 .imsi = '123456789000000',
152 .msisdn = '54321',
153}
154
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200155db_subscr_get_by_msisdn(dbc, "543 21", &g_subscr) --> -ENOENT
156DAUC Cannot read subscriber from db: MSISDN='543 21': No such subscriber
157
Neels Hofmeyr98509462017-10-09 17:28:53 +0200158db_subscr_update_msisdn_by_imsi(dbc, imsi0, "foobar123") --> -EINVAL
159DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: 'foobar123'
160
161db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
162struct hlr_subscriber {
163 .id = 1,
164 .imsi = '123456789000000',
165 .msisdn = '54321',
166}
167
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200168db_subscr_get_by_msisdn(dbc, "foobar123", &g_subscr) --> -ENOENT
169DAUC Cannot read subscriber from db: MSISDN='foobar123': No such subscriber
170
Neels Hofmeyr98509462017-10-09 17:28:53 +0200171db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5") --> 0
172
173db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
174struct hlr_subscriber {
175 .id = 1,
176 .imsi = '123456789000000',
177 .msisdn = '5',
178}
179
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200180db_subscr_get_by_msisdn(dbc, "5", &g_subscr) --> 0
181struct hlr_subscriber {
182 .id = 1,
183 .imsi = '123456789000000',
184 .msisdn = '5',
185}
186
187db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> -ENOENT
188DAUC Cannot read subscriber from db: MSISDN='54321': No such subscriber
189
Neels Hofmeyr98509462017-10-09 17:28:53 +0200190db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543210123456789") --> 0
191
192db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
193struct hlr_subscriber {
194 .id = 1,
195 .imsi = '123456789000000',
196 .msisdn = '543210123456789',
197}
198
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200199db_subscr_get_by_msisdn(dbc, "543210123456789", &g_subscr) --> 0
200struct hlr_subscriber {
201 .id = 1,
202 .imsi = '123456789000000',
203 .msisdn = '543210123456789',
204}
205
Neels Hofmeyr98509462017-10-09 17:28:53 +0200206db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5432101234567891") --> -EINVAL
207DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '5432101234567891'
208
209db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
210struct hlr_subscriber {
211 .id = 1,
212 .imsi = '123456789000000',
213 .msisdn = '543210123456789',
214}
215
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200216db_subscr_get_by_msisdn(dbc, "5432101234567891", &g_subscr) --> -ENOENT
217DAUC Cannot read subscriber from db: MSISDN='5432101234567891': No such subscriber
218
Neels Hofmeyr98509462017-10-09 17:28:53 +0200219
220--- Set MSISDN on non-existent / invalid IMSI
221
222db_subscr_update_msisdn_by_imsi(dbc, unknown_imsi, "99") --> -ENOENT
223DAUC Cannot update MSISDN: no such subscriber: IMSI='999999999'
224
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200225db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
226DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
227
Neels Hofmeyr98509462017-10-09 17:28:53 +0200228db_subscr_update_msisdn_by_imsi(dbc, "foobar", "99") --> -ENOENT
229DAUC Cannot update MSISDN: no such subscriber: IMSI='foobar'
230
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200231db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
232DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
233
Neels Hofmeyr98509462017-10-09 17:28:53 +0200234
Neels Hofmeyre8ccd502017-10-06 04:10:06 +0200235--- Set / unset nam_cs and nam_ps
236
237db_subscr_nam(dbc, imsi0, false, true) --> 0
238
239db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
240struct hlr_subscriber {
241 .id = 1,
242 .imsi = '123456789000000',
243 .msisdn = '543210123456789',
244 .nam_ps = false,
245}
246
247db_subscr_nam(dbc, imsi0, false, false) --> 0
248
249db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
250struct hlr_subscriber {
251 .id = 1,
252 .imsi = '123456789000000',
253 .msisdn = '543210123456789',
254 .nam_cs = false,
255 .nam_ps = false,
256}
257
258db_subscr_nam(dbc, imsi0, true, false) --> 0
259
260db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
261struct hlr_subscriber {
262 .id = 1,
263 .imsi = '123456789000000',
264 .msisdn = '543210123456789',
265 .nam_ps = false,
266}
267
268db_subscr_nam(dbc, imsi0, true, true) --> 0
269
270db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
271struct hlr_subscriber {
272 .id = 1,
273 .imsi = '123456789000000',
274 .msisdn = '543210123456789',
275}
276
277
278--- Set / unset nam_cs and nam_ps *again*
279
280db_subscr_nam(dbc, imsi0, false, true) --> 0
281
282db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
283struct hlr_subscriber {
284 .id = 1,
285 .imsi = '123456789000000',
286 .msisdn = '543210123456789',
287 .nam_ps = false,
288}
289
290db_subscr_nam(dbc, imsi0, false, true) --> 0
291
292db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
293struct hlr_subscriber {
294 .id = 1,
295 .imsi = '123456789000000',
296 .msisdn = '543210123456789',
297 .nam_ps = false,
298}
299
300db_subscr_nam(dbc, imsi0, false, false) --> 0
301
302db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
303struct hlr_subscriber {
304 .id = 1,
305 .imsi = '123456789000000',
306 .msisdn = '543210123456789',
307 .nam_cs = false,
308 .nam_ps = false,
309}
310
311db_subscr_nam(dbc, imsi0, false, false) --> 0
312
313db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
314struct hlr_subscriber {
315 .id = 1,
316 .imsi = '123456789000000',
317 .msisdn = '543210123456789',
318 .nam_cs = false,
319 .nam_ps = false,
320}
321
322db_subscr_nam(dbc, imsi0, true, true) --> 0
323
324db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
325struct hlr_subscriber {
326 .id = 1,
327 .imsi = '123456789000000',
328 .msisdn = '543210123456789',
329 .nam_cs = false,
330}
331
332db_subscr_nam(dbc, imsi0, true, true) --> 0
333
334db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
335struct hlr_subscriber {
336 .id = 1,
337 .imsi = '123456789000000',
338 .msisdn = '543210123456789',
339 .nam_cs = false,
340}
341
342db_subscr_nam(dbc, imsi0, true, false) --> 0
343
344db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
345struct hlr_subscriber {
346 .id = 1,
347 .imsi = '123456789000000',
348 .msisdn = '543210123456789',
349}
350
351db_subscr_nam(dbc, imsi0, true, false) --> 0
352
353db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
354struct hlr_subscriber {
355 .id = 1,
356 .imsi = '123456789000000',
357 .msisdn = '543210123456789',
358}
359
360
361--- Set nam_cs and nam_ps on non-existent / invalid IMSI
362
363db_subscr_nam(dbc, unknown_imsi, false, true) --> -ENOENT
364DAUC Cannot disable PS: no such subscriber: IMSI='999999999'
365
366db_subscr_nam(dbc, unknown_imsi, false, false) --> -ENOENT
367DAUC Cannot disable CS: no such subscriber: IMSI='999999999'
368
369db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
370DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
371
372db_subscr_nam(dbc, "foobar", false, true) --> -ENOENT
373DAUC Cannot disable PS: no such subscriber: IMSI='foobar'
374
375db_subscr_nam(dbc, "foobar", false, false) --> -ENOENT
376DAUC Cannot disable CS: no such subscriber: IMSI='foobar'
377
378
Neels Hofmeyrdd783052017-10-09 17:36:08 +0200379--- Record LU for PS and CS (SGSN and VLR names)
380
381db_subscr_lu(dbc, id0, "5952", true) --> 0
382
383db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
384struct hlr_subscriber {
385 .id = 1,
386 .imsi = '123456789000000',
387 .msisdn = '543210123456789',
388 .sgsn_number = '5952',
389}
390
391db_subscr_lu(dbc, id0, "712", false) --> 0
392
393db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
394struct hlr_subscriber {
395 .id = 1,
396 .imsi = '123456789000000',
397 .msisdn = '543210123456789',
398 .vlr_number = '712',
399 .sgsn_number = '5952',
400}
401
402
403--- Record LU for PS and CS (SGSN and VLR names) *again*
404
405db_subscr_lu(dbc, id0, "111", true) --> 0
406
407db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
408struct hlr_subscriber {
409 .id = 1,
410 .imsi = '123456789000000',
411 .msisdn = '543210123456789',
412 .vlr_number = '712',
413 .sgsn_number = '111',
414}
415
416db_subscr_lu(dbc, id0, "111", true) --> 0
417
418db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
419struct hlr_subscriber {
420 .id = 1,
421 .imsi = '123456789000000',
422 .msisdn = '543210123456789',
423 .vlr_number = '712',
424 .sgsn_number = '111',
425}
426
427db_subscr_lu(dbc, id0, "222", false) --> 0
428
429db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
430struct hlr_subscriber {
431 .id = 1,
432 .imsi = '123456789000000',
433 .msisdn = '543210123456789',
434 .vlr_number = '222',
435 .sgsn_number = '111',
436}
437
438db_subscr_lu(dbc, id0, "222", false) --> 0
439
440db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
441struct hlr_subscriber {
442 .id = 1,
443 .imsi = '123456789000000',
444 .msisdn = '543210123456789',
445 .vlr_number = '222',
446 .sgsn_number = '111',
447}
448
449
450--- Unset LU info for PS and CS (SGSN and VLR names)
451
452db_subscr_lu(dbc, id0, "", true) --> 0
453
454db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
455struct hlr_subscriber {
456 .id = 1,
457 .imsi = '123456789000000',
458 .msisdn = '543210123456789',
459 .vlr_number = '222',
460}
461
462db_subscr_lu(dbc, id0, "", false) --> 0
463
464db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
465struct hlr_subscriber {
466 .id = 1,
467 .imsi = '123456789000000',
468 .msisdn = '543210123456789',
469}
470
471db_subscr_lu(dbc, id0, "111", true) --> 0
472
473db_subscr_lu(dbc, id0, "222", false) --> 0
474
475db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
476struct hlr_subscriber {
477 .id = 1,
478 .imsi = '123456789000000',
479 .msisdn = '543210123456789',
480 .vlr_number = '222',
481 .sgsn_number = '111',
482}
483
484db_subscr_lu(dbc, id0, NULL, true) --> 0
485
486db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
487struct hlr_subscriber {
488 .id = 1,
489 .imsi = '123456789000000',
490 .msisdn = '543210123456789',
491 .vlr_number = '222',
492}
493
494db_subscr_lu(dbc, id0, NULL, false) --> 0
495
496db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
497struct hlr_subscriber {
498 .id = 1,
499 .imsi = '123456789000000',
500 .msisdn = '543210123456789',
501}
502
503
504--- Record LU for non-existent ID
505
506db_subscr_lu(dbc, 99999, "5952", true) --> -ENOENT
507DAUC Cannot update SGSN number for subscriber ID=99999: no such subscriber
508
509db_subscr_lu(dbc, 99999, "712", false) --> -ENOENT
510DAUC Cannot update VLR number for subscriber ID=99999: no such subscriber
511
512db_subscr_get_by_id(dbc, 99999, &g_subscr) --> -ENOENT
513DAUC Cannot read subscriber from db: ID=99999: No such subscriber
514
515
Neels Hofmeyre50121e2017-10-09 17:48:51 +0200516--- Purge and un-purge PS and CS
517
518db_subscr_purge(dbc, imsi0, true, true) --> 0
519
520db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
521struct hlr_subscriber {
522 .id = 1,
523 .imsi = '123456789000000',
524 .msisdn = '543210123456789',
525 .ms_purged_ps = true,
526}
527
528db_subscr_purge(dbc, imsi0, true, false) --> 0
529
530db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
531struct hlr_subscriber {
532 .id = 1,
533 .imsi = '123456789000000',
534 .msisdn = '543210123456789',
535 .ms_purged_cs = true,
536 .ms_purged_ps = true,
537}
538
539db_subscr_purge(dbc, imsi0, false, false) --> 0
540
541db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
542struct hlr_subscriber {
543 .id = 1,
544 .imsi = '123456789000000',
545 .msisdn = '543210123456789',
546 .ms_purged_ps = true,
547}
548
549db_subscr_purge(dbc, imsi0, false, true) --> 0
550
551db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
552struct hlr_subscriber {
553 .id = 1,
554 .imsi = '123456789000000',
555 .msisdn = '543210123456789',
556}
557
558
559--- Purge PS and CS *again*
560
561db_subscr_purge(dbc, imsi0, true, true) --> 0
562
563db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
564struct hlr_subscriber {
565 .id = 1,
566 .imsi = '123456789000000',
567 .msisdn = '543210123456789',
568 .ms_purged_ps = true,
569}
570
571db_subscr_purge(dbc, imsi0, true, true) --> 0
572
573db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
574struct hlr_subscriber {
575 .id = 1,
576 .imsi = '123456789000000',
577 .msisdn = '543210123456789',
578 .ms_purged_ps = true,
579}
580
581db_subscr_purge(dbc, imsi0, false, true) --> 0
582
583db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
584struct hlr_subscriber {
585 .id = 1,
586 .imsi = '123456789000000',
587 .msisdn = '543210123456789',
588}
589
590db_subscr_purge(dbc, imsi0, false, true) --> 0
591
592db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
593struct hlr_subscriber {
594 .id = 1,
595 .imsi = '123456789000000',
596 .msisdn = '543210123456789',
597}
598
599db_subscr_purge(dbc, imsi0, true, false) --> 0
600
601db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
602struct hlr_subscriber {
603 .id = 1,
604 .imsi = '123456789000000',
605 .msisdn = '543210123456789',
606 .ms_purged_cs = true,
607}
608
609db_subscr_purge(dbc, imsi0, true, false) --> 0
610
611db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
612struct hlr_subscriber {
613 .id = 1,
614 .imsi = '123456789000000',
615 .msisdn = '543210123456789',
616 .ms_purged_cs = true,
617}
618
619db_subscr_purge(dbc, imsi0, false, false) --> 0
620
621db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
622struct hlr_subscriber {
623 .id = 1,
624 .imsi = '123456789000000',
625 .msisdn = '543210123456789',
626}
627
628db_subscr_purge(dbc, imsi0, false, false) --> 0
629
630db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
631struct hlr_subscriber {
632 .id = 1,
633 .imsi = '123456789000000',
634 .msisdn = '543210123456789',
635}
636
637
638--- Purge on non-existent / invalid IMSI
639
640db_subscr_purge(dbc, unknown_imsi, true, true) --> -ENOENT
641DAUC Cannot purge PS: no such subscriber: IMSI='999999999'
642
643db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
644DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
645
646db_subscr_purge(dbc, unknown_imsi, true, false) --> -ENOENT
647DAUC Cannot purge CS: no such subscriber: IMSI='999999999'
648
649db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
650DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
651
652
Neels Hofmeyr98509462017-10-09 17:28:53 +0200653--- Delete non-existent / invalid IDs
654
655db_subscr_delete_by_id(dbc, 999) --> -ENOENT
656DAUC Cannot delete: no such subscriber: ID=999
657
658db_subscr_delete_by_id(dbc, -10) --> -ENOENT
659DAUC Cannot delete: no such subscriber: ID=-10
660
661
662--- Delete subscribers
663
664db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
665struct hlr_subscriber {
666 .id = 1,
667 .imsi = '123456789000000',
668 .msisdn = '543210123456789',
669}
670
671db_subscr_delete_by_id(dbc, id0) --> 0
672
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200673db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
674DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +0200675
676db_subscr_delete_by_id(dbc, id0) --> -ENOENT
677DAUC Cannot delete: no such subscriber: ID=1
678
679db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
680struct hlr_subscriber {
681 .id = 2,
682 .imsi = '123456789000001',
683}
684
685db_subscr_delete_by_id(dbc, id1) --> 0
686
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200687db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> -ENOENT
688DAUC Cannot read subscriber from db: IMSI='123456789000001': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +0200689
690db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
691struct hlr_subscriber {
692 .id = 3,
693 .imsi = '123456789000002',
694}
695
696db_subscr_delete_by_id(dbc, id2) --> 0
697
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200698db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> -ENOENT
699DAUC Cannot read subscriber from db: IMSI='123456789000002': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +0200700
701db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
702struct hlr_subscriber {
703 .id = 4,
704 .imsi = '123456',
705}
706
707db_subscr_delete_by_id(dbc, id_short) --> 0
708
Neels Hofmeyr9c2bbc82017-10-09 17:30:32 +0200709db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> -ENOENT
710DAUC Cannot read subscriber from db: IMSI='123456': No such subscriber
Neels Hofmeyr98509462017-10-09 17:28:53 +0200711
712===== test_subscr_create_update_sel_delete: SUCCESS
713