diff options
Diffstat (limited to 'tests/db/db_test.c')
-rw-r--r-- | tests/db/db_test.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/db/db_test.c b/tests/db/db_test.c index 30de51d..5acd1e8 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -283,6 +283,43 @@ static void test_subscr_create_update_sel_delete() ASSERT_RC(db_subscr_nam(dbc, "foobar", false, true), -ENOENT); ASSERT_RC(db_subscr_nam(dbc, "foobar", false, false), -ENOENT); + comment("Record LU for PS and CS (SGSN and VLR names)"); + + ASSERT_RC(db_subscr_lu(dbc, id0, "5952", true), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "712", false), 0); + ASSERT_SEL(id, id0, 0); + + comment("Record LU for PS and CS (SGSN and VLR names) *again*"); + + ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_SEL(id, id0, 0); + + comment("Unset LU info for PS and CS (SGSN and VLR names)"); + ASSERT_RC(db_subscr_lu(dbc, id0, "", true), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "", false), 0); + ASSERT_SEL(id, id0, 0); + + ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); + ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, NULL, true), 0); + ASSERT_SEL(id, id0, 0); + ASSERT_RC(db_subscr_lu(dbc, id0, NULL, false), 0); + ASSERT_SEL(id, id0, 0); + + comment("Record LU for non-existent ID"); + ASSERT_RC(db_subscr_lu(dbc, 99999, "5952", true), -ENOENT); + ASSERT_RC(db_subscr_lu(dbc, 99999, "712", false), -ENOENT); + ASSERT_SEL(id, 99999, -ENOENT); + comment("Delete non-existent / invalid IDs"); ASSERT_RC(db_subscr_delete_by_id(dbc, 999), -ENOENT); |