Exemple #1
0
def _run_wizard(args: argparse.Namespace) -> None:
    app = make_app(args.include_package)
    CORS(app)

    http_server = WSGIServer(('0.0.0.0', args.port), app)
    print(f"serving Config Explorer at http://localhost:{args.port}")
    http_server.serve_forever()
Exemple #2
0
    def test_other_modules(self):
        # Create a new package in a temporary dir
        packagedir = self.TEST_DIR / 'configexplorer'
        packagedir.mkdir()  # pylint: disable=no-member
        (packagedir / '__init__.py').touch()  # pylint: disable=no-member

        # And add that directory to the path
        sys.path.insert(0, str(self.TEST_DIR))

        # Write out a duplicate predictor there, but registered under a different name.
        from allennlp.predictors import bidaf
        with open(bidaf.__file__) as f:
            code = f.read().replace(
                """@Predictor.register('machine-comprehension')""",
                """@Predictor.register('config-explorer-predictor')""")

        with open(os.path.join(packagedir, 'predictor.py'), 'w') as f:
            f.write(code)

        # Without specifying modules to load, it shouldn't be there
        app = make_app()
        app.testing = True
        client = app.test_client()
        response = client.get(
            '/api/config/?class=allennlp.predictors.predictor.Predictor&get_choices=true'
        )
        data = json.loads(response.get_data())
        assert "allennlp.predictors.bidaf.BidafPredictor" in data["choices"]
        assert "configexplorer.predictor.BidafPredictor" not in data["choices"]

        # With specifying extra modules, it should be there.
        app = make_app(['configexplorer'])
        app.testing = True
        client = app.test_client()
        response = client.get(
            '/api/config/?class=allennlp.predictors.predictor.Predictor&get_choices=true'
        )
        data = json.loads(response.get_data())
        assert "allennlp.predictors.bidaf.BidafPredictor" in data["choices"]
        assert "configexplorer.predictor.BidafPredictor" in data["choices"]

        sys.path.remove(str(self.TEST_DIR))
    def test_other_modules(self):
        # Create a new package in a temporary dir
        packagedir = self.TEST_DIR / 'configexplorer'
        packagedir.mkdir()  # pylint: disable=no-member
        (packagedir / '__init__.py').touch()  # pylint: disable=no-member

        # And add that directory to the path
        sys.path.insert(0, str(self.TEST_DIR))

        # Write out a duplicate predictor there, but registered under a different name.
        from allennlp.predictors import bidaf
        with open(bidaf.__file__) as f:
            code = f.read().replace("""@Predictor.register('machine-comprehension')""",
                                    """@Predictor.register('config-explorer-predictor')""")

        with open(os.path.join(packagedir, 'predictor.py'), 'w') as f:
            f.write(code)

        # Without specifying modules to load, it shouldn't be there
        app = make_app()
        app.testing = True
        client = app.test_client()
        response = client.get('/api/config/?class=allennlp.predictors.predictor.Predictor')
        data = json.loads(response.get_data())
        assert "allennlp.predictors.bidaf.BidafPredictor" in data["choices"]
        assert "configexplorer.predictor.BidafPredictor" not in data["choices"]

        # With specifying extra modules, it should be there.
        app = make_app(['configexplorer'])
        app.testing = True
        client = app.test_client()
        response = client.get('/api/config/?class=allennlp.predictors.predictor.Predictor')
        data = json.loads(response.get_data())
        assert "allennlp.predictors.bidaf.BidafPredictor" in data["choices"]
        assert "configexplorer.predictor.BidafPredictor" in data["choices"]

        sys.path.remove(str(self.TEST_DIR))
Exemple #4
0
        def run_wizard(args: argparse.Namespace) -> None:
            nonlocal app

            app = make_app(args.include_package)
            app.testing = True
 def setUp(self):
     super().setUp()
     app = make_app()
     app.testing = True
     self.client = app.test_client()
Exemple #6
0
 def setUp(self):
     super().setUp()
     app = make_app()
     app.testing = True
     self.client = app.test_client()
Exemple #7
0
        def run_wizard(args: argparse.Namespace) -> None:
            nonlocal app

            app = make_app(args.include_package)
            app.testing = True
Exemple #8
0
 def setUp(self):
     super(TestConfigExplorer, self).setUp()
     app = make_app()
     app.testing = True
     self.client = app.test_client()