Ejemplo n.º 1
0
def test_scs_app():
    results = {}
    results['fortune_ui.health'] = False
    results['fortune_svc.health'] = False
    results['fortune_ui.random'] = False
    try:
        print(
            "Checking the health of Spring Cloud Services bound to fortune-teller app..."
        )

        _, ui_routes = utils.get_app_routes(fortune_ui_app)
        ui_health_url = "https://{}/health".format(ui_routes[0].strip())
        ui_random_url = "https://{}/random".format(ui_routes[0].strip())

        _, svc_routes = utils.get_app_routes(fortune_svc_app)
        svc_health_url = "https://{}/health".format(svc_routes[0].strip())

        print(ui_health_url)
        resp = requests.get(ui_health_url)
        results['fortune_ui.health'] = (resp.status_code == 200)
        print("status: {},\ncontent: {}\n".format(resp.status_code,
                                                  resp.content))

        print(svc_health_url)
        resp = requests.get(svc_health_url)
        results['fortune_svc.health'] = (resp.status_code == 200)
        print("status: {},\ncontent: {}\n".format(resp.status_code,
                                                  resp.content))

        print(ui_random_url)
        resp = requests.get(ui_random_url)
        results['fortune_ui.random'] = (resp.status_code == 200)
        print("status: {},\ncontent: {}\n".format(resp.status_code,
                                                  resp.content))

        print("Stoping fortune-service app...")
        common_tests.stop_app(fortune_svc_app)

        print(ui_random_url)
        resp = requests.get(ui_random_url)
        results['fortune_ui.random'] = results['fortune_ui.random'] and (
            resp.status_code == 200)
        print("status: {},\ncontent: {}\n".format(resp.status_code,
                                                  resp.content))

        print("Starting fortune-service app...")
        if not common_tests.start_app(fortune_svc_app):
            results['fortune_svc.get_app_logs'] = common_tests.get_app_logs(
                fortune_svc_app)

        print(ui_random_url)
        resp = requests.get(ui_random_url)
        results['fortune_ui.random'] = results['fortune_ui.random'] and (
            resp.status_code == 200)
        print("status: {},\ncontent: {}\n".format(resp.status_code,
                                                  resp.content))

    except Exception as e:
        print(str(e))
    return results
def generate_http_traffic():
    try:
        _, routes = utils.get_app_routes(autoscaler_sample_app)
        url = "https://{}/".format(routes[0].strip())

        print(
            "Sending HTTP GET requests to the app for 15 min without any delays between each request..."
        )
        t_end = time.time() + 60 * 15
        num_requests = 0
        while time.time() < t_end:
            resp = requests.get(url)
            num_requests = num_requests + 1
        print("Sent {} requests in last 15 min".format(num_requests))

        num_requests = 0
        print(
            "Sending HTTP GET requests to the app for 10 min with 10 seconds delay between each request..."
        )
        t_end = time.time() + 60 * 10
        while time.time() < t_end:
            time.sleep(10)
            resp = requests.get(url)
            num_requests = num_requests + 1
        print("Sent {} requests in last 10 min".format(num_requests))

    except Exception as e:
        print(str(e))
Ejemplo n.º 3
0
def test_rabbitmq_app():
    results = {}
    results['read'] = False
    results['write'] = False
    try:
        _, routes = utils.get_app_routes(rabbitmq_sample_app)
        url = "https://{}".format(routes[0].strip())

        print("Writing into rabbitmq instance via sample-app endpoint: {}".
              format(url))
        resp = requests.post("{}/write".format(url), data='test_message')
        results['write'] = (resp.status_code == 201)
        print("status: {}, content: {}\n".format(resp.status_code,
                                                 resp.content))

        print("Reading from rabbitmq instance via sample-app endpoint: {}".
              format(url))
        resp = requests.get("{}/read".format(url))
        results['read'] = (resp.status_code == 200 and str(
            json.loads(resp.content)['message']) == 'test_message')
        print("status: {}, content: {}\n".format(resp.status_code,
                                                 resp.content))

    except Exception as e:
        print(str(e))
    return results
Ejemplo n.º 4
0
def test_app_instances_connection(num_instances):
    max_attempts = 10
    app_instance_connection_results = {}
    try:
        for i in range(num_instances):
            app_instance_connection_results[i] = False

        _, appguid = common_tests.show_app_guid(pas_sample_app)
        _, routes = utils.get_app_routes(pas_sample_app)
        url = "https://{}/".format(routes[0].strip())
        print(
            "Trying to connect to all of the app-instances using end-point {}".
            format(url))

        for i in range(num_instances):
            for j in range(max_attempts):
                _header = {"X-Cf-App-Instance": "{}:{}".format(appguid, i)}
                resp = requests.get(url, headers=_header)
                print("Instance-index: {}, Attempt: {}, response: {}".format(
                    i, j, resp.status_code))
                if resp.status_code == 200:
                    print(
                        "Connection to index {} was successful in {} attempts".
                        format(i, j + 1))
                    app_instance_connection_results[i] = True
                    break

        if not all(app_instance_connection_results.values()):
            print(
                "Could not reach to all instances of sample-app in {} attempts."
                .format(max_attempts * num_instances))
    except Exception as e:
        print(str(e))

    return all(app_instance_connection_results.values())
Ejemplo n.º 5
0
def test_redis_app():	
    results = {}
    results['read'] = False
    results['write'] = False
    try:
        _ , routes = utils.get_app_routes(redis_sample_app)
        url = "https://{}".format(routes[0].strip())

        print("Writing into redis instance via sample-app endpoint: {}".format(url))
        resp = requests.post("{}/write".format(url), data=json.dumps({"foo":"bar"}))
        results['write'] = (resp.status_code == 201)
        print("status: {}, content: {}\n".format(resp.status_code, resp.content))

        print("Reading from redis instance via sample-app endpoint: {}".format(url))
        resp = requests.get("{}/read/foo".format(url))
        results['read'] = (resp.status_code == 200 and str(json.loads(resp.content)['foo']) == 'bar')
        print("status: {}, content: {}\n".format(resp.status_code, resp.content))
    except Exception as e:
        print(str(e))
    return results
Ejemplo n.º 6
0
def test_mysql_app():
    results = {}
    results['read'] = False
    results['write'] = False
    try:
        _, routes = utils.get_app_routes(mysql_sample_app)
        url = "https://{}/user".format(routes[0].strip())

        print("Writing into mysql instance via sample-app endpoint: {}".format(
            url))
        resp = requests.post(url)
        results['write'] = (resp.status_code == 201)
        print("status: {}, content: {}\n".format(resp.status_code,
                                                 resp.content))

        print("Reading from mysql instance via sample-app endpoint: {}".format(
            url))
        resp = requests.get(url)
        results['read'] = (resp.status_code == 200)
        print("status: {}, content: {}\n".format(resp.status_code,
                                                 resp.content))
    except Exception as e:
        print(str(e))
    return results