msc_vlr_tests: don't abuse USSD-request to conclude connections

Previously the '*#100#' USSD-request was abused in order to
conclude the current subscriber connection. This makes the unit
tests depend on each other, for example, if one break something
in the GSM 09.11 implementation, a half of tests would fail.

Moreover, the further changes in the GSM 09.11 implementation
will make the results less predictable (i.e. session ID, etc.).
So let's introduce a separate unit test with simple request-
response logic, while more complex tests will be in TTCN.

Change-Id: I40b4caac3113263f5a06c861dff5e10d43c319b5
diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index 8910e32..b38bfe0 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -138,22 +138,6 @@
 	dtap_tx_confirmed = false;
 }
 
-void dtap_expect_tx_ussd(char *ussd_text)
-{
-	uint8_t ussd_enc[128];
-	int len;
-	/* header */
-	char ussd_msg_hex[128] = "8b2a1c27a225020100302002013b301b04010f0416";
-
-	log("expecting USSD:\n  %s", ussd_text);
-	/* append encoded USSD text */
-	gsm_7bit_encode_n_ussd(ussd_enc, sizeof(ussd_enc), ussd_text,
-			       &len);
-	strncat(ussd_msg_hex, osmo_hexdump_nospc(ussd_enc, len),
-		sizeof(ussd_msg_hex) - strlen(ussd_msg_hex));
-	dtap_expect_tx(ussd_msg_hex);
-}
-
 int vlr_gsupc_read_cb(struct gsup_client *gsupc, struct msgb *msg);
 
 void gsup_rx(const char *rx_hex, const char *expect_tx_hex)
@@ -186,6 +170,21 @@
 	return false;
 }
 
+/* Simplified version of the cm_service_request_concludes() */
+void conn_conclude_cm_service_req(struct gsm_subscriber_connection *conn,
+				  enum ran_type via_ran)
+{
+	btw("Concluding CM Service Request");
+
+	OSMO_ASSERT(conn);
+	OSMO_ASSERT(conn->received_cm_service_request);
+
+	conn->received_cm_service_request = false;
+	msc_subscr_conn_put(conn, MSC_CONN_USE_CM_SERVICE);
+
+	ASSERT_RELEASE_CLEAR(via_ran);
+}
+
 enum ran_type rx_from_ran = RAN_GERAN_A;
 
 struct gsm_subscriber_connection *conn_new(void)