পরীক্ষার অনুরোধ। পরীক্ষা - http অনুরোধ পরীক্ষা করা



HTTP টেস্টিং সার্ভার GET/POST অনুরোধ গ্রহণ করছে (9)

ওয়েবহুক টেস্টার একটি দুর্দান্ত টুল: https://webhook.site (GitHub)

আমার কাছে যা গুরুত্বপূর্ণ তা হল এটি অনুরোধকারীর আইপি ঠিকানা দেখায়, যেটি উপযোগী হয় যখন আপনাকে একটি আইপি ঠিকানাকে সাদা তালিকাভুক্ত করতে হবে কিন্তু এটি কী তা নিশ্চিত না।

আমার একটি লাইভ টেস্ট সার্ভার দরকার যা HTTP GET এর মাধ্যমে মৌলিক তথ্যের জন্য আমার অনুরোধগুলি গ্রহণ করে এবং আমাকে পোস্ট করার অনুমতি দেয় (যদিও এটি সত্যিই কিছু করে না)। এটি সম্পূর্ণরূপে পরীক্ষার জন্য।

Curl --request POST \ --url https://postman-echo.com/post \ --data "এটি প্রতিক্রিয়া বডির অংশ হিসাবে ফেরত পাঠানো হবে বলে আশা করা হচ্ছে।"

("args":(),"data":"","files":(),"form":("এটি রেসপন্স বডির অংশ হিসেবে ফেরত পাঠানো হবে বলে আশা করা হচ্ছে।":""),"হেডার" :("host":"postman-echo.com","content-length":"58","স্বীকার করুন":"*/*","content-type":"application/x-www-form-urlencoded ","user-agent":"curl/7.54.0","x-forwarded-port":"443","x-forwarded-proto":"https"),"json":("...

এই ইচ্ছা পাওয়া যায় না। নিম্নলিখিত উপলব্ধ ইচ্ছাগুলি রয়েছে: ["অ্যাপ্লিকেশন", "আর্গস", "অথোরাইজেশন", "ব্লুপ্রিন্ট", "চারসেট", "ক্লোজ", "কুকিজ", "ডেটা", "ডেট", "এন্ডপয়েন্ট", "এনভায়রন" "" , """""""""""""""""""""""""""""""""""""""""""""" "" """"""""""""""""""""""" "স্কিম", "অপ্রধান", "প্রবাহ", "url", "মান"]

("wsgi.multiprocess": মিথ্যা, "HTTP_COOKIE": "csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq", "SERVER_SOFTWARE": "Werkzeug / 0.12.2", "SCRITHFOOD_NAME", "SCRITHFOOD_NAME": ""THFOOD_NAME": " "/method/environ", "SERVER_PROTOCOL": "HTTP/1.1", "QUERY_STRING": "", "werkzeug.server.shutdown":, "HTTP_USER_AGENT": "Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit /537.36 (KHTML, যেমন Gecko) Chrome / 54.0.2840.71 Safari /537.36","HTTP_CONNECTION":"কিপ-লাইভ","SERVER_NAME":"127.0.0.1","REMOTE_PORT":49569"urschews:" " http "," SERVER_PORT ":" 5000 "," werkzeug.request ":," wsgi.input ":," HTTP_HOST ":" 127.0.0.1:5000 "," wsgi.multithread ": মিথ্যা," HTTP_UPGRADE_INSECURE_REQUESTS " : " 1 "," HTTP_ACCEPT " :" পাঠ্য / html, অ্যাপ্লিকেশন / xhtml + xml, অ্যাপ্লিকেশন / xml; q = 0.9, চিত্র / ওয়েবপি, / ; q = 0.8 "," wsgi.version ": (1, 0), "wsgi.run_once": False," wsgi.errors ":", মোড "w" 0x0000000002042150> এ, "REMOTE_ADDR": "127.0.0.1" , "HTTP_ACCEPT_LANGUAGE": "en-US, en; q = 0.8", "HTTP_ACCEPT_ENCODING": "gzip, deflate, sdch, br")

স্থানীয় পরীক্ষার সার্ভার এনসি ওয়ান-লাইনার

লিনাক্সের অধীনে এক লাইনে একটি স্থানীয় পরীক্ষা সার্ভার সেট আপ করুন:

যদিও সত্য; কি printf "" | nc -l localhost 8000; সম্পন্ন

অন্য শেলের নমুনা অনুরোধ নির্মাতা:

Wget http://localhost:8000

তারপর প্রথম শেলে আপনি অনুরোধটি উপস্থিত দেখতে পাবেন:

GET/HTTP/1.1 ব্যবহারকারী-এজেন্ট: Wget/1.19.4 (linux-gnu) Accept: */* Accept-Encoding: identity Host: localhost:8000 সংযোগ: Keep-Alive

nc ব্যাপকভাবে উপলব্ধ এবং উবুন্টুতে প্রি-ইনস্টল করা আছে।

উবুন্টু 18.04 এ পরীক্ষা করা হয়েছে।

আমার কাছে যা গুরুত্বপূর্ণ তা হল এটি অনুরোধকারীর আইপি ঠিকানা দেখায়, যেটি উপযোগী হয় যখন আপনাকে একটি আইপি ঠিকানাকে সাদা তালিকাভুক্ত করতে হবে কিন্তু এটি কী তা নিশ্চিত না।

আমার একটি লাইভ টেস্ট সার্ভার দরকার যা HTTP GET এর মাধ্যমে মৌলিক তথ্যের জন্য আমার অনুরোধগুলি গ্রহণ করে এবং আমাকে পোস্ট করার অনুমতি দেয় (যদিও এটি সত্যিই কিছু করে না)। এটি সম্পূর্ণরূপে পরীক্ষার জন্য।

Curl --request POST \ --url https://postman-echo.com/post \ --data "এটি প্রতিক্রিয়া বডির অংশ হিসাবে ফেরত পাঠানো হবে বলে আশা করা হচ্ছে।"

("args":(),"data":"","files":(),"form":("এটি রেসপন্স বডির অংশ হিসেবে ফেরত পাঠানো হবে বলে আশা করা হচ্ছে।":""),"হেডার" :("host":"postman-echo.com","content-length":"58","স্বীকার করুন":"*/*","content-type":"application/x-www-form-urlencoded ","user-agent":"curl/7.54.0","x-forwarded-port":"443","x-forwarded-proto":"https"),"json":("...

এই ইচ্ছা পাওয়া যায় না। নিম্নলিখিত উপলব্ধ ইচ্ছাগুলি রয়েছে: ["অ্যাপ্লিকেশন", "আর্গস", "অথোরাইজেশন", "ব্লুপ্রিন্ট", "চারসেট", "ক্লোজ", "কুকিজ", "ডেটা", "ডেট", "এন্ডপয়েন্ট", "এনভায়রন" "" , """""""""""""""""""""""""""""""""""""""""""""" "" """"""""""""""""""""""" "স্কিম", "অপ্রধান", "প্রবাহ", "url", "মান"]

("wsgi.multiprocess": মিথ্যা, "HTTP_COOKIE": "csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq", "SERVER_SOFTWARE": "Werkzeug / 0.12.2", "SCRITHFOOD_NAME", "SCRITHFOOD_NAME": ""THFOOD_NAME": " "/method/environ", "SERVER_PROTOCOL": "HTTP/1.1", "QUERY_STRING": "", "werkzeug.server.shutdown":, "HTTP_USER_AGENT": "Mozilla/5.0 (Windows NT 6.1, WOW64) AppleWebKit /537.36 (KHTML, যেমন Gecko) Chrome / 54.0.2840.71 Safari /537.36","HTTP_CONNECTION":"কিপ-লাইভ","SERVER_NAME":"127.0.0.1","REMOTE_PORT":49569"urschews:" " http "," SERVER_PORT ":" 5000 "," werkzeug.request ":," wsgi.input ":," HTTP_HOST ":" 127.0.0.1:5000 "," wsgi.multithread ": মিথ্যা," HTTP_UPGRADE_INSECURE_REQUESTS " : " 1 "," HTTP_ACCEPT " :" পাঠ্য / html, অ্যাপ্লিকেশন / xhtml + xml, অ্যাপ্লিকেশন / xml; q = 0.9, চিত্র / ওয়েবপি, / ; q = 0.8 "," wsgi.version ": (1, 0), "wsgi.run_once": False," wsgi.errors ":", মোড "w" 0x0000000002042150> এ, "REMOTE_ADDR": "127.0.0.1" , "HTTP_ACCEPT_LANGUAGE": "en-US, en; q = 0.8", "HTTP_ACCEPT_ENCODING": "gzip, deflate, sdch, br")

স্থানীয় পরীক্ষার সার্ভার এনসি ওয়ান-লাইনার

লিনাক্সের অধীনে এক লাইনে একটি স্থানীয় পরীক্ষা সার্ভার সেট আপ করুন:

যদিও সত্য; কি printf "" | nc -l localhost 8000; সম্পন্ন

অন্য শেলের নমুনা অনুরোধ নির্মাতা:

Wget http://localhost:8000

তারপর প্রথম শেলে আপনি অনুরোধটি উপস্থিত দেখতে পাবেন:

GET/HTTP/1.1 ব্যবহারকারী-এজেন্ট: Wget/1.19.4 (linux-gnu) Accept: */* Accept-Encoding: identity Host: localhost:8000 সংযোগ: Keep-Alive

nc ব্যাপকভাবে উপলব্ধ এবং উবুন্টুতে প্রি-ইনস্টল করা আছে।

উবুন্টু 18.04 এ পরীক্ষা করা হয়েছে।

কর্মক্ষমতা পরিমাপের জন্য, তিনটি প্রশ্ন ব্যবহার করা হয়েছিল, তিনটি সবচেয়ে সাধারণ সমস্যাযুক্ত গণনার প্রতিনিধিত্ব করে। নিচে ডকট্রিনে ব্যবহৃত ডিকিউএল ভাষায় এই প্রশ্নগুলি রয়েছে। DQL আপনাকে একটি WHERE-এর মধ্যে একটি জয়েন অপারেশনের মাপকাঠিগুলি অন্তর্নিহিতভাবে বর্ণনা করতে দেয়৷ মতবাদ একটি প্রস্তুত বিবৃতি হিসাবে সমস্ত প্রশ্ন প্রক্রিয়া করে, অর্থাৎ, অনুরূপ DQL এবং SQL পার্সিং বারবার ঘটবে না।

পরীক্ষার রেজিস্ট্রেশন কাউন্ট

আয়োজক থেকে নিবন্ধন সংখ্যা গণনা সহজতম অনুরোধ. শুধুমাত্র একটি যোগদান আছে, সূচী দিয়ে আচ্ছাদিত.

নিবন্ধন থেকে গণনা (r.id) নির্বাচন করুন r, r.Event এবং WHERE e.organization_id = ?;

পরীক্ষা আয়

সংগঠকের আয়ের হিসাব হল দর্শকদের দেওয়া সমস্ত পরিমাণের সমষ্টি। প্রায় একই জিনিস, কিন্তু আপনাকে আর সারিগুলি গণনা করতে হবে না, তবে সেগুলি যোগ করুন।

নিবন্ধন থেকে যোগফল(r.sum) নির্বাচন করুন r, r.Event এবং WHERE e.organization_id = ?;

testRegCountByPartner

একটি নির্দিষ্ট অংশীদার দ্বারা আকৃষ্ট সংগঠক নিবন্ধন গণনা. দুটি যোগদান সহ আরও জটিল প্রশ্ন। এটি স্ট্যাটমেট্রিকের জন্য বর্ধিত জটিলতাও উপস্থাপন করে, কারণ এটি একটি "ডাবল স্লাইস" ব্যবহার করে।

নিবন্ধন থেকে গণনা (r.id) নির্বাচন করুন r, r.Event e, r.Campaign c কোথায় e.organization_id = ? এবং c.partner_id =?;

বিষয়ে প্রকাশনা