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
TEST(InteropTest,test_lookup_hit)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
TEST(InteropTest,test_lookup_miss)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
TEST(InteropTest,test_dynamic)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
TEST(InteropTest,test_name_hit)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
TEST(InteropTest,test_name_miss)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