aboutsummaryrefslogtreecommitdiffstats
path: root/tests/sms_storage/sms_storage_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/sms_storage/sms_storage_test.c')
-rw-r--r--tests/sms_storage/sms_storage_test.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/sms_storage/sms_storage_test.c b/tests/sms_storage/sms_storage_test.c
new file mode 100644
index 000000000..d545dc13c
--- /dev/null
+++ b/tests/sms_storage/sms_storage_test.c
@@ -0,0 +1,49 @@
+#include <unistd.h>
+
+#include <osmocom/core/utils.h>
+
+#include <osmocom/msc/gsm_data.h>
+#include <osmocom/msc/gsm_04_11.h>
+#include <osmocom/msc/sms_storage.h>
+
+static const struct sms_storage_cfg scfg = {
+ .storage_dir = "/tmp/sms_storage",
+ .unlink_delivered = false,
+ .unlink_expired = false,
+};
+static struct sms_storage_inst *g_ssi;
+
+static struct gsm_sms *generate_sms(unsigned long long id, const char *src, const char *dst,
+ uint8_t pid, uint8_t dcs, uint8_t msg_ref)
+{
+ struct gsm_sms *sms = sms_alloc();
+ OSMO_ASSERT(sms);
+
+ sms->id = id;
+ OSMO_STRLCPY_ARRAY(sms->src.addr, src);
+ OSMO_STRLCPY_ARRAY(sms->dst.addr, dst);
+ sms->protocol_id = pid;
+ sms->data_coding_scheme = dcs;
+ sms->msg_ref = msg_ref;
+
+ return sms;
+}
+
+static void to_storage(void)
+{
+ struct gsm_sms *sms = generate_sms(1234, "1111", "2222", 1, 2, 3);
+ sms_storage_to_disk_req(g_ssi, sms);
+ sms_storage_delete_from_disk_req(g_ssi, sms->id, SMSS_DELETE_CAUSE_DELIVERED);
+}
+
+int main(int argc, char **argv)
+{
+ void *ctx = NULL;
+
+ g_ssi = sms_storage_init(ctx, &scfg);
+
+ to_storage();
+
+ usleep(10000000);
+}
+