57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/python3
 | 
						|
 | 
						|
import http.client
 | 
						|
import os
 | 
						|
import json
 | 
						|
import subprocess
 | 
						|
import threading
 | 
						|
 | 
						|
# Needs to be declared here to allow Python 3 modules to be used
 | 
						|
def prepare_test(testname = "replication"):
 | 
						|
    subprocess.call(os.getcwd() + "/non_native_setup " + str(testname), shell=True)
 | 
						|
 | 
						|
prepare_test("maxinfo.py")
 | 
						|
 | 
						|
# Test all Maxinfo HTTP entry points
 | 
						|
entry_points = ["/services",
 | 
						|
		"/listeners",
 | 
						|
		"/modules",
 | 
						|
		"/monitors",
 | 
						|
		"/sessions",
 | 
						|
		"/clients",
 | 
						|
		"/servers",
 | 
						|
		"/variables",
 | 
						|
		"/status",
 | 
						|
		"/event/times"]
 | 
						|
 | 
						|
decoder = json.JSONDecoder()
 | 
						|
 | 
						|
def test_thr(thrnum):
 | 
						|
    for r in range(0,10):
 | 
						|
        for i in entry_points:
 | 
						|
            data = ""
 | 
						|
            try:
 | 
						|
                conn = http.client.HTTPConnection(os.getenv("maxscale_network"), 8080)
 | 
						|
                conn.request("GET", i)
 | 
						|
                req = conn.getresponse()
 | 
						|
                data = req.read().decode('ascii')
 | 
						|
                json.loads(data)
 | 
						|
            except Exception as ex:
 | 
						|
                print("Thread", thrnum, "Exception (", ex, "):", data)
 | 
						|
                exit(1)
 | 
						|
 | 
						|
thr = []
 | 
						|
 | 
						|
for i in range(0, 10):
 | 
						|
    thr.append(threading.Thread(target=test_thr, args=(i,)))
 | 
						|
 | 
						|
print("Created", len(thr), "threads")
 | 
						|
 | 
						|
for i in thr:
 | 
						|
    i.start()
 | 
						|
 | 
						|
print("Started threads")
 | 
						|
 | 
						|
for i in thr:
 | 
						|
    i.join()
 |