Home | History | Annotate | Download | only in test
      1 /******************************************************************************
      2  *
      3  *  Copyright (C) 2015 Google, Inc.
      4  *
      5  *  Licensed under the Apache License, Version 2.0 (the "License");
      6  *  you may not use this file except in compliance with the License.
      7  *  You may obtain a copy of the License at:
      8  *
      9  *  http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  *
     17  ******************************************************************************/
     18 
     19 #include <gtest/gtest.h>
     20 
     21 extern "C" {
     22 #include "device/include/interop.h"
     23 }
     24 
     25 TEST(InteropTest, test_lookup_hit) {
     26   bt_bdaddr_t test_address;
     27   string_to_bdaddr("38:2c:4a:e6:67:89", &test_address);
     28   EXPECT_TRUE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     29   string_to_bdaddr("9c:df:03:12:34:56", &test_address);
     30   EXPECT_TRUE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     31 }
     32 
     33 TEST(InteropTest, test_lookup_miss) {
     34   bt_bdaddr_t test_address;
     35   string_to_bdaddr("00:00:00:00:00:00", &test_address);
     36   EXPECT_FALSE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     37   string_to_bdaddr("ff:ff:ff:ff:ff:ff", &test_address);
     38   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     39   string_to_bdaddr("42:08:15:ae:ae:ae", &test_address);
     40   EXPECT_FALSE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     41   string_to_bdaddr("38:2c:4a:59:67:89", &test_address);
     42   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     43 }
     44 
     45 TEST(InteropTest, test_dynamic) {
     46   bt_bdaddr_t test_address;
     47 
     48   string_to_bdaddr("11:22:33:44:55:66", &test_address);
     49   EXPECT_FALSE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     50 
     51   interop_database_add(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address, 3);
     52   EXPECT_TRUE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     53   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     54 
     55   string_to_bdaddr("66:55:44:33:22:11", &test_address);
     56   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     57 
     58   interop_database_add(INTEROP_AUTO_RETRY_PAIRING, &test_address, 3);
     59   EXPECT_TRUE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     60   EXPECT_FALSE(interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     61 
     62   interop_database_clear();
     63   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     64 }
     65 
     66 TEST(InteropTest, test_name_hit) {
     67   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "BMW M3"));
     68   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "Audi"));
     69   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "Caramel")); // Starts with "Car" ;)
     70 }
     71 
     72 TEST(InteropTest, test_name_miss) {
     73   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "__GOOGLE__"));
     74   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "BM"));
     75   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "audi"));
     76   EXPECT_FALSE(interop_match_name(INTEROP_AUTO_RETRY_PAIRING, "BMW M3"));
     77 }
     78