From 455a012c5d795ba39e144e079aed6b7c8480ffef Mon Sep 17 00:00:00 2001 From: debugtalk Date: Sat, 28 May 2022 09:52:22 +0800 Subject: [PATCH] change: replace template with config headers --- examples/demo-with-go-plugin/proj.json | 4 +- .../testcases/requests.json | 8 +- .../testcases/requests.yml | 6 +- examples/demo-with-py-plugin/debugtalk_gen.py | 75 +++++++++++++++++++ examples/demo-with-py-plugin/proj.json | 4 +- .../testcases/requests.json | 8 +- .../testcases/requests.yml | 6 +- examples/demo-without-plugin/proj.json | 4 +- examples/empty-demo-without-plugin/.env | 3 + examples/empty-demo-without-plugin/.gitignore | 14 ++++ examples/empty-demo-without-plugin/har/.keep | 0 examples/empty-demo-without-plugin/proj.json | 6 ++ .../testcases/requests.json | 25 +++++++ .../templates/testcases/demo_requests.json | 8 +- .../templates/testcases/demo_requests.yml | 6 +- 15 files changed, 144 insertions(+), 33 deletions(-) create mode 100644 examples/demo-with-py-plugin/debugtalk_gen.py create mode 100644 examples/empty-demo-without-plugin/.env create mode 100644 examples/empty-demo-without-plugin/.gitignore create mode 100644 examples/empty-demo-without-plugin/har/.keep create mode 100644 examples/empty-demo-without-plugin/proj.json create mode 100644 examples/empty-demo-without-plugin/testcases/requests.json diff --git a/examples/demo-with-go-plugin/proj.json b/examples/demo-with-go-plugin/proj.json index 6e7a483a..97b52ffa 100644 --- a/examples/demo-with-go-plugin/proj.json +++ b/examples/demo-with-go-plugin/proj.json @@ -1,6 +1,6 @@ { "project_name": "demo-with-go-plugin", - "project_path": "/Users/xxxxx/go/src/github.com/httprunner/httprunner/examples/demo-with-go-plugin", - "create_time": "2022-05-28T02:00:18.084185+08:00", + "project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-with-go-plugin", + "create_time": "2022-05-28T09:46:47.418012+08:00", "hrp_version": "v4.1.0-beta" } \ No newline at end of file diff --git a/examples/demo-with-go-plugin/testcases/requests.json b/examples/demo-with-go-plugin/testcases/requests.json index 162632b4..a05d5277 100644 --- a/examples/demo-with-go-plugin/testcases/requests.json +++ b/examples/demo-with-go-plugin/testcases/requests.json @@ -7,6 +7,9 @@ "expect_foo1": "config_bar1", "expect_foo2": "config_bar2" }, + "headers": { + "User-Agent": "funplugin/${get_version()}" + }, "base_url": "https://postman-echo.com", "verify": false, "export": [ @@ -28,9 +31,6 @@ "foo1": "$foo1", "foo2": "$foo2", "sum_v": "$sum_v" - }, - "headers": { - "User-Agent": "funplugin/${get_version()}" } }, "extract": { @@ -73,7 +73,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "text/plain" }, "body": "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." @@ -102,7 +101,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "application/x-www-form-urlencoded" }, "body": "foo1=$foo1&foo2=$foo2&foo3=$foo3" diff --git a/examples/demo-with-go-plugin/testcases/requests.yml b/examples/demo-with-go-plugin/testcases/requests.yml index 034dbefb..7fcfbe1e 100644 --- a/examples/demo-with-go-plugin/testcases/requests.yml +++ b/examples/demo-with-go-plugin/testcases/requests.yml @@ -5,6 +5,8 @@ config: foo2: config_bar2 expect_foo1: config_bar1 expect_foo2: config_bar2 + headers: + User-Agent: funplugin/${get_version()} verify: False export: ["foo3"] @@ -22,8 +24,6 @@ teststeps: foo1: $foo1 foo2: $foo2 sum_v: $sum_v - headers: - User-Agent: funplugin/${get_version()} extract: foo3: "body.args.foo2" validate: @@ -40,7 +40,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "text/plain" body: "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." validate: @@ -54,7 +53,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "application/x-www-form-urlencoded" body: "foo1=$foo1&foo2=$foo2&foo3=$foo3" validate: diff --git a/examples/demo-with-py-plugin/debugtalk_gen.py b/examples/demo-with-py-plugin/debugtalk_gen.py new file mode 100644 index 00000000..76adcbdd --- /dev/null +++ b/examples/demo-with-py-plugin/debugtalk_gen.py @@ -0,0 +1,75 @@ +# NOTE: Generated By hrp v4.1.0-beta, DO NOT EDIT! + +import logging +import time +import funppy + +from typing import List + + +def get_version(): + return funppy.__version__ + + +def sleep(n_secs): + time.sleep(n_secs) + + +def sum(*args): + result = 0 + for arg in args: + result += arg + return result + + +def sum_ints(*args: List[int]) -> int: + result = 0 + for arg in args: + result += arg + return result + + +def sum_two_int(a: int, b: int) -> int: + return a + b + + +def sum_two_string(a: str, b: str) -> str: + return a + b + + +def sum_strings(*args: List[str]) -> str: + result = "" + for arg in args: + result += arg + return result + + +def concatenate(*args: List[str]) -> str: + result = "" + for arg in args: + result += str(arg) + return result + + +def setup_hook_example(name): + logging.warning("setup_hook_example") + return f"setup_hook_example: {name}" + + +def teardown_hook_example(name): + logging.warning("teardown_hook_example") + return f"teardown_hook_example: {name}" + + +if __name__ == "__main__": + funppy.register("get_version", get_version) + funppy.register("sleep", sleep) + funppy.register("sum", sum) + funppy.register("sum_ints", sum_ints) + funppy.register("sum_two_int", sum_two_int) + funppy.register("sum_two_string", sum_two_string) + funppy.register("sum_strings", sum_strings) + funppy.register("concatenate", concatenate) + funppy.register("setup_hook_example", setup_hook_example) + funppy.register("teardown_hook_example", teardown_hook_example) + funppy.serve() diff --git a/examples/demo-with-py-plugin/proj.json b/examples/demo-with-py-plugin/proj.json index 9d8cce0e..a00b9247 100644 --- a/examples/demo-with-py-plugin/proj.json +++ b/examples/demo-with-py-plugin/proj.json @@ -1,6 +1,6 @@ { "project_name": "demo-with-py-plugin", - "project_path": "/Users/xxxxx/go/src/github.com/httprunner/httprunner/examples/demo-with-py-plugin", - "create_time": "2022-05-28T02:00:28.517914+08:00", + "project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-with-py-plugin", + "create_time": "2022-05-28T09:46:52.419292+08:00", "hrp_version": "v4.1.0-beta" } \ No newline at end of file diff --git a/examples/demo-with-py-plugin/testcases/requests.json b/examples/demo-with-py-plugin/testcases/requests.json index 162632b4..a05d5277 100644 --- a/examples/demo-with-py-plugin/testcases/requests.json +++ b/examples/demo-with-py-plugin/testcases/requests.json @@ -7,6 +7,9 @@ "expect_foo1": "config_bar1", "expect_foo2": "config_bar2" }, + "headers": { + "User-Agent": "funplugin/${get_version()}" + }, "base_url": "https://postman-echo.com", "verify": false, "export": [ @@ -28,9 +31,6 @@ "foo1": "$foo1", "foo2": "$foo2", "sum_v": "$sum_v" - }, - "headers": { - "User-Agent": "funplugin/${get_version()}" } }, "extract": { @@ -73,7 +73,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "text/plain" }, "body": "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." @@ -102,7 +101,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "application/x-www-form-urlencoded" }, "body": "foo1=$foo1&foo2=$foo2&foo3=$foo3" diff --git a/examples/demo-with-py-plugin/testcases/requests.yml b/examples/demo-with-py-plugin/testcases/requests.yml index 034dbefb..7fcfbe1e 100644 --- a/examples/demo-with-py-plugin/testcases/requests.yml +++ b/examples/demo-with-py-plugin/testcases/requests.yml @@ -5,6 +5,8 @@ config: foo2: config_bar2 expect_foo1: config_bar1 expect_foo2: config_bar2 + headers: + User-Agent: funplugin/${get_version()} verify: False export: ["foo3"] @@ -22,8 +24,6 @@ teststeps: foo1: $foo1 foo2: $foo2 sum_v: $sum_v - headers: - User-Agent: funplugin/${get_version()} extract: foo3: "body.args.foo2" validate: @@ -40,7 +40,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "text/plain" body: "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." validate: @@ -54,7 +53,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "application/x-www-form-urlencoded" body: "foo1=$foo1&foo2=$foo2&foo3=$foo3" validate: diff --git a/examples/demo-without-plugin/proj.json b/examples/demo-without-plugin/proj.json index e622b2a7..489c9964 100644 --- a/examples/demo-without-plugin/proj.json +++ b/examples/demo-without-plugin/proj.json @@ -1,6 +1,6 @@ { "project_name": "demo-without-plugin", - "project_path": "/Users/xxxxx/go/src/github.com/httprunner/httprunner/examples/demo-without-plugin", - "create_time": "2022-05-28T02:00:29.191678+08:00", + "project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-without-plugin", + "create_time": "2022-05-28T09:46:53.671932+08:00", "hrp_version": "v4.1.0-beta" } \ No newline at end of file diff --git a/examples/empty-demo-without-plugin/.env b/examples/empty-demo-without-plugin/.env new file mode 100644 index 00000000..59ecc742 --- /dev/null +++ b/examples/empty-demo-without-plugin/.env @@ -0,0 +1,3 @@ +base_url=https://postman-echo.com +USERNAME=debugtalk +PASSWORD=123456 \ No newline at end of file diff --git a/examples/empty-demo-without-plugin/.gitignore b/examples/empty-demo-without-plugin/.gitignore new file mode 100644 index 00000000..4c8cb60c --- /dev/null +++ b/examples/empty-demo-without-plugin/.gitignore @@ -0,0 +1,14 @@ +reports/ +*.so +.vscode/ +.idea/ +.DS_Store +output/ +__pycache__/ +*.pyc +.python-version +logs/ + +# plugin +debugtalk.bin +debugtalk.so diff --git a/examples/empty-demo-without-plugin/har/.keep b/examples/empty-demo-without-plugin/har/.keep new file mode 100644 index 00000000..e69de29b diff --git a/examples/empty-demo-without-plugin/proj.json b/examples/empty-demo-without-plugin/proj.json new file mode 100644 index 00000000..cd42ca8d --- /dev/null +++ b/examples/empty-demo-without-plugin/proj.json @@ -0,0 +1,6 @@ +{ + "project_name": "empty-demo-without-plugin", + "project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/empty-demo-without-plugin", + "create_time": "2022-05-28T09:46:53.794409+08:00", + "hrp_version": "v4.1.0-beta" +} \ No newline at end of file diff --git a/examples/empty-demo-without-plugin/testcases/requests.json b/examples/empty-demo-without-plugin/testcases/requests.json new file mode 100644 index 00000000..fc76e4aa --- /dev/null +++ b/examples/empty-demo-without-plugin/testcases/requests.json @@ -0,0 +1,25 @@ +{ + "config": { + "name": "request methods testcase: empty testcase", + "variables": null, + "verify": false + }, + "teststeps": [ + { + "name": "", + "variables": null, + "request": { + "method": "GET", + "url": "https://" + }, + "validate": [ + { + "check": "status_code", + "assert": "equal", + "expect": 200, + "msg": "check status_code" + } + ] + } + ] +} \ No newline at end of file diff --git a/hrp/internal/scaffold/templates/testcases/demo_requests.json b/hrp/internal/scaffold/templates/testcases/demo_requests.json index 162632b4..a05d5277 100644 --- a/hrp/internal/scaffold/templates/testcases/demo_requests.json +++ b/hrp/internal/scaffold/templates/testcases/demo_requests.json @@ -7,6 +7,9 @@ "expect_foo1": "config_bar1", "expect_foo2": "config_bar2" }, + "headers": { + "User-Agent": "funplugin/${get_version()}" + }, "base_url": "https://postman-echo.com", "verify": false, "export": [ @@ -28,9 +31,6 @@ "foo1": "$foo1", "foo2": "$foo2", "sum_v": "$sum_v" - }, - "headers": { - "User-Agent": "funplugin/${get_version()}" } }, "extract": { @@ -73,7 +73,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "text/plain" }, "body": "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." @@ -102,7 +101,6 @@ "method": "POST", "url": "/post", "headers": { - "User-Agent": "funplugin/${get_version()}", "Content-Type": "application/x-www-form-urlencoded" }, "body": "foo1=$foo1&foo2=$foo2&foo3=$foo3" diff --git a/hrp/internal/scaffold/templates/testcases/demo_requests.yml b/hrp/internal/scaffold/templates/testcases/demo_requests.yml index 034dbefb..7fcfbe1e 100644 --- a/hrp/internal/scaffold/templates/testcases/demo_requests.yml +++ b/hrp/internal/scaffold/templates/testcases/demo_requests.yml @@ -5,6 +5,8 @@ config: foo2: config_bar2 expect_foo1: config_bar1 expect_foo2: config_bar2 + headers: + User-Agent: funplugin/${get_version()} verify: False export: ["foo3"] @@ -22,8 +24,6 @@ teststeps: foo1: $foo1 foo2: $foo2 sum_v: $sum_v - headers: - User-Agent: funplugin/${get_version()} extract: foo3: "body.args.foo2" validate: @@ -40,7 +40,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "text/plain" body: "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3." validate: @@ -54,7 +53,6 @@ teststeps: method: POST url: $base_url/post headers: - User-Agent: funplugin/${get_version()} Content-Type: "application/x-www-form-urlencoded" body: "foo1=$foo1&foo2=$foo2&foo3=$foo3" validate: