diff options
author | Oliver Smith <osmith@sysmocom.de> | 2019-03-06 13:17:39 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2019-05-13 08:55:18 +0200 |
commit | cd2af5ead7a6fbba3e7b3df620536619a10ef356 (patch) | |
tree | 4002c7261eba14be13850ce4fbe80054f196c95f /tests/db/db_test.c | |
parent | e21b45aecddbf388f22ab4832f4a8f5bf41a2ddc (diff) |
db_hlr.c: db_subscr_create(): add flags argument
Allow creating new subscribers without giving them access to CS or PS.
This will be used by the create-subscriber-on-demand feature.
Related: OS#2542
Change-Id: I1a6dd85387723dab5487c53b33d2d9ec6d05d006
Diffstat (limited to 'tests/db/db_test.c')
-rw-r--r-- | tests/db/db_test.c | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/tests/db/db_test.c b/tests/db/db_test.c index 56905a9..72feed4 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -221,37 +221,38 @@ static void test_subscr_create_update_sel_delete() comment("Create with valid / invalid IMSI"); - ASSERT_RC(db_subscr_create(dbc, imsi0), 0); + ASSERT_RC(db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi0, 0); id0 = g_subscr.id; - ASSERT_RC(db_subscr_create(dbc, imsi1), 0); + ASSERT_RC(db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi1, 0); id1 = g_subscr.id; - ASSERT_RC(db_subscr_create(dbc, imsi2), 0); + ASSERT_RC(db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi2, 0); id2 = g_subscr.id; - ASSERT_RC(db_subscr_create(dbc, imsi0), -EIO); + ASSERT_RC(db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EIO); ASSERT_SEL(imsi, imsi0, 0); - ASSERT_RC(db_subscr_create(dbc, imsi1), -EIO); - ASSERT_RC(db_subscr_create(dbc, imsi1), -EIO); + ASSERT_RC(db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EIO); + ASSERT_RC(db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EIO); ASSERT_SEL(imsi, imsi1, 0); - ASSERT_RC(db_subscr_create(dbc, imsi2), -EIO); - ASSERT_RC(db_subscr_create(dbc, imsi2), -EIO); + ASSERT_RC(db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EIO); + ASSERT_RC(db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EIO); ASSERT_SEL(imsi, imsi2, 0); - ASSERT_RC(db_subscr_create(dbc, "123456789 000003"), -EINVAL); + ASSERT_RC(db_subscr_create(dbc, "123456789 000003", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EINVAL); ASSERT_SEL(imsi, "123456789000003", -ENOENT); - ASSERT_RC(db_subscr_create(dbc, "123456789000002123456"), -EINVAL); + ASSERT_RC(db_subscr_create(dbc, "123456789000002123456", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), + -EINVAL); ASSERT_SEL(imsi, "123456789000002123456", -ENOENT); - ASSERT_RC(db_subscr_create(dbc, "foobar123"), -EINVAL); + ASSERT_RC(db_subscr_create(dbc, "foobar123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EINVAL); ASSERT_SEL(imsi, "foobar123", -ENOENT); - ASSERT_RC(db_subscr_create(dbc, "123"), -EINVAL); + ASSERT_RC(db_subscr_create(dbc, "123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), -EINVAL); ASSERT_SEL(imsi, "123", -ENOENT); - ASSERT_RC(db_subscr_create(dbc, short_imsi), 0); + ASSERT_RC(db_subscr_create(dbc, short_imsi, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, short_imsi, 0); id_short = g_subscr.id; @@ -452,6 +453,22 @@ static void test_subscr_create_update_sel_delete() ASSERT_RC(db_subscr_delete_by_id(dbc, id_short), 0); ASSERT_SEL(imsi, short_imsi, -ENOENT); + comment("Create and delete subscribers with non-default nam_cs and nam_ps"); + + ASSERT_RC(db_subscr_create(dbc, imsi0, 0x00), 0); + ASSERT_SEL(imsi, imsi0, 0); + id0 = g_subscr.id; + ASSERT_RC(db_subscr_create(dbc, imsi1, DB_SUBSCR_FLAG_NAM_CS), 0); + ASSERT_SEL(imsi, imsi1, 0); + id1 = g_subscr.id; + ASSERT_RC(db_subscr_create(dbc, imsi2, DB_SUBSCR_FLAG_NAM_PS), 0); + ASSERT_SEL(imsi, imsi2, 0); + id2 = g_subscr.id; + + ASSERT_RC(db_subscr_delete_by_id(dbc, id0), 0); + ASSERT_RC(db_subscr_delete_by_id(dbc, id1), 0); + ASSERT_RC(db_subscr_delete_by_id(dbc, id2), 0); + comment_end(); } @@ -495,7 +512,7 @@ static void test_subscr_aud() comment("Create subscriber"); - ASSERT_RC(db_subscr_create(dbc, imsi0), 0); + ASSERT_RC(db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi0, 0); id = g_subscr.id; @@ -707,7 +724,7 @@ static void test_subscr_aud() comment("Re-add subscriber and verify auth data didn't come back"); - ASSERT_RC(db_subscr_create(dbc, imsi0), 0); + ASSERT_RC(db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi0, 0); /* For this test to work, we want to get the same subscriber ID back, @@ -739,7 +756,7 @@ static void test_subscr_sqn() comment("Create subscriber"); - ASSERT_RC(db_subscr_create(dbc, imsi0), 0); + ASSERT_RC(db_subscr_create(dbc, imsi0, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS), 0); ASSERT_SEL(imsi, imsi0, 0); id = g_subscr.id; |