1 /*
2  * Copyright 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include "internal_include/stack_config.h"
18 
19 #include <gmock/gmock.h>
20 #include <gtest/gtest.h>
21 
22 #include <cstdarg>
23 #include <cstring>
24 
25 const std::string kSmpOptions("mock smp options");
26 const std::string kBroadcastAudioConfigOptions(
27     "mock broadcast audio config options");
get_pts_avrcp_test(void)28 bool get_pts_avrcp_test(void) { return false; }
get_pts_secure_only_mode(void)29 bool get_pts_secure_only_mode(void) { return false; }
get_pts_conn_updates_disabled(void)30 bool get_pts_conn_updates_disabled(void) { return false; }
get_pts_crosskey_sdp_disable(void)31 bool get_pts_crosskey_sdp_disable(void) { return false; }
get_pts_smp_options(void)32 const std::string* get_pts_smp_options(void) { return &kSmpOptions; }
get_pts_smp_failure_case(void)33 int get_pts_smp_failure_case(void) { return 123; }
get_pts_force_eatt_for_notifications(void)34 bool get_pts_force_eatt_for_notifications(void) { return false; }
get_pts_connect_eatt_unconditionally(void)35 bool get_pts_connect_eatt_unconditionally(void) { return false; }
get_pts_connect_eatt_before_encryption(void)36 bool get_pts_connect_eatt_before_encryption(void) { return false; }
get_pts_unencrypt_broadcast(void)37 bool get_pts_unencrypt_broadcast(void) { return false; }
get_pts_eatt_peripheral_collision_support(void)38 bool get_pts_eatt_peripheral_collision_support(void) { return false; }
get_pts_use_eatt_for_all_services(void)39 bool get_pts_use_eatt_for_all_services(void) { return false; }
get_pts_force_le_audio_multiple_contexts_metadata(void)40 bool get_pts_force_le_audio_multiple_contexts_metadata(void) { return false; }
get_pts_l2cap_ecoc_upper_tester(void)41 bool get_pts_l2cap_ecoc_upper_tester(void) { return false; }
get_pts_l2cap_ecoc_min_key_size(void)42 int get_pts_l2cap_ecoc_min_key_size(void) { return -1; }
get_pts_l2cap_ecoc_initial_chan_cnt(void)43 int get_pts_l2cap_ecoc_initial_chan_cnt(void) { return -1; }
get_pts_l2cap_ecoc_connect_remaining(void)44 bool get_pts_l2cap_ecoc_connect_remaining(void) { return false; }
get_pts_l2cap_ecoc_send_num_of_sdu(void)45 int get_pts_l2cap_ecoc_send_num_of_sdu(void) { return -1; }
get_pts_l2cap_ecoc_reconfigure(void)46 bool get_pts_l2cap_ecoc_reconfigure(void) { return false; }
get_pts_broadcast_audio_config_options(void)47 const std::string* get_pts_broadcast_audio_config_options(void) {
48   return &kBroadcastAudioConfigOptions;
49 }
get_pts_le_audio_disable_ases_before_stopping(void)50 bool get_pts_le_audio_disable_ases_before_stopping(void) { return false; }
51 struct config_t;
get_all(void)52 config_t* get_all(void) { return nullptr; }
53 struct packet_fragmenter_t;
packet_fragmenter_get_interface()54 const packet_fragmenter_t* packet_fragmenter_get_interface() { return nullptr; }
55 
56 stack_config_t mock_stack_config{
57     .get_pts_avrcp_test = get_pts_avrcp_test,
58     .get_pts_secure_only_mode = get_pts_secure_only_mode,
59     .get_pts_conn_updates_disabled = get_pts_conn_updates_disabled,
60     .get_pts_crosskey_sdp_disable = get_pts_crosskey_sdp_disable,
61     .get_pts_smp_options = get_pts_smp_options,
62     .get_pts_smp_failure_case = get_pts_smp_failure_case,
63     .get_pts_force_eatt_for_notifications =
64         get_pts_force_eatt_for_notifications,
65     .get_pts_connect_eatt_unconditionally =
66         get_pts_connect_eatt_unconditionally,
67     .get_pts_connect_eatt_before_encryption =
68         get_pts_connect_eatt_before_encryption,
69     .get_pts_unencrypt_broadcast = get_pts_unencrypt_broadcast,
70     .get_pts_eatt_peripheral_collision_support =
71         get_pts_eatt_peripheral_collision_support,
72     .get_pts_use_eatt_for_all_services = get_pts_use_eatt_for_all_services,
73     .get_pts_force_le_audio_multiple_contexts_metadata =
74         get_pts_force_le_audio_multiple_contexts_metadata,
75     .get_pts_l2cap_ecoc_upper_tester = get_pts_l2cap_ecoc_upper_tester,
76     .get_pts_l2cap_ecoc_min_key_size = get_pts_l2cap_ecoc_min_key_size,
77     .get_pts_l2cap_ecoc_initial_chan_cnt = get_pts_l2cap_ecoc_initial_chan_cnt,
78     .get_pts_l2cap_ecoc_connect_remaining =
79         get_pts_l2cap_ecoc_connect_remaining,
80     .get_pts_l2cap_ecoc_send_num_of_sdu = get_pts_l2cap_ecoc_send_num_of_sdu,
81     .get_pts_l2cap_ecoc_reconfigure = get_pts_l2cap_ecoc_reconfigure,
82     .get_pts_broadcast_audio_config_options =
83         get_pts_broadcast_audio_config_options,
84     .get_pts_le_audio_disable_ases_before_stopping =
85         get_pts_le_audio_disable_ases_before_stopping,
86     .get_all = get_all,
87 };
88 
stack_config_get_interface(void)89 const stack_config_t* stack_config_get_interface(void) {
90   return &mock_stack_config;
91 }
92