| Index: components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver_unittest.cc
|
| diff --git a/components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver_unittest.cc b/components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver_unittest.cc
|
| deleted file mode 100644
|
| index ae89207d903afb05ff5d080c1e9f0020c0d62e20..0000000000000000000000000000000000000000
|
| --- a/components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver_unittest.cc
|
| +++ /dev/null
|
| @@ -1,1061 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver.h"
|
| -
|
| -#include <algorithm>
|
| -#include <string>
|
| -
|
| -#include "base/logging.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace proximity_auth {
|
| -namespace weave {
|
| -namespace {
|
| -
|
| -typedef BluetoothLowEnergyWeavePacketReceiver::ReceiverType ReceiverType;
|
| -typedef BluetoothLowEnergyWeavePacketReceiver::State State;
|
| -typedef BluetoothLowEnergyWeavePacketReceiver::ReceiverError ReceiverError;
|
| -
|
| -const uint8_t kCloseWithoutError = 0;
|
| -
|
| -// uWeave Header:
|
| -// 1--- ---- : type = 1 (control packet)
|
| -// -000 ---- : counter = 0
|
| -// ---- 0000 : command = 0 (request)
|
| -// 1000 0000 = 0x80
|
| -const uint8_t kControlRequestHeader = 0x80;
|
| -
|
| -// uWeave Header:
|
| -// 1--- ---- : type = 1 (control packet)
|
| -// -000 ---- : counter = 0
|
| -// ---- 0001 : command = 1 (response)
|
| -// 1000 0001 = 0x81
|
| -const uint8_t kControlResponseHeader = 0x81;
|
| -} // namespace
|
| -
|
| -class ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest
|
| - : public testing::Test {
|
| - protected:
|
| - ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest() {}
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(
|
| - ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest);
|
| -};
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingServerPacketsNoControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - std::vector<uint8_t> p1(kByteDefaultMaxPacketSize, 'a');
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1000 = 0x18
|
| - p1[0] = 0x18;
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::RECEIVING_DATA, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0--- : first packet = false
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 0100 = 0x24
|
| - std::vector<uint8_t> p2{0x24, 'c', 'd'};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("aaaaaaaaaaaaaaaaaaacd", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -011 ---- : counter = 3
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0011 1100 = 0x3C
|
| - std::vector<uint8_t> p3{0x3C, 'g', 'o', 'o', 'g', 'l', 'e'};
|
| - receiver->ReceivePacket(p3);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("google", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -100 ---- : counter = 4
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1100 0010 = 0xC2
|
| - // 0x80 is the hex value for APPLICATION_ERROR
|
| - std::vector<uint8_t> p4{0xC2, kEmptyUpperByte, 0x80};
|
| - receiver->ReceivePacket(p4);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingServerPacketsWithFullControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize,
|
| - 'a',
|
| - 'b',
|
| - 'c',
|
| - 'd',
|
| - 'e',
|
| - 'f',
|
| - 'g',
|
| - 'h',
|
| - 'i',
|
| - 'j',
|
| - 'k',
|
| - 'l',
|
| - 'm'};
|
| -
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("abcdefghijklm", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1000 = 0x18
|
| - std::vector<uint8_t> p1(kByteDefaultMaxPacketSize, 'o');
|
| - p1[0] = 0x18;
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::RECEIVING_DATA, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0--- : first packet = false
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 0100 = 0x24
|
| - std::vector<uint8_t> p2{0x24, 'p', 'q'};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("ooooooooooooooooooopq", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -011 ---- : counter = 3
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1011 0010 = 0xB2
|
| - std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p3);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingServerPacketsWithSomeControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize, 'a'};
|
| -
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("a", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1000 = 0x18
|
| - std::vector<uint8_t> p1(kByteDefaultMaxPacketSize, 'o');
|
| - p1[0] = 0x18;
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::RECEIVING_DATA, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0--- : first packet = false
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 0100 = 0x24
|
| - std::vector<uint8_t> p2{0x24, 'p', 'q'};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("ooooooooooooooooooopq", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -011 ---- : counter = 3
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1011 0010 = 0xB2
|
| - std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p3);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingClientPacketsNoControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - const uint8_t kSelectedPacketSize = 30;
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kSelectedPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| - EXPECT_EQ(kSelectedPacketSize, receiver->GetMaxPacketSize());
|
| -
|
| - std::vector<uint8_t> p1(kSelectedPacketSize, 'o');
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1100 = 0x1C
|
| - p1[0] = 0x1C;
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("ooooooooooooooooooooooooooooo", receiver->GetDataMessage());
|
| -
|
| - const uint8_t kApplicationError = 0x80;
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1010 0010 = 0xA2
|
| - std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kApplicationError};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingClientPacketsWithFullControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize,
|
| - 'a',
|
| - 'b',
|
| - 'c',
|
| - 'd',
|
| - 'e',
|
| - 'f',
|
| - 'g',
|
| - 'h',
|
| - 'i',
|
| - 'j',
|
| - 'k',
|
| - 'l',
|
| - 'm',
|
| - 'n',
|
| - 'o'};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("abcdefghijklmno", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1100 = 0x1C
|
| - std::vector<uint8_t> p1{0x1C, 'g', 'o', 'o', 'g', 'l', 'e'};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("google", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1010 0010 = 0xA2
|
| - std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_WellBehavingClientPacketsWithSomeControlDataTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize,
|
| - 'a',
|
| - 'b',
|
| - 'c'};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("abc", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1100 = 0x1C
|
| - std::vector<uint8_t> p1{0x1C, 'g', 'o', 'o', 'g', 'l', 'e'};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("google", receiver->GetDataMessage());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1010 0010 = 0xA2
|
| - std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_LegacyCloseWithoutReasonTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1001 0010 = 0x92
|
| - std::vector<uint8_t> p1{0x92};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonForClose());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_OneBytePacketTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1100 = 0x1C
|
| - std::vector<uint8_t> p1{0x1C};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::DATA_READY, receiver->GetState());
|
| - EXPECT_EQ("", receiver->GetDataMessage());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_EmptyPacketTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0;
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ServerReceivingConnectionResponseTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::CLIENT_RECEIVED_CONNECTION_REQUEST,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ClientReceivingConnectionRequestTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::SERVER_RECEIVED_CONNECTION_RESPONSE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ReceiveConnectionCloseInConnecting) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -000 ---- : counter = 0
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1000 0010 = 0x82
|
| - std::vector<uint8_t> p0{0x82, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::RECEIVED_CONNECTION_CLOSE_IN_CONNECTING,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ReceiveDataInConnecting) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -000 ---- : counter = 0
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0000 1000 = 0x08
|
| - std::vector<uint8_t> p3{0x08, 'a', 'b', 'c', 'd'};
|
| - receiver->ReceivePacket(p3);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::RECEIVED_DATA_IN_CONNECTING,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ConnectionRequestTooSmallTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ConnectionRequestTooLargeTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0);
|
| - p0[0] = kControlRequestHeader;
|
| - p0[2] = kByteWeaveVersion;
|
| - p0[4] = kByteWeaveVersion;
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ConnectionResponseTooSmallTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ConnectionResponseTooLargeTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0);
|
| - p0[0] = kControlResponseHeader;
|
| - p0[2] = kByteWeaveVersion;
|
| - p0[4] = kByteDefaultMaxPacketSize;
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ConnectionCloseTooLargeTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1001 0010 = 0x92
|
| - std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kCloseWithoutError, 'a'};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONNECTION_CLOSE_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_DataPacketTooLargeTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1100 = 0x1C
|
| - std::vector<uint8_t> p1(kByteDefaultMaxPacketSize + 1, 'a');
|
| - p1[0] = 0x1C;
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_DATA_PACKET_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_FirstPacketNoFirstNorLastBitTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0--- : first packet = false
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 0000 = 0x10
|
| - std::vector<uint8_t> p1{0x10};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_FirstPacketNoFirstYesLastBitTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0--- : first packet = false
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 0100 = 0x14
|
| - std::vector<uint8_t> p1{0x14};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_NonFirstPacketYesFirstBitTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0001 1000 = 0x18
|
| - std::vector<uint8_t> p1{0x18};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::RECEIVING_DATA, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 1--- : first packet = true
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 1000 = 0x28
|
| - std::vector<uint8_t> p2{0x28};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_OutOfOrderPacketTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 0--- : first packet = false
|
| - // ---- -0-- : last packet = false
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 0000 = 0x20
|
| - std::vector<uint8_t> p1{0x20};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::PACKET_OUT_OF_SEQUENCE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidVersionInConnectionRequestTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - const uint8_t kWrongVersion = 2;
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kWrongVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::NOT_SUPPORTED_REQUESTED_VERSION,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidMaxPacketSizeInConnectionRequestTest) {
|
| - const uint8_t kSmallMaxPacketSize = 19;
|
| -
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kSmallMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_REQUESTED_MAX_PACKET_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidSelectedVersionInConnectionResponseTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kByteWeaveVersion,
|
| - kEmptyUpperByte, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED,
|
| - receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::NOT_SUPPORTED_SELECTED_VERSION,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidSelectedMaxPacketSizeInConnectionResponseTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - const uint8_t kSmallMaxPacketSize = 19;
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kSmallMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_SELECTED_MAX_PACKET_SIZE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_UnrecognizedReasonForCloseInConnectionCloseTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - const uint8_t kInvalidReasonForClose = 5;
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1001 0010 = 0x92
|
| - std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kInvalidReasonForClose};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::UNRECOGNIZED_REASON_FOR_CLOSE,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_UnrecognizedControlCommandBitTwoTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -000 ---- : counter = 0
|
| - // ---- 0100 : command = 4 (INVALID)
|
| - // 1000 0100 = 0x84
|
| - std::vector<uint8_t> p0{0x84,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidControlCommandBitThreeTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -000 ---- : counter = 0
|
| - // ---- 1000 : command = 8 (INVALID)
|
| - // 1000 1000 = 0x88
|
| - std::vector<uint8_t> p0{0x88, kEmptyUpperByte, kByteWeaveVersion,
|
| - kEmptyUpperByte, kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidBitOneInDataPacketHeaderTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --10 : defined by uWeave to be 0, but bit 1 is not
|
| - // 0001 1110 = 0x1E
|
| - std::vector<uint8_t> p1{0x1E, 'a'};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_InvalidBitZeroInDataPacketHeaderTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteDefaultMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --01 : defined by uWeave to be 0, but bit 0 is not
|
| - // 0001 1101 = 0x1D
|
| - std::vector<uint8_t> p1{0x1D, 'a'};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ReceivedPacketInErrorState) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::CLIENT);
|
| -
|
| - std::vector<uint8_t> p0;
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| -
|
| - std::vector<uint8_t> p1{kControlResponseHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_ReceivedPacketInConnectionClosedStateTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0010 : command = 2 (close)
|
| - // 1001 0010 = 0x92
|
| - std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kCloseWithoutError};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
|
| -
|
| - // uWeave Header:
|
| - // 0--- ---- : type = 0 (data packet)
|
| - // -010 ---- : counter = 2
|
| - // ---- 1--- : first packet = true
|
| - // ---- -1-- : last packet = true
|
| - // ---- --00 : defined by uWeave to be 0
|
| - // 0010 1100 = 0x2C
|
| - std::vector<uint8_t> p2{0x2C, 'a'};
|
| - receiver->ReceivePacket(p2);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::RECEIVED_PACKET_IN_CONNECTION_CLOSED,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -// TODO(http://crbug.com/651246) this test is flaky.
|
| -TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
|
| - DISABLED_MultipleControlPacketTest) {
|
| - std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
|
| - BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
|
| - ReceiverType::SERVER);
|
| -
|
| - std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteWeaveVersion, kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p0);
|
| - EXPECT_EQ(State::WAITING, receiver->GetState());
|
| -
|
| - // uWeave Header:
|
| - // 1--- ---- : type = 1 (control packet)
|
| - // -001 ---- : counter = 1
|
| - // ---- 0000 : command = 0 (request)
|
| - // 1001 0000 = 0x90
|
| - std::vector<uint8_t> p1{0x90,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteWeaveVersion,
|
| - kEmptyUpperByte,
|
| - kByteSelectMaxPacketSize};
|
| - receiver->ReceivePacket(p1);
|
| - EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
|
| - EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
|
| - EXPECT_EQ(ReceiverError::INVALID_CONTROL_COMMAND_IN_DATA_TRANSACTION,
|
| - receiver->GetReceiverError());
|
| -}
|
| -
|
| -} // namespace weave
|
| -
|
| -} // namespace proximity_auth
|
|
|