def step_impl(context): payload = { "id": "rbccps.org/aa9d66a000d94a78895de8d4c0b3a67f3450e531/rs.varanasi.iudx.org.in/varanasi-swm-workers/varanasi-swm-wardwiseAttendance.public", "time": { "start": generate_random_chars(), "end": generate_random_chars() } } check_search("", payload, context)
def step_impl(context): payload = { "id": "rbccps.org/aa9d66a000d94a78895de8d4c0b3a67f3450e531/rs.varanasi.iudx.org.in/varanasi-swm-vehicles/varanasi-swm-vehicles-live.public", "geo_distance": { "coordinates": [generate_random_chars(), generate_random_chars()], "distance": "10000m" } } check_search("", payload, context)
def step_impl(context): payload = { "id": "rbccps.org/aa9d66a000d94a78895de8d4c0b3a67f3450e531/rs.varanasi.iudx.org.in/varanasi-swm-vehicles/varanasi-swm-vehicles-live.public", "attribute": { "term": generate_random_chars(), "min": generate_random_chars(), "max": generate_random_chars() } } check_search("", payload, context)
def step_impl(context): params = ( ('id', generate_random_chars()), ('token', tokens["master"]), ) check_download(params, context)
def step_impl(context): params = ({ "id": res[0], "token": generate_random_chars() }) check_latest(params,context)
def step_impl(context): params = ( ('id', res[0]), ('token', generate_random_chars()), ) data = '{"data": {"hello": "world"}}' check_publish(params, data, context)
def step_impl(context): params = ({ "id": generate_random_chars(), "token": tokens["master"] } ) check_latest(params,context)
def step_impl(context): params = ( ('id', generate_random_chars() + ".public"), ('token', tokens["master"]), ) data = '{"data": {"hello": "world"}}' check_publish(params, data, context)
def step_impl(context): payload = { "id": generate_random_chars() + ".public", "time": { "start": "2020-03-01", "end": "2020-03-27" } } check_search("", payload, context)
def step_impl(context): payload = { "id": generate_random_chars() + ".public", "geo_distance": { "coordinates": [82.9739, 25.3176], "distance": "10000m" } } check_search("", payload, context)
def step_impl(context): payload = { "id": generate_random_chars() + ".public", "attribute": { "term": "speed", "min": 30, "max": 50 } } check_search("", payload, context)
def step_impl(context): params = ( ('id', res[3]), ('token', generate_random_chars()), ) files = { 'file': ('sample.txt', open('sample.txt', 'rb')), 'metadata': ('meta.json', open('meta.json', 'rb')), } check_pub_file(params, files, context)
def step_impl(context): data = ( ("id", res[0]), ('token', generate_random_chars()), ) files = { 'file': ('sample.txt', open('sample.txt', 'rb')), 'metadata': ('meta.json', open('meta.json', 'rb')), } check_openfiles_pub(data, files, context)
def step_impl(context): data = ( ("id", id_prefix + generate_random_chars() + ".public"), ('token', tokens["master"]), ) files = { 'file': ('sample.txt', open('sample.txt', 'rb')), 'metadata': ('meta.json', open('meta.json', 'rb')), } check_openfiles_pub(data, files, context)
def step_impl(context): payload = {generate_random_chars(): generate_random_chars()} check_search("", payload, context)
requests.packages.urllib3.disable_warnings(InsecureRequestWarning) CONSUMER_CERT_PATH = 'consumer.pem' CONSUMER_KEY_PATH = 'consumer.key.pem' PROVIDER_CERT_PATH = 'provider.pem' PROVIDER_KEY_PATH = 'provider.key.pem' headers = { 'content-type': 'application/json', 'Host': 'auth.local', } resource_ids = [] for i in range(0, 8): resource_ids.append(generate_random_chars(special_chars=False)) # print(resource_ids[i]) acl_set_policy = "" acl_set_policy += "[email protected] can access example.com/test-category/" + resource_ids[ 0] + ".public for 1 month" for i in range(1, 6): acl_set_policy += "; [email protected] can access example.com/test-category/" + resource_ids[ i] + " for 1 month" for i in range(6, 8): acl_set_policy += "; [email protected] can access example.com/test-category/" + resource_ids[ i] + " for 1 month if scope = read" data = {"policy": acl_set_policy} response = requests.post('https://localhost:8443/auth/v1/acl/set', headers=headers,
def test_token(token): logging.info("In token-related tests") incorrect_token = utils.generate_random_chars() # ***************when publisher has valid token************* logging.info("When video is published with a valid token") for app in [conf.RTMP, conf.RTMP_HLS]: push_retry = 0 success = False while push_retry < 5 and not success: logging.info("Stream attempt %d", push_retry + 1) push_retry += 1 multitask = utils.Multitask() publisher = utils.Ffmpeg() publisher.input(conf.VIDEOS["countdown"]) publisher.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], token), '-f', 'flv') logging.info("When subscribed with a valid token") subscriber = utils.Ffmpeg() subscriber.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], token)) logging.info("When subscribed with an invalid token") subscriber2 = utils.Ffmpeg() subscriber2.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], incorrect_token)) multitask.return_dict[conf.PLAY_VALID] = None multitask.return_dict[conf.PLAY_INVALID] = None multitask.return_dict[conf.PUSH_VALID] = None multitask.add(subscriber.play, conf.PUSH_VALID, conf.PLAY_VALID) multitask.add(publisher.push, conf.PUSH_VALID) multitask.add(subscriber2.play, conf.PUSH_VALID, conf.PLAY_INVALID) multitask.run() logging.debug(multitask.return_dict[conf.PLAY_VALID], multitask.return_dict[conf.PUSH_VALID], multitask.return_dict[conf.PLAY_INVALID]) if (multitask.return_dict[conf.PUSH_VALID] and multitask.return_dict[conf.PLAY_VALID] and not multitask.return_dict[conf.PLAY_INVALID]): success = True logging.info("%s publish with valid token has passed!", app) assert success # ***************when publisher has incorrect token************* logging.info("When video is published with an invalid token") for app in [conf.RTMP, conf.RTMP_HLS]: push_retry = 0 success = False while push_retry < 5 and not success: logging.info("Stream attempt %d", push_retry + 1) push_retry += 1 multitask = utils.Multitask() publisher = utils.Ffmpeg() publisher.input(conf.VIDEOS["countdown"]) publisher.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], incorrect_token), '-f', 'flv') logging.info("When subscribed with a valid token") subscriber = utils.Ffmpeg() subscriber.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], token)) logging.info("When subscribed with an invalid token") subscriber2 = utils.Ffmpeg() subscriber2.output( utils.get_rtmp_path(app, conf.RESOURCE_ID["test-resource-1"], incorrect_token)) multitask.return_dict[conf.PLAY_VALID] = None multitask.return_dict[conf.PLAY_INVALID] = None multitask.return_dict[conf.PUSH_VALID] = None multitask.add(subscriber.play, conf.PUSH_VALID, conf.PLAY_VALID) multitask.add(publisher.push, conf.PUSH_VALID) multitask.add(subscriber2.play, conf.PUSH_VALID, conf.PLAY_INVALID) multitask.run() logging.debug(multitask.return_dict[conf.PLAY_VALID], multitask.return_dict[conf.PUSH_VALID], multitask.return_dict[conf.PLAY_INVALID]) if (not multitask.return_dict[conf.PUSH_VALID] and not multitask.return_dict[conf.PLAY_VALID] and not multitask.return_dict[conf.PLAY_INVALID]): success = True assert success logging.info("%s publish with an invalid token has passed!", app) logging.info("All access token related tests have passed!")
def step_impl(context): params = (('token', generate_random_chars()), ) data = {"id": res[3], "time": {"start": "2021-01-01", "end": "2021-11-01"}} time.sleep(1) check_search(params, data, context)