aboutsummaryrefslogtreecommitdiffstats
path: root/tests/db/db_test.c
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2019-03-06 13:17:39 +0100
committerOliver Smith <osmith@sysmocom.de>2019-05-13 08:55:18 +0200
commitcd2af5ead7a6fbba3e7b3df620536619a10ef356 (patch)
tree4002c7261eba14be13850ce4fbe80054f196c95f /tests/db/db_test.c
parente21b45aecddbf388f22ab4832f4a8f5bf41a2ddc (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.c49
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;