[VOL-2261]: changes to facilitate DisablePonIf
Change-Id: Ie8f85b9fdb8d880e051cc2007bab1ebef8785b10
diff --git a/agent/test/src/test_core.cc b/agent/test/src/test_core.cc
index 3588f95..12fd0ee 100644
--- a/agent/test/src/test_core.cc
+++ b/agent/test/src/test_core.cc
@@ -234,14 +234,11 @@
// NiceMock is used to suppress 'WillByDefault' return errors.
// This is described in https://github.com/arangodb-helper/gtest/blob/master/googlemock/docs/CookBook.md
NiceMock<BalMocker> balMock;
- bcmos_errno bal_cfg_get_res = BCM_ERR_OK;
+ bcmos_errno olt_oper_res = BCM_ERR_OK;
Status olt_disable_res;
-
- EXPECT_CALL(balMock, bcmolt_cfg_get(_, _))
- .Times(num_of_pon_ports)
- .WillRepeatedly(Return(bal_cfg_get_res));
-
+ state.deactivate();
+ ON_CALL(balMock, bcmolt_oper_submit(_, _)).WillByDefault(Return(olt_oper_res));
olt_disable_res = Disable_();
ASSERT_TRUE( olt_disable_res.error_message() == Status::OK.error_message() );
@@ -252,14 +249,11 @@
// NiceMock is used to suppress 'WillByDefault' return errors.
// This is described in https://github.com/arangodb-helper/gtest/blob/master/googlemock/docs/CookBook.md
NiceMock<BalMocker> balMock;
- bcmos_errno bal_cfg_get_res = BCM_ERR_INTERNAL;
+ bcmos_errno olt_oper_res = BCM_ERR_INTERNAL;
Status olt_disable_res;
-
- EXPECT_CALL(balMock, bcmolt_cfg_get(_, _))
- .Times(num_of_pon_ports)
- .WillRepeatedly(Return(bal_cfg_get_res));
-
+ state.deactivate();
+ ON_CALL(balMock, bcmolt_oper_submit(_, _)).WillByDefault(Return(olt_oper_res));
olt_disable_res = Disable_();
ASSERT_TRUE( olt_disable_res.error_code() == grpc::StatusCode::INTERNAL);
}
@@ -384,3 +378,56 @@
ASSERT_TRUE( query_status.error_message() == Status::OK.error_message() );
}
+////////////////////////////////////////////////////////////////////////////
+// For testing DisablePonIf functionality
+////////////////////////////////////////////////////////////////////////////
+
+class TestDisablePonIf : public Test {
+ protected:
+ virtual void SetUp() {
+ }
+
+ virtual void TearDown() {
+ }
+};
+
+// Test 1 - DisablePonIf success case
+TEST_F(TestDisablePonIf, DisablePonIfSuccess) {
+ bcmos_errno olt_oper_res = BCM_ERR_OK;
+ bcmos_errno bal_cfg_set_res = BCM_ERR_OK;
+ NiceMock<BalMocker> balMock;
+ uint32_t pon_id=1;
+
+ //ON_CALL(balMock, bcmolt_cfg_set(_, _)).WillByDefault(Return(bal_cfg_set_res));
+ ON_CALL(balMock, bcmolt_oper_submit(_, _)).WillByDefault(Return(olt_oper_res));
+ state.deactivate();
+ Status status = DisablePonIf_(pon_id);
+
+ ASSERT_TRUE( status.error_message() == Status::OK.error_message() );
+}
+
+// Test 2 - DisablePonIf Failure case
+TEST_F(TestDisablePonIf, DisablePonIfFailed) {
+ bcmos_errno olt_oper_res = BCM_ERR_INTERNAL;
+ NiceMock<BalMocker> balMock;
+ uint32_t pon_id=1;
+
+ ON_CALL(balMock, bcmolt_oper_submit(_, _)).WillByDefault(Return(olt_oper_res));
+ state.deactivate();
+ Status status = DisablePonIf_(pon_id);
+
+ ASSERT_TRUE( status.error_message() != Status::OK.error_message() );
+}
+
+// Test 3 - DisablePonIf ONU discovery failure case
+TEST_F(TestDisablePonIf, DisablePonIfOnuDiscoveryFail) {
+ NiceMock<BalMocker> balMock;
+ uint32_t pon_id=1;
+ bcmos_errno bal_cfg_set_res= BCM_ERR_INTERNAL;
+ ON_CALL(balMock, bcmolt_cfg_set(_, _)).WillByDefault(Return(bal_cfg_set_res));
+ state.deactivate();
+ Status status = DisablePonIf_(pon_id);
+
+ ASSERT_TRUE( status.error_message() != Status::OK.error_message() );
+}
+