Skip to content

Commit

Permalink
added tests for ssg manager in python
Browse files Browse the repository at this point in the history
  • Loading branch information
mdorier committed Jan 30, 2024
1 parent 524c337 commit 214f222
Showing 1 changed file with 71 additions and 0 deletions.
71 changes: 71 additions & 0 deletions python/mochi/bedrock/test_ssg_manager.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import unittest
import pymargo.logging
import mochi.bedrock.server as mbs
import mochi.bedrock.spec as spec


class TestSSGManager(unittest.TestCase):

def setUp(self):
config = {
"ssg": [
{
"name": "my_group",
"pool": "__primary__",
"bootstrap": "init",
"config": {}
}
]
}
self.server = mbs.Server(address="na+sm", config=config)
self.server.margo.engine.logger.set_log_level(pymargo.logging.level.critical)

def tearDown(self):
self.server.finalize()
del self.server

def test_get_ssg_manager(self):
ssg = self.server.ssg
self.assertIsInstance(ssg, mbs.SSGManager)
self.assertEqual(len(ssg), 1)
ssg_A = ssg[0]
ssg_B = ssg["my_group"]
self.assertEqual(ssg_A.name, ssg_B.name)
self.assertEqual(ssg_A.type, ssg_B.type)
self.assertEqual(ssg_A.handle, ssg_B.handle)
with self.assertRaises(mbs.BedrockException):
ssg[1]
with self.assertRaises(mbs.BedrockException):
ssg["bla"]


def test_ssg_manager_config(self):
config = self.server.ssg.config
self.assertIsInstance(config, list)
self.assertEqual(len(config), 1)
ssg_1 = config[0]
self.assertIsInstance(ssg_1, dict)
for key in ["name", "pool", "swim", "credential", "bootstrap", "group_file"]:
self.assertIn(key, ssg_1)

def test_ssg_manager_spec(self):
spec_list = self.server.ssg.spec
self.assertIsInstance(spec_list, list)
for s in spec_list:
self.assertIsInstance(s, spec.SSGSpec)

def test_add_ssg_group(self):
ssg = self.server.ssg
ssg.create(
name="my_group_2",
pool="__primary__")
self.assertEqual(len(ssg), 2)
ssg_A = ssg[1]
ssg_B = ssg["my_group_2"]
self.assertEqual(ssg_A.name, ssg_B.name)
self.assertEqual(ssg_A.type, ssg_B.type)
self.assertEqual(ssg_A.handle, ssg_B.handle)


if __name__ == '__main__':
unittest.main()

0 comments on commit 214f222

Please sign in to comment.