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()
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))
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()
def setUp(self): super().setUp() app = make_app() app.testing = True self.client = app.test_client()
def run_wizard(args: argparse.Namespace) -> None: nonlocal app app = make_app(args.include_package) app.testing = True
def setUp(self): super(TestConfigExplorer, self).setUp() app = make_app() app.testing = True self.client = app.test_client()