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