Init commit for standalone enodebd
Change-Id: I88eeef5135dd7ba8551ddd9fb6a0695f5325337b
diff --git a/tests/enodeb_configuration_tests.py b/tests/enodeb_configuration_tests.py
new file mode 100644
index 0000000..10742ef
--- /dev/null
+++ b/tests/enodeb_configuration_tests.py
@@ -0,0 +1,112 @@
+"""
+Copyright 2020 The Magma Authors.
+
+This source code is licensed under the BSD-style license found in the
+LICENSE file in the root directory of this source tree.
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+# pylint: disable=protected-access
+
+from unittest import TestCase
+
+from data_models.data_model_parameters import ParameterName
+from device_config.enodeb_configuration import EnodebConfiguration
+from devices.experimental.cavium import CaviumTrDataModel
+
+
+class EnodebConfigurationTest(TestCase):
+ def setUp(self):
+ self.config = EnodebConfiguration(CaviumTrDataModel)
+
+ def tearDown(self):
+ self.config = None
+
+ def test_data_model(self) -> None:
+ data_model = self.config.data_model
+ expected = CaviumTrDataModel
+ self.assertEqual(data_model, expected, 'Data model fetch incorrect')
+
+ def test_get_has_set_parameter(self) -> None:
+ param = ParameterName.ADMIN_STATE
+ self.config.set_parameter(param, True)
+ self.assertTrue(
+ self.config.has_parameter(param),
+ 'Expected to have parameter',
+ )
+ param_value = self.config.get_parameter(param)
+ expected = True
+ self.assertEqual(
+ param_value, expected,
+ 'Parameter value does not match what was set',
+ )
+
+ def test_add_has_delete_object(self) -> None:
+ object_name = ParameterName.PLMN_N % 1
+ self.assertFalse(self.config.has_object(object_name))
+ self.config.add_object(object_name)
+ self.assertTrue(self.config.has_object(object_name))
+ self.config.delete_object(object_name)
+ self.assertFalse(self.config.has_object(object_name))
+
+ def test_get_parameter_names(self) -> None:
+ # Should start off as an empty list
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 0, 'Expected 0 names')
+
+ # Should grow as we set parameters
+ self.config.set_parameter(ParameterName.ADMIN_STATE, True)
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 1, 'Expected 1 name')
+
+ # Parameter names should not include objects
+ self.config.add_object(ParameterName.PLMN)
+ names_list = self.config.get_parameter_names()
+ self.assertEqual(len(names_list), 1, 'Expected 1 name')
+
+ def test_get_object_names(self) -> None:
+ # Should start off as an empty list
+ obj_list = self.config.get_object_names()
+ self.assertEqual(len(obj_list), 0, 'Expected 0 names')
+
+ # Should grow as we set parameters
+ self.config.add_object(ParameterName.PLMN)
+ obj_list = self.config.get_object_names()
+ self.assertEqual(len(obj_list), 1, 'Expected 1 names')
+
+ def test_get_set_parameter_for_object(self) -> None:
+ self.config.add_object(ParameterName.PLMN_N % 1)
+ self.config.set_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, True,
+ ParameterName.PLMN_N % 1,
+ )
+ param_value = self.config.get_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, ParameterName.PLMN_N % 1,
+ )
+ self.assertTrue(
+ param_value,
+ 'Expected that the param for object was set correctly',
+ )
+
+ def test_get_parameter_names_for_object(self) -> None:
+ # Should start off empty
+ self.config.add_object(ParameterName.PLMN_N % 1)
+ param_list = self.config.get_parameter_names_for_object(
+ ParameterName.PLMN_N % 1,
+ )
+ self.assertEqual(len(param_list), 0, 'Should be an empty param list')
+
+ # Should increment as we set parameters
+ self.config.set_parameter_for_object(
+ ParameterName.PLMN_N_CELL_RESERVED % 1, True,
+ ParameterName.PLMN_N % 1,
+ )
+ param_list = self.config.get_parameter_names_for_object(
+ ParameterName.PLMN_N % 1,
+ )
+ self.assertEqual(len(param_list), 1, 'Should not be an empty list')