import arvados.api
import arvados.config
-ARV_API_SERVER_DIR = '../../../services/api'
-KEEP_SERVER_DIR = '../../../services/keep'
+SERVICES_SRC_DIR = os.path.join(MY_DIRNAME, '../../../services')
SERVER_PID_PATH = 'tmp/pids/webrick-test.pid'
WEBSOCKETS_SERVER_PID_PATH = 'tmp/pids/passenger-test.pid'
+os.environ['PATH'] = os.environ['GOPATH'] + '/bin:' + os.environ['PATH']
def find_server_pid(PID_PATH, wait=10):
now = time.time()
def run(websockets=False, reuse_server=False):
cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR))
+ os.chdir(os.path.join(SERVICES_SRC_DIR, 'api'))
if websockets:
pid_file = WEBSOCKETS_SERVER_PID_PATH
def stop():
cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR))
+ os.chdir(os.path.join(SERVICES_SRC_DIR, 'api'))
kill_server_pid(WEBSOCKETS_SERVER_PID_PATH, 0)
kill_server_pid(SERVER_PID_PATH, 0)
def _start_keep(n, keep_args):
keep0 = tempfile.mkdtemp()
- keep_cmd = ["bin/keep",
+ keep_cmd = ["keepstore",
"-volumes={}".format(keep0),
"-listen=:{}".format(25107+n),
"-pid={}".format("tmp/keep{}.pid".format(n))]
def run_keep(blob_signing_key=None, enforce_permissions=False):
stop_keep()
- cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
- if os.environ.get('GOPATH') == None:
- os.environ["GOPATH"] = os.getcwd()
- else:
- os.environ["GOPATH"] = os.getcwd() + ":" + os.environ["GOPATH"]
-
- subprocess.call(["./go.sh", "install", "keep"])
-
if not os.path.exists("tmp"):
os.mkdir("tmp")
api.keep_disks().create(body={"keep_disk": {"keep_service_uuid": s1["uuid"] } }).execute()
api.keep_disks().create(body={"keep_disk": {"keep_service_uuid": s2["uuid"] } }).execute()
- os.chdir(cwd)
-
def _stop_keep(n):
kill_server_pid("tmp/keep{}.pid".format(n), 0)
if os.path.exists("tmp/keep{}.volume".format(n)):
os.remove("tmp/keep.blob_signing_key")
def stop_keep():
- cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
-
_stop_keep(0)
_stop_keep(1)
- os.chdir(cwd)
-
def run_keep_proxy(auth):
stop_keep_proxy()
- cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
- if os.environ.get('GOPATH') == None:
- os.environ["GOPATH"] = os.getcwd()
- else:
- os.environ["GOPATH"] = os.getcwd() + ":" + os.environ["GOPATH"]
-
- subprocess.call(["./go.sh", "install", "arvados.org/keepproxy"])
-
if not os.path.exists("tmp"):
os.mkdir("tmp")
os.environ["ARVADOS_API_HOST_INSECURE"] = "true"
os.environ["ARVADOS_API_TOKEN"] = fixture("api_client_authorizations")[auth]["api_token"]
- kp0 = subprocess.Popen(["bin/keepproxy", "-pid=tmp/keepproxy.pid", "-listen=:{}".format(25101)])
+ kp0 = subprocess.Popen(["keepproxy",
+ "-pid=tmp/keepproxy.pid", "-listen=:{}".format(25101)])
authorize_with("admin")
api = arvados.api('v1', cache=False)
arvados.config.settings()["ARVADOS_KEEP_PROXY"] = "http://localhost:25101"
- os.chdir(cwd)
-
def stop_keep_proxy():
- cwd = os.getcwd()
- os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR))
kill_server_pid("tmp/keepproxy.pid", 0)
- os.chdir(cwd)
def fixture(fix):
'''load a fixture yaml file'''
- with open(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR, "test", "fixtures",
+ with open(os.path.join(SERVICES_SRC_DIR, 'api', "test", "fixtures",
fix + ".yml")) as f:
return yaml.load(f.read())