Home | History | Annotate | Download | only in test
      1 /******************************************************************************
      2  *
      3  *  Copyright 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 #include "device/include/interop.h"
     22 
     23 TEST(InteropTest, test_lookup_hit) {
     24   RawAddress test_address;
     25   RawAddress::FromString("38:2c:4a:e6:67:89", test_address);
     26   EXPECT_TRUE(
     27       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     28   RawAddress::FromString("9c:df:03:12:34:56", test_address);
     29   EXPECT_TRUE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     30 }
     31 
     32 TEST(InteropTest, test_lookup_miss) {
     33   RawAddress test_address;
     34   RawAddress::FromString("00:00:00:00:00:00", test_address);
     35   EXPECT_FALSE(
     36       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     37   RawAddress::FromString("ff:ff:ff:ff:ff:ff", test_address);
     38   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     39   RawAddress::FromString("42:08:15:ae:ae:ae", test_address);
     40   EXPECT_FALSE(
     41       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     42   RawAddress::FromString("38:2c:4a:59:67:89", test_address);
     43   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     44 }
     45 
     46 TEST(InteropTest, test_dynamic) {
     47   RawAddress test_address;
     48 
     49   RawAddress::FromString("11:22:33:44:55:66", test_address);
     50   EXPECT_FALSE(
     51       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     52 
     53   interop_database_add(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address, 3);
     54   EXPECT_TRUE(
     55       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     56   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     57 
     58   RawAddress::FromString("66:55:44:33:22:11", test_address);
     59   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     60 
     61   interop_database_add(INTEROP_AUTO_RETRY_PAIRING, &test_address, 3);
     62   EXPECT_TRUE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     63   EXPECT_FALSE(
     64       interop_match_addr(INTEROP_DISABLE_LE_SECURE_CONNECTIONS, &test_address));
     65 
     66   interop_database_clear();
     67   EXPECT_FALSE(interop_match_addr(INTEROP_AUTO_RETRY_PAIRING, &test_address));
     68 }
     69 
     70 TEST(InteropTest, test_name_hit) {
     71   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "BMW M3"));
     72   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "Audi"));
     73   EXPECT_TRUE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING,
     74                                  "Caramel"));  // Starts with "Car" ;)
     75 }
     76 
     77 TEST(InteropTest, test_name_miss) {
     78   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "__GOOGLE__"));
     79   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "BM"));
     80   EXPECT_FALSE(interop_match_name(INTEROP_DISABLE_AUTO_PAIRING, "audi"));
     81   EXPECT_FALSE(interop_match_name(INTEROP_AUTO_RETRY_PAIRING, "BMW M3"));
     82 }
     83