1 /*
2  * Copyright (c) 2023 Codecoup
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 #include <zephyr/bluetooth/audio/audio.h>
10 #include <zephyr/bluetooth/audio/bap.h>
11 #include <zephyr/bluetooth/conn.h>
12 #include <zephyr/fff.h>
13 
14 #include "bap_unicast_server.h"
15 
16 /* List of fakes used by this unit tester */
17 #define FFF_FAKES_LIST(FAKE)                                                                       \
18 	FAKE(mock_bap_unicast_server_cb_config)                                                    \
19 	FAKE(mock_bap_unicast_server_cb_reconfig)                                                  \
20 	FAKE(mock_bap_unicast_server_cb_qos)                                                       \
21 	FAKE(mock_bap_unicast_server_cb_enable)                                                    \
22 	FAKE(mock_bap_unicast_server_cb_start)                                                     \
23 	FAKE(mock_bap_unicast_server_cb_metadata)                                                  \
24 	FAKE(mock_bap_unicast_server_cb_disable)                                                   \
25 	FAKE(mock_bap_unicast_server_cb_stop)                                                      \
26 	FAKE(mock_bap_unicast_server_cb_release)                                                   \
27 
mock_bap_unicast_server_init(void)28 void mock_bap_unicast_server_init(void)
29 {
30 	FFF_FAKES_LIST(RESET_FAKE);
31 }
32 
mock_bap_unicast_server_cleanup(void)33 void mock_bap_unicast_server_cleanup(void)
34 {
35 
36 }
37 
38 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_config, struct bt_conn *,
39 		       const struct bt_bap_ep *, enum bt_audio_dir,
40 		       const struct bt_audio_codec_cfg *, struct bt_bap_stream **,
41 		       struct bt_bap_qos_cfg_pref *const, struct bt_bap_ascs_rsp *);
42 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_reconfig, struct bt_bap_stream *,
43 		       enum bt_audio_dir, const struct bt_audio_codec_cfg *,
44 		       struct bt_bap_qos_cfg_pref *const, struct bt_bap_ascs_rsp *);
45 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_qos, struct bt_bap_stream *,
46 		       const struct bt_bap_qos_cfg *, struct bt_bap_ascs_rsp *);
47 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_enable, struct bt_bap_stream *,
48 		       const uint8_t *, size_t, struct bt_bap_ascs_rsp *);
49 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_start, struct bt_bap_stream *,
50 		       struct bt_bap_ascs_rsp *);
51 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_metadata, struct bt_bap_stream *,
52 		       const uint8_t *, size_t, struct bt_bap_ascs_rsp *);
53 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_disable, struct bt_bap_stream *,
54 		       struct bt_bap_ascs_rsp *);
55 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_stop, struct bt_bap_stream *,
56 		       struct bt_bap_ascs_rsp *);
57 DEFINE_FAKE_VALUE_FUNC(int, mock_bap_unicast_server_cb_release, struct bt_bap_stream *,
58 		       struct bt_bap_ascs_rsp *);
59 
60 const struct bt_bap_unicast_server_cb mock_bap_unicast_server_cb = {
61 	.config = mock_bap_unicast_server_cb_config,
62 	.reconfig = mock_bap_unicast_server_cb_reconfig,
63 	.qos = mock_bap_unicast_server_cb_qos,
64 	.enable = mock_bap_unicast_server_cb_enable,
65 	.start = mock_bap_unicast_server_cb_start,
66 	.metadata = mock_bap_unicast_server_cb_metadata,
67 	.disable = mock_bap_unicast_server_cb_disable,
68 	.stop = mock_bap_unicast_server_cb_stop,
69 	.release = mock_bap_unicast_server_cb_release,
70 };
71