def test_required_constructors(self):
        """
        Test the capitalized methods of Tru class that are aliases for various
        app types. This test includes only ones that do not require optional
        packages.
        """
        core_session.TruSession()

        with self.subTest(type="TruBasicApp"):
            app = self._create_basic()

            with self.subTest(argname=None):
                basic_app.TruBasicApp(app)

            with self.subTest(argname="text_to_text"):
                basic_app.TruBasicApp(text_to_text=app)

            # Not specifying callable should be an error.
            with self.assertRaises(Exception):
                basic_app.TruBasicApp()
            with self.assertRaises(Exception):
                basic_app.TruBasicApp(None)

            # Specifying custom basic app using any of these other argument
            # names should be an error.
            wrong_args = ["app", "chain", "engine"]

            for arg in wrong_args:
                with self.subTest(argname=arg):
                    with self.assertRaises(Exception):
                        basic_app.TruBasicApp(**{arg: app})

        with self.subTest(type="TruCustomApp"):
            app = self._create_custom()

            custom_app.TruCustomApp(app)
            custom_app.TruCustomApp(app=app)

            # Not specifying callable should be an error.
            with self.assertRaises(Exception):
                custom_app.TruCustomApp()
            with self.assertRaises(Exception):
                custom_app.TruCustomApp(None)

            # Specifying custom app using any of these other argument names
            # should be an error.
            wrong_args = ["chain", "engine", "text_to_text"]
            for arg in wrong_args:
                with self.subTest(argname=arg):
                    with self.assertRaises(Exception):
                        custom_app.TruCustomApp(**{arg: app})

        with self.subTest(type="TruVirtual"):
            virtual_app.TruVirtual(None)

        Test the capitalized methods of Tru class that are aliases for various
        app types. This test includes only ones that do not require optional
        packages.
        
tests/e2e/test_tru_session.py