Changes to framework usage:
[ric-plt/xapp-frame-py.git] / tests / test_init.py
diff --git a/tests/test_init.py b/tests/test_init.py
new file mode 100644 (file)
index 0000000..1e05455
--- /dev/null
@@ -0,0 +1,62 @@
+# ==================================================================================
+#       Copyright (c) 2020 Nokia
+#       Copyright (c) 2020 AT&T Intellectual Property.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#          http://www.apache.org/licenses/LICENSE-2.0
+#
+#   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.
+# ==================================================================================
+import time
+import pytest
+from rmr.exceptions import InitFailed
+from ricxappframe.xapp_frame import Xapp, RMRXapp
+
+
+def test_bad_init():
+    """test that an xapp whose rmr fails to init blows up"""
+
+    def entry(self):
+        pass
+
+    with pytest.raises(InitFailed):
+        bad_xapp = Xapp(entrypoint=entry, rmr_port=-1)
+        bad_xapp.run()  # we wont get here
+
+    def defh(self):
+        pass
+
+    with pytest.raises(InitFailed):
+        bad_xapp = RMRXapp(default_handler=defh, rmr_port=-1)
+        bad_xapp.run()  # we wont get here
+
+
+def test_init_general_xapp():
+    def entry(self):
+        # normally we would have some kind of loop here
+        print("bye")
+
+    gen_xapp = Xapp(entrypoint=entry, rmr_wait_for_ready=False, use_fake_sdl=True)
+    gen_xapp.run()
+    time.sleep(1)
+    gen_xapp.stop()  # pytest will never return without this.
+
+
+def test_init_rmr_xapp():
+    def post_init(self):
+        print("hey")
+
+    def foo(self, _summary, _sbuf):
+        pass
+
+    rmr_xapp = RMRXapp(foo, post_init=post_init, rmr_wait_for_ready=False, use_fake_sdl=True)
+    rmr_xapp.run()
+    time.sleep(1)
+    rmr_xapp.stop()  # pytest will never return without this.