refactor db_get_auth_data return val
Adopt the error handling of the other db functions: return -ENOENT on unknown
subscriber and -EIO on SQL failure. Return 0 for no error, instead of the
number of rows modified.
Adjust the single caller: db_get_auc()
(and db_test.c).
Change-Id: I006f471962bdad95d00a3a4c41a28ebbc9740884
diff --git a/tests/db/db_test.c b/tests/db/db_test.c
index 0442dbe..1bdabdb 100644
--- a/tests/db/db_test.c
+++ b/tests/db/db_test.c
@@ -75,7 +75,7 @@
g_aud3g = (struct osmo_sub_auth_data){}; \
g_id = 0; \
ASSERT_RC(db_get_auth_data(dbc, imsi, &g_aud2g, &g_aud3g, &g_id), expect_rc); \
- if (g_rc == 1) { \
+ if (!g_rc) { \
dump_aud("2G", &g_aud2g); \
dump_aud("3G", &g_aud3g); \
}\
@@ -443,7 +443,7 @@
comment_start();
comment("Get auth data for non-existent subscriber");
- ASSERT_SEL_AUD(unknown_imsi, 0, 0);
+ ASSERT_SEL_AUD(unknown_imsi, -ENOENT, 0);
comment("Create subscriber");
@@ -451,7 +451,7 @@
ASSERT_SEL(imsi, imsi0, 0);
id = g_subscr.id;
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
comment("Set auth data, 2G only");
@@ -459,35 +459,35 @@
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "0123456789abcdef0123456789abcdef")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
/* same again */
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "0123456789abcdef0123456789abcdef")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_COMP128v2, "BeadedBeeAced1EbbedDefacedFacade")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_COMP128v3, "DeafBeddedBabeAcceededFadedDecaf")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_XOR, "CededEffacedAceFacedBadFadedBeef")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
comment("Remove 2G auth data");
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)),
0);
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
/* Removing nothing results in -ENOENT */
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
@@ -497,12 +497,12 @@
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_XOR, "CededEffacedAceFacedBadFadedBeef")),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_NONE, "f000000000000f00000000000f000000")),
0);
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
comment("Set auth data, 3G only");
@@ -512,7 +512,7 @@
"BeefedCafeFaceAcedAddedDecadeFee", true,
"C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
/* same again */
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
@@ -520,14 +520,14 @@
"BeefedCafeFaceAcedAddedDecadeFee", true,
"C01ffedC1cadaeAc1d1f1edAcac1aB0a", 5)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"Deaf0ff1ceD0d0DabbedD1ced1ceF00d", true,
"F1bbed0afD0eF0bD0ffed0ddF1fe0b0e", 0)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
@@ -535,21 +535,21 @@
"DeafBeddedBabeAcceededFadedDecaf",
OSMO_MILENAGE_IND_BITLEN_MAX)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"CededEffacedAceFacedBadFadedBeef", false,
"BeefedCafeFaceAcedAddedDecadeFee", 5)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
comment("Remove 3G auth data");
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_NONE, NULL, false, NULL, 0)),
0);
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
/* Removing nothing results in -ENOENT */
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
@@ -561,14 +561,14 @@
"CededEffacedAceFacedBadFadedBeef", false,
"BeefedCafeFaceAcedAddedDecadeFee", 5)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_NONE,
"asdfasdfasd", false,
"asdfasdfasdf", 99999)),
0);
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
comment("Set auth data, 2G and 3G");
@@ -581,7 +581,7 @@
"BeefedCafeFaceAcedAddedDecadeFee", false,
"DeafBeddedBabeAcceededFadedDecaf", 5)),
0);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
comment("Set invalid auth data");
@@ -589,36 +589,36 @@
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(99999, "f000000000000f00000000000f000000")),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_XOR, "f000000000000f00000000000f000000f00000000")),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_XOR, "f00")),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_2g(OSMO_AUTH_ALG_MILENAGE, "0123456789abcdef0123456789abcdef")),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"0f000000000000f00000000000f000000", false,
"f000000000000f00000000000f000000", 5)),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"f000000000000f00000000000f000000", false,
"000000000000f00000000000f000000", 5)),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
@@ -626,21 +626,21 @@
"f000000000000f00000000000f000000",
OSMO_MILENAGE_IND_BITLEN_MAX + 1)),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"X000000000000f00000000000f000000", false,
"f000000000000f00000000000f000000", 5)),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
mk_aud_3g(OSMO_AUTH_ALG_MILENAGE,
"f000000000000f00000000000f000000", false,
"f000000000000 f00000000000 f000000", 5)),
-EINVAL);
- ASSERT_SEL_AUD(imsi0, 1, id);
+ ASSERT_SEL_AUD(imsi0, 0, id);
comment("Delete subscriber");
@@ -656,7 +656,7 @@
/* For this test to work, we want to get the same subscriber ID back,
* and make sure there are no auth data leftovers for this ID. */
OSMO_ASSERT(id == g_subscr.id);
- ASSERT_SEL_AUD(imsi0, -1, id);
+ ASSERT_SEL_AUD(imsi0, -ENOENT, id);
ASSERT_RC(db_subscr_delete_by_id(dbc, id), 0);
ASSERT_SEL(imsi, imsi0, -ENOENT);