xref: /btstack/test/gatt_service_server/tx_power_service_server_test.cpp (revision 761810140b45afcf72e5e9ae0d74d4328826cec7)
1*76181014SMilanka Ringwald 
2*76181014SMilanka Ringwald // *****************************************************************************
3*76181014SMilanka Ringwald //
4*76181014SMilanka Ringwald // test battery service
5*76181014SMilanka Ringwald //
6*76181014SMilanka Ringwald // *****************************************************************************
7*76181014SMilanka Ringwald 
8*76181014SMilanka Ringwald 
9*76181014SMilanka Ringwald #include <stdint.h>
10*76181014SMilanka Ringwald #include <stdio.h>
11*76181014SMilanka Ringwald #include <stdlib.h>
12*76181014SMilanka Ringwald #include <string.h>
13*76181014SMilanka Ringwald 
14*76181014SMilanka Ringwald #include "CppUTest/TestHarness.h"
15*76181014SMilanka Ringwald #include "CppUTest/CommandLineTestRunner.h"
16*76181014SMilanka Ringwald #include "CppUTestExt/MockSupport.h"
17*76181014SMilanka Ringwald 
18*76181014SMilanka Ringwald #include "hci.h"
19*76181014SMilanka Ringwald #include "btstack_util.h"
20*76181014SMilanka Ringwald #include "bluetooth.h"
21*76181014SMilanka Ringwald #include "bluetooth_gatt.h"
22*76181014SMilanka Ringwald 
23*76181014SMilanka Ringwald #include "ble/gatt-service/tx_power_service_server.h"
24*76181014SMilanka Ringwald #include "tx_power_service_server_test.h"
25*76181014SMilanka Ringwald #include "mock_att_server.h"
26*76181014SMilanka Ringwald 
27*76181014SMilanka Ringwald static int8_t tx_power_level = 100;
28*76181014SMilanka Ringwald 
TEST_GROUP(TX_POWER_SERVICE_SERVER)29*76181014SMilanka Ringwald TEST_GROUP(TX_POWER_SERVICE_SERVER){
30*76181014SMilanka Ringwald     att_service_handler_t * service;
31*76181014SMilanka Ringwald     uint16_t con_handle;
32*76181014SMilanka Ringwald     uint16_t tx_power_level_value_handle;
33*76181014SMilanka Ringwald 
34*76181014SMilanka Ringwald     void setup(void){
35*76181014SMilanka Ringwald         // setup database
36*76181014SMilanka Ringwald         att_set_db(profile_data);
37*76181014SMilanka Ringwald         tx_power_level_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid16(0, 0xffff, ORG_BLUETOOTH_CHARACTERISTIC_TX_POWER_LEVEL);
38*76181014SMilanka Ringwald 
39*76181014SMilanka Ringwald         // setup tx power service
40*76181014SMilanka Ringwald         tx_power_service_server_init(tx_power_level);
41*76181014SMilanka Ringwald 
42*76181014SMilanka Ringwald         service = mock_att_server_get_service();
43*76181014SMilanka Ringwald         con_handle = 0x00;
44*76181014SMilanka Ringwald     }
45*76181014SMilanka Ringwald 
46*76181014SMilanka Ringwald     void teardown(){
47*76181014SMilanka Ringwald         mock_deinit();
48*76181014SMilanka Ringwald     }
49*76181014SMilanka Ringwald };
50*76181014SMilanka Ringwald 
TEST(TX_POWER_SERVICE_SERVER,lookup_attribute_handles)51*76181014SMilanka Ringwald TEST(TX_POWER_SERVICE_SERVER, lookup_attribute_handles){
52*76181014SMilanka Ringwald     CHECK(tx_power_level_value_handle != 0);
53*76181014SMilanka Ringwald }
54*76181014SMilanka Ringwald 
55*76181014SMilanka Ringwald 
TEST(TX_POWER_SERVICE_SERVER,read_tx_power_level_value)56*76181014SMilanka Ringwald TEST(TX_POWER_SERVICE_SERVER, read_tx_power_level_value){
57*76181014SMilanka Ringwald     uint8_t response[1];
58*76181014SMilanka Ringwald     uint16_t response_len;
59*76181014SMilanka Ringwald 
60*76181014SMilanka Ringwald     // invalid attribute handle
61*76181014SMilanka Ringwald     response_len = mock_att_service_read_callback(con_handle, 0xffff, 0xffff, response, sizeof(response));
62*76181014SMilanka Ringwald     CHECK_EQUAL(0, response_len);
63*76181014SMilanka Ringwald 
64*76181014SMilanka Ringwald     response_len = mock_att_service_read_callback(con_handle, tx_power_level_value_handle, 0, response, sizeof(response));
65*76181014SMilanka Ringwald     CHECK_EQUAL(1, response_len);
66*76181014SMilanka Ringwald }
67*76181014SMilanka Ringwald 
68*76181014SMilanka Ringwald 
main(int argc,const char * argv[])69*76181014SMilanka Ringwald int main (int argc, const char * argv[]){
70*76181014SMilanka Ringwald     return CommandLineTestRunner::RunAllTests(argc, argv);
71*76181014SMilanka Ringwald }
72