440 lines
12 KiB
Plaintext
440 lines
12 KiB
Plaintext
|
|
===== test_subscr_create_update_sel_delete
|
|
|
|
--- Create with valid / invalid IMSI
|
|
|
|
db_subscr_create(dbc, imsi0) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
}
|
|
|
|
db_subscr_create(dbc, imsi1) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 2,
|
|
.imsi = '123456789000001',
|
|
}
|
|
|
|
db_subscr_create(dbc, imsi2) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 3,
|
|
.imsi = '123456789000002',
|
|
}
|
|
|
|
db_subscr_create(dbc, imsi0) --> -EIO
|
|
DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
|
|
DAUC IMSI='123456789000000': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
}
|
|
|
|
db_subscr_create(dbc, imsi1) --> -EIO
|
|
DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
|
|
DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
|
|
|
|
db_subscr_create(dbc, imsi1) --> -EIO
|
|
DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
|
|
DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 2,
|
|
.imsi = '123456789000001',
|
|
}
|
|
|
|
db_subscr_create(dbc, imsi2) --> -EIO
|
|
DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
|
|
DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
|
|
|
|
db_subscr_create(dbc, imsi2) --> -EIO
|
|
DDB (2067) abort at 18 in [INSERT INTO subscriber (imsi) VALUES ($imsi)]: UNIQUE constraint failed: subscriber.imsi
|
|
DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 3,
|
|
.imsi = '123456789000002',
|
|
}
|
|
|
|
db_subscr_create(dbc, "123456789 000003") --> -EINVAL
|
|
DAUC Cannot create subscriber: invalid IMSI: '123456789 000003'
|
|
|
|
db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456789000003': No such subscriber
|
|
|
|
db_subscr_create(dbc, "123456789000002123456") --> -EINVAL
|
|
DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456'
|
|
|
|
db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456789000002123456': No such subscriber
|
|
|
|
db_subscr_create(dbc, "foobar123") --> -EINVAL
|
|
DAUC Cannot create subscriber: invalid IMSI: 'foobar123'
|
|
|
|
db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='foobar123': No such subscriber
|
|
|
|
db_subscr_create(dbc, "123") --> -EINVAL
|
|
DAUC Cannot create subscriber: invalid IMSI: '123'
|
|
|
|
db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123': No such subscriber
|
|
|
|
db_subscr_create(dbc, short_imsi) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 4,
|
|
.imsi = '123456',
|
|
}
|
|
|
|
|
|
--- Set valid / invalid MSISDN
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
}
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321") --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "54321012345678912345678") --> -EINVAL
|
|
DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '54321012345678912345678'
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "54321012345678912345678", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='54321012345678912345678': No such subscriber
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543 21") --> -EINVAL
|
|
DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '543 21'
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "543 21", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='543 21': No such subscriber
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "foobar123") --> -EINVAL
|
|
DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: 'foobar123'
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '54321',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "foobar123", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='foobar123': No such subscriber
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5") --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '5',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "5", &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '5',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='54321': No such subscriber
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543210123456789") --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "543210123456789", &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5432101234567891") --> -EINVAL
|
|
DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '5432101234567891'
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
db_subscr_get_by_msisdn(dbc, "5432101234567891", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='5432101234567891': No such subscriber
|
|
|
|
|
|
--- Set MSISDN on non-existent / invalid IMSI
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, unknown_imsi, "99") --> -ENOENT
|
|
DAUC Cannot update MSISDN: no such subscriber: IMSI='999999999'
|
|
|
|
db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
|
|
|
|
db_subscr_update_msisdn_by_imsi(dbc, "foobar", "99") --> -ENOENT
|
|
DAUC Cannot update MSISDN: no such subscriber: IMSI='foobar'
|
|
|
|
db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
|
|
|
|
|
|
--- Set / unset nam_cs and nam_ps
|
|
|
|
db_subscr_nam(dbc, imsi0, false, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, false, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_cs = false,
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
|
|
--- Set / unset nam_cs and nam_ps *again*
|
|
|
|
db_subscr_nam(dbc, imsi0, false, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, false, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, false, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_cs = false,
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, false, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_cs = false,
|
|
.nam_ps = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_cs = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, true) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
.nam_cs = false,
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
db_subscr_nam(dbc, imsi0, true, false) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
|
|
--- Set nam_cs and nam_ps on non-existent / invalid IMSI
|
|
|
|
db_subscr_nam(dbc, unknown_imsi, false, true) --> -ENOENT
|
|
DAUC Cannot disable PS: no such subscriber: IMSI='999999999'
|
|
|
|
db_subscr_nam(dbc, unknown_imsi, false, false) --> -ENOENT
|
|
DAUC Cannot disable CS: no such subscriber: IMSI='999999999'
|
|
|
|
db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
|
|
|
|
db_subscr_nam(dbc, "foobar", false, true) --> -ENOENT
|
|
DAUC Cannot disable PS: no such subscriber: IMSI='foobar'
|
|
|
|
db_subscr_nam(dbc, "foobar", false, false) --> -ENOENT
|
|
DAUC Cannot disable CS: no such subscriber: IMSI='foobar'
|
|
|
|
|
|
--- Delete non-existent / invalid IDs
|
|
|
|
db_subscr_delete_by_id(dbc, 999) --> -ENOENT
|
|
DAUC Cannot delete: no such subscriber: ID=999
|
|
|
|
db_subscr_delete_by_id(dbc, -10) --> -ENOENT
|
|
DAUC Cannot delete: no such subscriber: ID=-10
|
|
|
|
|
|
--- Delete subscribers
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 1,
|
|
.imsi = '123456789000000',
|
|
.msisdn = '543210123456789',
|
|
}
|
|
|
|
db_subscr_delete_by_id(dbc, id0) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
|
|
|
|
db_subscr_delete_by_id(dbc, id0) --> -ENOENT
|
|
DAUC Cannot delete: no such subscriber: ID=1
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 2,
|
|
.imsi = '123456789000001',
|
|
}
|
|
|
|
db_subscr_delete_by_id(dbc, id1) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456789000001': No such subscriber
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 3,
|
|
.imsi = '123456789000002',
|
|
}
|
|
|
|
db_subscr_delete_by_id(dbc, id2) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456789000002': No such subscriber
|
|
|
|
db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
|
|
struct hlr_subscriber {
|
|
.id = 4,
|
|
.imsi = '123456',
|
|
}
|
|
|
|
db_subscr_delete_by_id(dbc, id_short) --> 0
|
|
|
|
db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> -ENOENT
|
|
DAUC Cannot read subscriber from db: IMSI='123456': No such subscriber
|
|
|
|
===== test_subscr_create_update_sel_delete: SUCCESS
|
|
|