diff options
Diffstat (limited to 'tests/sms_storage')
-rw-r--r-- | tests/sms_storage/Makefile.am | 54 | ||||
-rw-r--r-- | tests/sms_storage/sms_storage_test.c | 49 |
2 files changed, 103 insertions, 0 deletions
diff --git a/tests/sms_storage/Makefile.am b/tests/sms_storage/Makefile.am new file mode 100644 index 000000000..9befdb619 --- /dev/null +++ b/tests/sms_storage/Makefile.am @@ -0,0 +1,54 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -ggdb3 \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(LIBOSMORANAP_CFLAGS) \ + $(LIBASN1C_CFLAGS) \ + $(LIBOSMOMGCPCLIENT_CFLAGS) \ + $(LIBOSMOGSUPCLIENT_CFLAGS) \ + $(NULL) + +EXTRA_DIST = \ + sms_storage_test.ok \ + sms_storage_test.err \ + $(NULL) + +check_PROGRAMS = \ + sms_storage_test \ + $(NULL) + +sms_storage_test_SOURCES = \ + sms_storage_test.c \ + $(NULL) + +sms_storage_test_LDADD = \ + -lsctp \ + $(top_builddir)/src/libmsc/libmsc.a \ + $(top_builddir)/src/libvlr/libvlr.a \ + $(LIBSMPP34_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMONETIF_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBOSMORANAP_LIBS) \ + $(LIBASN1C_LIBS) \ + $(LIBOSMOMGCPCLIENT_LIBS) \ + $(LIBOSMOGSUPCLIENT_LIBS) \ + $(LIBRARY_GSM) \ + $(NULL) + +sms_storage_test_LDFLAGS = \ + -Wl,--wrap=db_sms_get_next_unsent_rr_msisdn \ + $(NULL) 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); +} + |