
===== test_subscr_create_update_sel_delete

--- Create with valid / invalid IMSI

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 2,
  .imsi = '123456789000001',
}

db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 3,
  .imsi = '123456789000002',
}

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EEXIST
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, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EEXIST
DAUC IMSI='123456789000001': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi

db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EEXIST
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, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EEXIST
DAUC IMSI='123456789000002': Cannot create subscriber: SQL error: (2067) UNIQUE constraint failed: subscriber.imsi

db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EEXIST
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", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
DAUC Cannot create subscriber: invalid IMSI: '123456789 000003'

db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOENT

db_subscr_create(dbc, "123456789000002123456", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456'

db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOENT

db_subscr_create(dbc, "foobar123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
DAUC Cannot create subscriber: invalid IMSI: 'foobar123'

db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOENT

db_subscr_create(dbc, "123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
DAUC Cannot create subscriber: invalid IMSI: '123'

db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOENT

db_subscr_create(dbc, short_imsi, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 4,
  .imsi = '123456',
}


--- Check if subscriber exists (by IMSI)

db_subscr_exists_by_imsi(dbc, imsi0) --> 0

db_subscr_exists_by_imsi(dbc, unknown_imsi) --> -ENOENT


--- 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

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

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

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

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


--- Check if subscriber exists (by MSISDN)

db_subscr_exists_by_msisdn(dbc, "543210123456789") --> 0

db_subscr_exists_by_msisdn(dbc, "5432101234567891") --> -ENOENT


--- 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

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


--- Set valid / invalid IMEI

db_subscr_update_imei_by_imsi(dbc, imsi0, "12345678901234") --> 0

db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .imei = '12345678901234',
}

db_subscr_update_imei_by_imsi(dbc, imsi0, "123456789012345") --> -EINVAL
DAUC Cannot update subscriber IMSI='123456789000000': invalid IMEI: '123456789012345'

db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .imei = '12345678901234',
}

db_subscr_get_by_imei(dbc, "123456789012345", &g_subscr) --> -ENOENT


--- Set the same IMEI again

db_subscr_update_imei_by_imsi(dbc, imsi0, "12345678901234") --> 0

db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .imei = '12345678901234',
}


--- Remove IMEI

db_subscr_update_imei_by_imsi(dbc, imsi0, NULL) --> 0

db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> -ENOENT


--- 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

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'


--- Record LU for PS and CS (SGSN and VLR names)

db_subscr_lu_str(dbc, id0, "5952", true) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .sgsn_number = '5952',
}

db_subscr_lu_str(dbc, id0, "712", false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '712',
  .sgsn_number = '5952',
}


--- Record LU for PS and CS (SGSN and VLR names) *again*

db_subscr_lu_str(dbc, id0, "111", true) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '712',
  .sgsn_number = '111',
}

db_subscr_lu_str(dbc, id0, "111", true) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '712',
  .sgsn_number = '111',
}

db_subscr_lu_str(dbc, id0, "222", false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '222',
  .sgsn_number = '111',
}

db_subscr_lu_str(dbc, id0, "222", false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '222',
  .sgsn_number = '111',
}


--- Unset LU info for PS and CS (SGSN and VLR names)

db_subscr_lu_str(dbc, id0, "", true) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '222',
}

db_subscr_lu_str(dbc, id0, "", false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}

db_subscr_lu_str(dbc, id0, "111", true) --> 0

db_subscr_lu_str(dbc, id0, "222", false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '222',
  .sgsn_number = '111',
}

db_subscr_lu_str(dbc, id0, NULL, true) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .vlr_number = '222',
}

db_subscr_lu_str(dbc, id0, NULL, false) --> 0

db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}


--- Record LU for non-existent ID

db_subscr_lu_str(dbc, 99999, "5952", true) --> -ENOENT
DAUC Cannot update SGSN number for subscriber ID=99999: no such subscriber

db_subscr_lu_str(dbc, 99999, "712", false) --> -ENOENT
DAUC Cannot update VLR number for subscriber ID=99999: no such subscriber

db_subscr_get_by_id(dbc, 99999, &g_subscr) --> -ENOENT


--- Purge and un-purge PS and CS

db_subscr_purge(dbc, imsi0, true, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_ps = true,
}

db_subscr_purge(dbc, imsi0, true, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_cs = true,
  .ms_purged_ps = true,
}

db_subscr_purge(dbc, imsi0, false, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_ps = true,
}

db_subscr_purge(dbc, imsi0, false, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}


--- Purge PS and CS *again*

db_subscr_purge(dbc, imsi0, true, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_ps = true,
}

db_subscr_purge(dbc, imsi0, true, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_ps = true,
}

db_subscr_purge(dbc, imsi0, false, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}

db_subscr_purge(dbc, imsi0, false, true) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}

db_subscr_purge(dbc, imsi0, true, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_cs = true,
}

db_subscr_purge(dbc, imsi0, true, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
  .ms_purged_cs = true,
}

db_subscr_purge(dbc, imsi0, false, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}

db_subscr_purge(dbc, imsi0, false, false) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .msisdn = '543210123456789',
}


--- Purge on non-existent / invalid IMSI

db_subscr_purge(dbc, unknown_imsi, true, true) --> -ENOENT
DAUC Cannot purge PS: no such subscriber: IMSI='999999999'

db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT

db_subscr_purge(dbc, unknown_imsi, true, false) --> -ENOENT
DAUC Cannot purge CS: no such subscriber: IMSI='999999999'

db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT


--- 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

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

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

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


--- Create and delete subscribers with non-default nam_cs and nam_ps

db_subscr_create(dbc, imsi0, 0x00) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
  .nam_cs = false,
  .nam_ps = false,
}

db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS) --> 0

db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 2,
  .imsi = '123456789000001',
  .nam_ps = false,
}

db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 3,
  .imsi = '123456789000002',
  .nam_cs = false,
}

db_subscr_delete_by_id(dbc, id0) --> 0

db_subscr_delete_by_id(dbc, id1) --> 0

db_subscr_delete_by_id(dbc, id2) --> 0

===== test_subscr_create_update_sel_delete: SUCCESS


===== test_subscr_aud

--- Get auth data for non-existent subscriber

db_get_auth_data(dbc, unknown_imsi, &g_aud2g, &g_aud3g, &g_id) --> -2
DAUC IMSI='999999999': No such subscriber


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -2
DAUC IMSI='123456789000000': No such subscriber


--- Create subscriber

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


--- Set auth data, 2G only

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "0123456789abcdef0123456789abcdef")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v1,
  .u.gsm.ki = '0123456789abcdef0123456789abcdef',
}
3G: none

db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> 3
DAUC IMSI='123456789000000': No 3G Auth Data
DAUC IMSI='123456789000000': Calling to generate 3 vectors
DAUC IMSI='123456789000000': Generated 3 vectors

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "0123456789abcdef0123456789abcdef")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v1,
  .u.gsm.ki = '0123456789abcdef0123456789abcdef',
}
3G: none

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v2, "BeadedBeeAced1EbbedDefacedFacade")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v2,
  .u.gsm.ki = 'beadedbeeaced1ebbeddefacedfacade',
}
3G: none

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v3, "DeafBeddedBabeAcceededFadedDecaf")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'deafbeddedbabeacceededfadeddecaf',
}
3G: none

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR, "CededEffacedAceFacedBadFadedBeef")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = XOR,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: none


--- Remove 2G auth data

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)) --> -ENOENT

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR, "CededEffacedAceFacedBadFadedBeef")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 3G Auth Data

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = XOR,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: none

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, "f000000000000f00000000000f000000")) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


--- Set auth data, 3G only

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", true, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> 3
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': Calling to generate 3 vectors
DAUC IMSI='123456789000000': Generated 3 vectors
DAUC IMSI='123456789000000': Updating SQN=0 in DB

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", true, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "Deaf0ff1ceD0d0DabbedD1ced1ceF00d", true, "F1bbed0afD0eF0bD0ffed0ddF1fe0b0e", 0)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'deaf0ff1ced0d0dabbedd1ced1cef00d',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'f1bbed0afd0ef0bd0ffed0ddf1fe0b0e',
  .u.umts.amf = '0000',
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", false, "DeafBeddedBabeAcceededFadedDecaf", OSMO_MILENAGE_IND_BITLEN_MAX)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 28,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "CededEffacedAceFacedBadFadedBeef", false, "BeefedCafeFaceAcedAddedDecadeFee", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'cededeffacedacefacedbadfadedbeef',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}


--- Remove 3G auth data

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_NONE, NULL, false, NULL, 0)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_NONE, NULL, false, NULL, 0)) --> -ENOENT

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "CededEffacedAceFacedBadFadedBeef", false, "BeefedCafeFaceAcedAddedDecadeFee", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'cededeffacedacefacedbadfadedbeef',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> 3
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': Calling to generate 3 vectors
DAUC IMSI='123456789000000': Generated 3 vectors
DAUC IMSI='123456789000000': Updating SQN=0 in DB

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_NONE, "asdfasdfasd", false, "asdfasdfasdf", 99999)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


--- Set auth data, 2G and 3G

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v3, "CededEffacedAceFacedBadFadedBeef")) --> 0

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", false, "DeafBeddedBabeAcceededFadedDecaf", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> 3
DAUC IMSI='123456789000000': Calling to generate 3 vectors
DAUC IMSI='123456789000000': Generated 3 vectors
DAUC IMSI='123456789000000': Updating SQN=0 in DB


--- Set invalid auth data

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(99999, "f000000000000f00000000000f000000")) --> -EINVAL
DAUC Cannot update auth tokens: Unknown auth algo: 99999

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR, "f000000000000f00000000000f000000f00000000")) --> -EINVAL
DAUC Cannot update auth tokens: Invalid KI: 'f000000000000f00000000000f000000f00000000'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR, "f00")) --> -EINVAL
DAUC Cannot update auth tokens: Invalid KI: 'f00'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_MILENAGE, "0123456789abcdef0123456789abcdef")) --> -EINVAL
DAUC Cannot update auth tokens: auth algo not suited for 2G: MILENAGE

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "0f000000000000f00000000000f000000", false, "f000000000000f00000000000f000000", 5)) --> -EINVAL
DAUC Cannot update auth tokens: Invalid OP/OPC: '0f000000000000f00000000000f000000'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "f000000000000f00000000000f000000", false, "000000000000f00000000000f000000", 5)) --> -EINVAL
DAUC Cannot update auth tokens: Invalid K: '000000000000f00000000000f000000'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "f000000000000f00000000000f000000", false, "f000000000000f00000000000f000000", OSMO_MILENAGE_IND_BITLEN_MAX + 1)) --> -EINVAL
DAUC Cannot update auth tokens: Invalid ind_bitlen: 29

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "X000000000000f00000000000f000000", false, "f000000000000f00000000000f000000", 5)) --> -EINVAL
DAUC Cannot update auth tokens: Invalid OP/OPC: 'X000000000000f00000000000f000000'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "f000000000000f00000000000f000000", false, "f000000000000 f00000000000 f000000", 5)) --> -EINVAL
DAUC Cannot update auth tokens: Invalid K: 'f000000000000 f00000000000 f000000'

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0

2G: struct osmo_sub_auth_data {
  .type = GSM,
  .algo = COMP128v3,
  .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef',
}
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 0,
  .u.umts.k = 'deafbeddedbabeacceededfadeddecaf',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}


--- Delete subscriber

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_subscr_delete_by_id(dbc, id) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT


--- Re-add subscriber and verify auth data didn't come back

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data

db_subscr_delete_by_id(dbc, id) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT

db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -2
DAUC IMSI='123456789000000': No such subscriber

===== test_subscr_aud: SUCCESS


===== test_subscr_aud_invalid_len

--- Create subscriber

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}


--- Set auth data, 2G only, with invalid Ki length

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "0123456789abcdef0123456789abcdef")) --> 0

raw SQL: UPDATE auc_2g SET ki = '0123456789abcdef0123456789abcde'
sqlite3_prepare_v2(dbc->db, sql, -1, &stmt, NULL) --> SQLITE_OK

sqlite3_step(stmt) --> SQLITE_DONE

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': Error reading Ki, expected length 16 but has length 15
DAUC IMSI='123456789000000': No 3G Auth Data



--- Remove 2G auth data

db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)) --> 0


--- Set auth data, 3G only, with invalid K length

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", true, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

raw SQL: UPDATE auc_3g SET k = 'C01ffedC1cadaeAc1d1f1edAcac1aB0'
sqlite3_prepare_v2(dbc->db, sql, -1, &stmt, NULL) --> SQLITE_OK

sqlite3_step(stmt) --> SQLITE_DONE

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': Error reading K, expected length 16 but has length 15



--- Set auth data, 3G only, with invalid OP length

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", true, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

raw SQL: UPDATE auc_3g SET op = 'BeefedCafeFaceAcedAddedDecadeFe'
sqlite3_prepare_v2(dbc->db, sql, -1, &stmt, NULL) --> SQLITE_OK

sqlite3_step(stmt) --> SQLITE_DONE

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': Error reading OP, expected length 16 but has length 15



--- Set auth data, 3G only, with invalid OPC length

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", false, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

raw SQL: UPDATE auc_3g SET opc = 'BeefedCafeFaceAcedAddedDecadeFe'
sqlite3_prepare_v2(dbc->db, sql, -1, &stmt, NULL) --> SQLITE_OK

sqlite3_step(stmt) --> SQLITE_DONE

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': Error reading OPC, expected length 16 but has length 15



--- Delete subscriber

db_subscr_delete_by_id(dbc, id) --> 0

===== test_subscr_aud_invalid_len: SUCCESS


===== test_subscr_sqn

--- Set SQN for unknown subscriber

db_update_sqn(dbc, 99, 999) --> -ENOENT
DAUC Cannot update SQN for subscriber ID=99: no auc_3g entry for such subscriber

db_subscr_get_by_id(dbc, 99, &g_subscr) --> -ENOENT

db_update_sqn(dbc, 9999, 99) --> -ENOENT
DAUC Cannot update SQN for subscriber ID=9999: no auc_3g entry for such subscriber

db_subscr_get_by_id(dbc, 9999, &g_subscr) --> -ENOENT


--- Create subscriber

db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data



--- Set SQN, but no 3G auth data present

db_update_sqn(dbc, id, 123) --> -ENOENT
DAUC Cannot update SQN for subscriber ID=1: no auc_3g entry for such subscriber

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data


db_update_sqn(dbc, id, 543) --> -ENOENT
DAUC Cannot update SQN for subscriber ID=1: no auc_3g entry for such subscriber

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY
DAUC IMSI='123456789000000': No 2G Auth Data
DAUC IMSI='123456789000000': No 3G Auth Data



--- Set auth 3G data

db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCafeFaceAcedAddedDecadeFee", true, "C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}


--- Set SQN

db_update_sqn(dbc, id, 23315) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 23315,
  .u.umts.sqn = 0x5b13,
  .u.umts.ind_bitlen = 5,
}

db_update_sqn(dbc, id, 23315) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 23315,
  .u.umts.sqn = 0x5b13,
  .u.umts.ind_bitlen = 5,
}

db_update_sqn(dbc, id, 423) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 423,
  .u.umts.sqn = 0x1a7,
  .u.umts.ind_bitlen = 5,
}


--- Set SQN: thru uint64_t range, using the int64_t SQLite bind

db_update_sqn(dbc, id, 0) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.ind_bitlen = 5,
}

db_update_sqn(dbc, id, INT64_MAX) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 9223372036854775807,
  .u.umts.sqn = 0x7fffffffffffffff,
  .u.umts.ind_bitlen = 5,
}

db_update_sqn(dbc, id, INT64_MIN) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 9223372036854775808,
  .u.umts.sqn = 0x8000000000000000,
  .u.umts.ind_bitlen = 5,
}

db_update_sqn(dbc, id, UINT64_MAX) --> 0

db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0
DAUC IMSI='123456789000000': No 2G Auth Data

2G: none
3G: struct osmo_sub_auth_data {
  .type = UMTS,
  .algo = MILENAGE,
  .u.umts.opc = 'beefedcafefaceacedaddeddecadefee',
  .u.umts.opc_is_op = 1,
  .u.umts.k = 'c01ffedc1cadaeac1d1f1edacac1ab0a',
  .u.umts.amf = '0000',
  .u.umts.sqn = 18446744073709551615,
  .u.umts.sqn = 0xffffffffffffffff,
  .u.umts.ind_bitlen = 5,
}


--- Delete subscriber

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0
struct hlr_subscriber {
  .id = 1,
  .imsi = '123456789000000',
}

db_subscr_delete_by_id(dbc, id) --> 0

db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT

===== test_subscr_sqn: SUCCESS


===== test_ind
db_ind(dbc, &vlr, &ind) --> 0

"msc-23\0" ind = 1

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-11\0" ind = 2

db_ind(dbc, &vlr, &ind) --> 0

"msc-42\0" ind = 3

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-22\0" ind = 4

db_ind(dbc, &vlr, &ind) --> 0

"msc-0x17\0" ind = 5

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-0xaa\0" ind = 6

db_ind(dbc, &vlr, &ind) --> 0

"msc-42\0" ind = 3

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-22\0" ind = 4

db_ind(dbc, &vlr, &ind) --> 0

"msc-0x17\0" ind = 5

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-0xaa\0" ind = 6

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-0xbb\0" ind = 7

db_ind(dbc, &vlr, &ind) --> 0

"msc-0x2a\0" ind = 8

db_ind(dbc, &vlr, &ind) --> 0

"msc-42\0" ind = 3

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-22\0" ind = 4

db_ind(dbc, &vlr, &ind) --> 0

"msc-23\0" ind = 1

db_ind(dbc, &vlr, &ind) --> 0

"sgsn-11\0" ind = 2

db_ind_del(dbc, &vlr) --> 0

"msc-0x17\0" ind deleted

db_ind(dbc, &vlr, &ind) --> 0

"msc-0x2a\0" ind = 8

db_ind(dbc, &vlr, &ind) --> 0

"any-unknown\0" ind = 9

===== test_ind: SUCCESS

