Ejemplo n.º 1
0
def test_run_container_from_init_dep():
    apcs = echo_pcs_dep
    try:
        init_plugin_path = "/plugin"
        os.mkdir(init_plugin_path)
        with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
            write_config(apcs, f)
        os.environ["INIT_PLUGIN_PATH"] = init_plugin_path

        plugin.init_plugin()
        assert bag_contains(plugin_config.get_plugin_configs({}), apcs)

        time.sleep(CLIENT_DELAY)
        for apc in apcs:
            container_name = apc["name"]

            resp = requests.get(f"http://{container_name}/")

        assert resp.status_code == 200
        assert resp.json()["method"] == "GET"
        shutil.rmtree(init_plugin_path)
    finally:
        for apc in apcs:
            plugin.stop_container(apc)
            plugin.remove_container(apc)
            plugin_config.delete_plugin_configs(apc)
Ejemplo n.º 2
0
def test_delete_container_from_init2():
    apc = echo_pc
    apc2 = echo_pc2
    apcs = [apc, apc2]
    init_plugin_path = "/plugin"
    os.mkdir(init_plugin_path)
    with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
        write_config(apcs, f)
            
    os.environ["INIT_PLUGIN_PATH"] = init_plugin_path
        
    plugin.init_plugin()
        
    container_name = apc["name"]
    container_name2 = apc2["name"]

    time.sleep(CLIENT_DELAY)
    plugin.delete_init_plugin()
        
    with pytest.raises(Exception):
        resp = requests.get("http://{host}/".format(host=container_name))

    with pytest.raises(Exception):
        resp = requests.get("http://{host}/".format(host=container_name2))
        
    assert bag_equal(plugin_config.get_plugin_configs({}), [])
    shutil.rmtree(init_plugin_path)
Ejemplo n.º 3
0
def test_run_container_from_init2():
    try:
        apc = echo_pc
        apc2 = echo_pc2
        apcs = [apc, apc2]
        init_plugin_path = "/plugin"
        os.mkdir(init_plugin_path)
        with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
            write_config(apcs, f)
            
        os.environ["INIT_PLUGIN_PATH"] = init_plugin_path

        plugin.init_plugin()
        assert bag_contains(plugin_config.get_plugin_configs({}), apcs)

        container_name = apc["name"]
        container_name2 = apc2["name"]

        time.sleep(CLIENT_DELAY)
        resp = requests.get("http://{host}/".format(host=container_name))

        assert resp.status_code == 200
        assert resp.json()["method"] == "GET"
        resp2 = requests.get("http://{host}/".format(host=container_name2))

        assert resp2.status_code == 200
        assert resp2.json()["method"] == "GET"
        shutil.rmtree(init_plugin_path)
    finally:
        plugin.stop_container(apc)
        plugin.remove_container(apc)
        plugin_config.delete_plugin_configs(apc)
        plugin.stop_container(apc2)
        plugin.remove_container(apc2)
        plugin_config.delete_plugin_configs(apc2)
Ejemplo n.º 4
0
def test_run_container_from_init_deps3():
    apcs = echo_pcs_dep3
    init_plugin_path = "/plugin"
    os.mkdir(init_plugin_path)
    with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
        write_config(apcs, f)
    os.environ["INIT_PLUGIN_PATH"] = init_plugin_path
        
    with pytest.raises(Exception):
        plugin.init_plugin()

    for apc in apcs:
        container_name = apc["name"]

        with pytest.raises(Exception):
            resp = requests.get(f"http://{container_name}/")

    shutil.rmtree(init_plugin_path)
Ejemplo n.º 5
0
def test_delete_container_from_init_dep():
    apcs = echo_pcs_dep
    init_plugin_path = "/plugin"
    os.mkdir(init_plugin_path)
    with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
        write_config(apcs, f)
        
    os.environ["INIT_PLUGIN_PATH"] = init_plugin_path
        
    plugin.init_plugin()
        
    time.sleep(CLIENT_DELAY)
    plugin.delete_init_plugin()
        
    for apc in apcs:
        container_name = apc["name"]

        with pytest.raises(Exception):
            resp = requests.get(f"http://{container_name}/")

    assert bag_equal(plugin_config.get_plugin_configs({}), [])
    shutil.rmtree(init_plugin_path)
Ejemplo n.º 6
0
def test_run_container_from_init_env():
    try:
        apc = echo_pc
        apcs = [apc]
        init_plugin_path = "/plugin"
        os.mkdir(init_plugin_path)
        with open(f"{init_plugin_path}/echo.yaml", "w+") as f:
            f.write('''
services:
  echo:
    image: tx-router-test-flask-echo-server:${TAG}
    environment: {}
    port: 80
    environment:
      HOST: 0.0.0.0
      PORT: "80"
    volumes: []
''')
        os.environ["INIT_PLUGIN_PATH"] = init_plugin_path
        os.environ["TAG"] = tag
        plugin.init_plugin()
        del os.environ["TAG"]
        del os.environ["INIT_PLUGIN_PATH"]
        assert bag_contains(plugin_config.get_plugin_configs({}), apcs)

        container_name = apc["name"]

        time.sleep(CLIENT_DELAY)
        resp = requests.get("http://{host}/".format(host=container_name))

        assert resp.status_code == 200
        assert resp.json()["method"] == "GET"
        shutil.rmtree(init_plugin_path)
    finally:
        plugin.stop_container(apc)
        plugin.remove_container(apc)
        plugin_config.delete_plugin_configs(apc)
Ejemplo n.º 7
0
def on_starting(server):
    print("starting server")
    sys.stdout.flush()
    init_plugin()